View Single Post
Old 04-15-07, 04:41 AM   #1
Registered User
Join Date: Apr 2007
Location: Simi Valley, CA
Posts: 45
Send a message via AIM to Nephyrin Send a message via MSN to Nephyrin Send a message via Skype™ to Nephyrin
Default Nvidia Linux Driver + 8800GTX + 4gigs of ram = No write combining

So I set up this box with Gentoo Linux, 4gigs ram, EVGA 8800GTX, ECS PX1 p965 chipset mobo, E6700 Core 2 cpu.

After setting up nVidia 9755 drivers on Xorg with XFCE4/beryl, I noticed a high amount of jerkiness with moving windows around. After considerable googling, I found this:
If you are having troubles with the nVidia 2D acceleration it is likely that you are unable to set up a write-combining range with MTRR. To verify, check the contents of /proc/mtrr

Every line should contain "write-back" or "write-combining". If you see a line with "uncachable" in it you will need to change a BIOS setting to fix this.

Reboot and enter the BIOS, then find the MTRR settings (probably under "CPU Settings"). Change the setting from "continuous" to "discrete" and boot back into Linux. You will now find out that there is no "uncachable" entry anymore and 2D acceleration now works without any glitches.
And, sure enough:
nephyrin@NephGent ~ $ cat /proc/mtrr
reg00: base=0x100000000 (4096MB), size= 512MB: write-back, count=1
reg01: base=0x120000000 (4608MB), size= 256MB: write-back, count=1
reg02: base=0x00000000 (   0MB), size=2048MB: write-back, count=1
reg03: base=0x80000000 (2048MB), size=1024MB: write-back, count=1
reg04: base=0xc0000000 (3072MB), size= 256MB: write-back, count=1
reg05: base=0xcff00000 (3327MB), size=   1MB: uncachable, count=1
Hence, no 2D acceleration. My bios, however, does not have the option described (and no hidden alt-f1 menus). I have tried several different kernel configurations with settings related to MTRR to no avail. I tried building a 2.6.20 kernel for the hell of it (it has a lot of MTRR-related changes), same problem.

So my question is, what now? There's a newer bios available from, but its changelog mentions nothing about new mtrr-related settings and I don't particularly want to risk bricking my motherboard if its not likely to help. I've found mention of using a early-in-the-boot-process shell script to rewrite the MTRR table, but have no idea what a proper one should look like for my system.

Any help at all would be greatly appriciated. I've attached my bug report file just because.

Thanks for your time,
- Neph
Attached Files
File Type: gz nvidia-bug-report.log.gz (24.7 KB, 216 views)
Nephyrin is offline   Reply With Quote