PDA

View Full Version : NVIDIA peformance bug/VTERM switch on Compiz 0.4.x


delphinen
March 10th, 2007, 07:43 PM
HISTORY:
This has been a long problem that NVIDIA never fixed, and while they keep releasing new drivers, most of the changes they introduce is support for new hardware, while everyone its still suffering this serious bug that should have been fixed a year ago.

DESCRIPTION OF THE BUG:
intermittent performance problems such as hickups, the problem is easily reproducible moving the cursor while opening programs such as Firefox or Evolution.

IS THIS REALLY ANNOYING?:
It is.

THE SOLUTION:
Until Compiz 0.3.4 this bug was fixed setting the __GL_YIELD environment variable to "NOTHING" in Compiz environment.

THE PROBLEM:
Since Compiz 0.3.6 setting the __GL_YIELD environment variable to "NOTHING" is not enough, but launching Compiz WITHOUT "--unredirect-rendering" is also needed to fix this. Whats the problem with this? using direct-rendering triggers the NVIDIA vterm switching bug, that makes the screen keep black. If one clicks at the black screen, a hard reboot is needed; the only solution is to kill X.

COMPIZ 0.4.x:
I hope someone fix this before Compiz 0.4.x is out, and make it work at least as it worked in Compiz 0.3.4.

Thanks in advance.

mikedee
March 10th, 2007, 07:59 PM
Are you using AGP? If so, have you tried changing the NvAGP option mentioned here?

http://us.download.nvidia.com/XFree86/Linux-x86/1.0-9746/README/appendix-f.html

If you are using AMD then you might also want to try the nopentium fix suggested later on in the page.

I have noticed that using indirect-rendering causes a few other problems with nvidia (alpha blur does not work) so I do not use it.

I havent tried any of the AGP fixes, but you may want to experiment.

delphinen
March 10th, 2007, 08:29 PM
Thanks for your reply. Neither the nopentium boot parameter or the change of AGP driver worked. The machine is an ASUS A7V8X-X motherboard with an Athlon XP 2000+ processor and a Geforce FX 6600 LE.

Wouldnt be a better solution to make Compiz 0.3.6 behave as Compiz 0.3.4 did on this problem? dont you have any idea what changed that made the redirect-rendering option ignore the __GL_YIELD variable?
I wouldnt mind using redirect-rendering if I could switch VTERMs :P

delphinen
March 11th, 2007, 10:08 PM
I can asure you that in my computer Compiz works better using indirect rendering. I have tried this in Arch, Ubuntu and Gentoo. I dont know, maybe its my xorg configuration?

Anyway, I reported the bug to the Compiz mailing list, but got few responses :(

One guy replied :

if you use indirect rendering on nvidia the _GL_YIELD env variable will
gets ignored and the system will be almost unuseable under high load.

and thats exactly the opposite of Compiz behaviour in my machine... im really lost here

Gusar
March 13th, 2007, 09:39 PM
Try running compiz with "compiz --loose-binding". Without this I get poor performance from compiz (jerky window wobblying and such).

I'm not sure when, but the default for the binding option was changed at some point, it could very well be that this is the cause for the behavior you see.[/code]

delphinen
March 15th, 2007, 08:50 PM
Try running compiz with "compiz --loose-binding". Without this I get poor performance from compiz (jerky window wobblying and such).

I'm not sure when, but the default for the binding option was changed at some point, it could very well be that this is the cause for the behavior you see.[/code]

I still experience the performance hickups with indirect rendering, but it seems to run better with this "--loose-binding" option, what does it do?