Go Back   nV News Forums > Linux Support Forums > NVIDIA Linux

Newegg Daily Deals

Reply
 
Thread Tools
Old 04-15-07, 04:41 AM   #1
Nephyrin
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: http://gentoo-wiki.com/HOWTO_nVidia_...or_more_memory
Quote:
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:
Code:
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 www.ecs.com.tw, 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, 224 views)
Nephyrin is offline   Reply With Quote
Old 04-15-07, 09:09 AM   #2
piotrq__
Registered User
 
Join Date: Jan 2006
Posts: 193
Default Re: Nvidia Linux Driver + 8800GTX + 4gigs of ram = No write combining

Take a look here:
http://www.mplayerhq.hu/DOCS/HTML/en/mtrr.html
Maybe this will help you set proper MTRR ranges.

You can also try this driver and see if MTRRs are OK with it. http://www.nvnews.net/vbulletin/showthread.php?t=88281
piotrq__ is offline   Reply With Quote
Old 04-15-07, 02:30 PM   #3
chunkey
#!/?*
 
Join Date: Oct 2004
Posts: 662
Default Re: Nvidia Linux Driver + 8800GTX + 4gigs of ram = No write combining

Quote:
Originally Posted by Nephyrin
Code:
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
...

01:00.0 VGA compatible controller: nVidia Corporation Unknown device 0191 (rev a2) (prog-if 00 [VGA])
Subsystem: eVga.com. Corp. Unknown device c831
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at fa000000 (32-bit, non-prefetchable) [size=16M]
>>> Memory at d0000000 (64-bit, prefetchable) [size=256M]<<<
Memory at f8000000 (64-bit, non-prefetchable) [size=32M]
??? Your card's memory is @ 0xd0000000

Anyway, MTRR is replaced by the Page Attribute Table (PAT) Extension (which is "on" by default).

Can you post a "glxinfo" infos and a "glxgears -printfps" benchmark next time?
(did you use the ebuilds? or the NVIDIA...*installer.run? )
chunkey is offline   Reply With Quote
Old 04-16-07, 03:47 AM   #4
Nephyrin
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 Re: Nvidia Linux Driver + 8800GTX + 4gigs of ram = No write combining

Firstly, thank you all for your responses. I'm still trying to get this problem sorted out. I've tried manually rewriting my MTRR to no avail: The simplist change to the table causes my machine to go into a deep lag from which I cannot recover, and I can't find nearly enough documentation on the MTRR to figure out what mine really should be.

As pointed out, my video memory claims to start at 0xd0000000, then device memory at 0xf8000000, up until 0x100000000... but 0x100000000 is at 4096, the end of my system memory. Shouldn't my video ram be outside of my system memory? And why is my default MTRR table so far off from everything I can find on how the MTRR should look?

As for PAT, I cannot figure a way to determine if mine is enabled/functioning correctly, but I certainly don't have any sort of 2D acceleration.

I installed from an ebuild, but the gentoo ebuilds just download and auto-execute the latest .run file. I can try doing it manually if you believe it would help however

- Neph
Nephyrin is offline   Reply With Quote
Old 04-16-07, 04:21 AM   #5
Nephyrin
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 Re: Nvidia Linux Driver + 8800GTX + 4gigs of ram = No write combining

Updates:
Code:
nephyrin@NephGent ~ $ glxgears      
67222 frames in 5.0 seconds = 13444.333 FPS
86102 frames in 5.0 seconds = 17220.393 FPS
88821 frames in 5.0 seconds = 17764.037 FPS
88737 frames in 5.0 seconds = 17747.383 FPS
88687 frames in 5.0 seconds = 17737.396 FPS
88847 frames in 5.0 seconds = 17769.268 FPS
88822 frames in 5.0 seconds = 17764.322 FPS
88792 frames in 5.0 seconds = 17758.369 FPS
88860 frames in 5.0 seconds = 17771.932 FPS
88738 frames in 5.0 seconds = 17747.525 FPS
88837 frames in 5.0 seconds = 17767.289 FPS
88673 frames in 5.0 seconds = 17734.445 FPS
A glxinfo is attached. I've also attached my kernel config just because.

My video card has 768megs vram, why does lspci -v only show 256? It seems like a deeper issue than just the MTRR table really. Any insight/suggestions/ideas would be appriciated.
Attached Files
File Type: gz glxinfo.gz (2.0 KB, 128 views)
File Type: gz config.gz (8.5 KB, 123 views)
Nephyrin is offline   Reply With Quote
Old 04-16-07, 06:51 AM   #6
chunkey
#!/?*
 
Join Date: Oct 2004
Posts: 662
Default Re: Nvidia Linux Driver + 8800GTX + 4gigs of ram = No write combining

