WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Intel Kernel Xorg MTRR Bug Fix  (Read 5607 times)

Online Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 12284
Intel Kernel Xorg MTRR Bug Fix
« on: October 29, 2009, 06:45:16 AM »
Ref: http://blog.nachtarbeiter.net/tag/mtrr/

Quote
It turns out that there is a bug affecting the Intel stack (in this case Intel stack means not necessarily an Intel graphics card, but Intel processor). The bug is a miscommunication between X.org and the Kernel, which results in a misconfiguration of the Memory Type Range Registers (MTRR) in the Kernel. The result is poor performance in video playback and everything that involves graphics in general. This bug has been fixed upstream...

On a dell d430 with an intel 945 graphics chipset, I get this:
Code: [Select]
$ dmesg | grep mtrr

mtrr: no MTRR for d0000000,10000000 found

Using the script here http://launchpadlibrarian.net/26193373/fixmtrr.sh, which requires the libpci and pci-utils extensions, results in this:
Code: [Select]
$ sudo fixmtrr.sh

Extracing base address and memory size from lspci -v
d0000000
10000000

Supplying corrected MTRR ranges to /proc/mtrr
success
reg00: base=0x000000000 (    0MB), size= 2048MB, count=1: write-back
reg01: base=0x07f800000 ( 2040MB), size=    8MB, count=1: uncachable
reg02: base=0x07f700000 ( 2039MB), size=    1MB, count=1: uncachable
reg03: base=0x0d0000000 ( 3328MB), size=  256MB, count=1: write-combining

I never do anything graphics intensive (in fact I use Xvesa most of the time), so I can't really say if this bug fix helps.

As a final tip, I noticed that the xorg intel driver uses "exa" acceleration by default and it seems "uxa" is faster/newer (I've no idea what exa or uxa mean) and can be enabled by something like this in xorg.conf:
Code: [Select]
Section "Device"
Identifier  "Card0"
Driver      "intel"
VendorName  "Intel Corporation"
BoardName   "Integrated Graphics Chipset: Intel(R) 945GM"
BusID       "PCI:0:2:0"
Option "AccelMethod" "uxa"
EndSection