Quote:
Originally Posted by Nephyrin
Updates:
Code:
67222 frames in 5.0 seconds = 13444.333 FPS
86102 frames in 5.0 seconds = 17220.393 FPS
88821 frames in 5.0 seconds = 17764.037 FPS
88737 frames in 5.0 seconds = 17747.383 FPS
88687 frames in 5.0 seconds = 17737.396 FPS
My video card has 768megs vram, why does lspci -v only show 256?
It seems like a deeper issue than just the MTRR table really. Any insight/suggestions/ideas would be appriciated.
the NVIDIA driver will loudly complain if it can't use PAT..
e.g it puts a message in /proc/driver/nvidia/warnings/
(But I have no idea, why it's only 256Mb... Bios screwup???
And I don't think that 8800 GTX has TURBOCACHE )

the glxgears numbers are ok and glxinfo looks good too!
(if you can get a decent fps in doom3/ut2004/quake4
(check the demos), then write combining is ON!)

What if you:
- disable antialiased fonts
- use a simple theme
- kill compiz/beryl?
chunkey is offline   Reply With Quote
Old 04-16-07, 01:07 PM   #7
zander
NVIDIA Corporation
 
zander's Avatar
 
Join Date: Aug 2002
Posts: 3,740
Default Re: Nvidia Linux Driver + 8800GTX + 4gigs of ram = No write combining

To help clarify: only 256MB of the 768MB are mapped through BAR1, so what you're seeing is expected; also, like chunkey said, the NVIDIA Linux graphics driver relies on the PAT and per-page PAT indices to specify memory types, if possible. It prints an error messages when PAT support is unavailable for some reason.
zander is offline   Reply With Quote
Old 04-18-07, 12:46 AM   #8
Nephyrin
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 Re: Nvidia Linux Driver + 8800GTX + 4gigs of ram = No write combining

Disabling Beryl doesn't really help with the pixmap lag, simpler themes/windows do slightly but the combined effect of it still makes X too painful to use. I've still not been able to get any sort of MTRR table besides the initial (painfully wrong seeming) one to work (any minor change causes an eternity of lag).

As for the 256megs of video ram, does that mean that only that 256 meg chunk needs to be MTRR mapped? I'm still hoping I can somehow figure out what's wrong with my MTRR table and manually correct it. Making write-back chunks up to 0xD0000000 then 256 megs of write-combining leaves a hole before 0xF800000 where my system devices are, and even if I map the 0xF8000000 range it begins to lag sinfully.

Again, any insights/suggestions would be greatly appreciated!

- Neph
Nephyrin is offline   Reply With Quote

Old 04-18-07, 01:00 PM   #9
zander
NVIDIA Corporation
 
zander's Avatar
 
Join Date: Aug 2002
Posts: 3,740
Default Re: Nvidia Linux Driver + 8800GTX + 4gigs of ram = No write combining

You don't need to tweak the MTRR configuration, the NVIDIA Linux graphics driver will ensure that the correct memory types are used when it creates CPU mappings of video memory. Have you tried setting the InitialPixmapPlacement NV-CONTROL property to "2"?
zander is offline   Reply With Quote
Old 10-17-07, 04:18 AM   #10
Leon.Liao
Registered User
 
Join Date: Oct 2007
Posts: 1
Default Re: Nvidia Linux Driver + 8800GTX + 4gigs of ram = No write combining

Quote:
Originally Posted by zander
You don't need to tweak the MTRR configuration, the NVIDIA Linux graphics driver will ensure that the correct memory types are used when it creates CPU mappings of video memory. Have you tried setting the InitialPixmapPlacement NV-CONTROL property to "2"?

How can I know the graphics driver have modified my MTRR configuration?
The MTRR configuration is the same.
Or, can I get MTRR information from somewhere?
Leon.Liao is offline   Reply With Quote
Old 10-17-07, 07:37 AM   #11
ThermalGrease
Registered User
 
Join Date: Apr 2007
Posts: 16
Default Re: Nvidia Linux Driver + 8800GTX + 4gigs of ram = No write combining

Quote:
Originally Posted by Nephyrin
Updates:
Code:
nephyrin@NephGent ~ $ glxgears      
67222 frames in 5.0 seconds = 13444.333 FPS
86102 frames in 5.0 seconds = 17220.393 FPS
88821 frames in 5.0 seconds = 17764.037 FPS
88737 frames in 5.0 seconds = 17747.383 FPS
88687 frames in 5.0 seconds = 17737.396 FPS
88847 frames in 5.0 seconds = 17769.268 FPS
88822 frames in 5.0 seconds = 17764.322 FPS
88792 frames in 5.0 seconds = 17758.369 FPS
88860 frames in 5.0 seconds = 17771.932 FPS
88738 frames in 5.0 seconds = 17747.525 FPS
88837 frames in 5.0 seconds = 17767.289 FPS
88673 frames in 5.0 seconds = 17734.445 FPS
A glxinfo is attached. I've also attached my kernel config just because.

My video card has 768megs vram, why does lspci -v only show 256? It seems like a deeper issue than just the MTRR table really. Any insight/suggestions/ideas would be appriciated.
huhu

8800GTX, e6700@3000MHz, 2 GB ram, openSUSE 10.3_x86_64, same driver as u...
This is no help to you but I posted it anyway...

Code:
xxxx@kontoret:~> glxgears
149388 frames in 5.0 seconds = 29877.486 FPS
149712 frames in 5.0 seconds = 29942.346 FPS
149626 frames in 5.0 seconds = 29925.172 FPS
149523 frames in 5.0 seconds = 29904.438 FPS
149562 frames in 5.0 seconds = 29912.363 FPS
149575 frames in 5.0 seconds = 29914.912 FPS
149726 frames in 5.0 seconds = 29945.152 FPS
149571 frames in 5.0 seconds = 29914.014 FPS
ThermalGrease is offline   Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


Similar Threads
Thread Thread Starter Forum Replies Last Post
Need Help Installing NVIDIA Tesla M2070Q in Linux RHEL5 Ferianto85 NVIDIA Linux 0 05-18-12 08:35 PM
GTX 460M, Xorg 1.12, nvidia driver 295.49, linux 3.3.5-1-ARCH and NVRM Xid 44 elsifaka NVIDIA Linux 0 05-14-12 08:48 AM
nVidia Linux drivers with Linux on Mac, help? Thetargos NVIDIA Linux 0 05-13-12 12:52 PM
302.07 (beta) for Linux x86/x86_64 released AaronP NVIDIA Linux 0 05-02-12 09:55 AM
Getting the proprietary nvidia driver to run with Debian 3.0 r0 (woody) Katchina404 NVIDIA Linux 9 01-12-03 08:49 AM

All times are GMT -5. The time now is 10:30 PM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.