I've been trying to track down the cause of this problem for ages, and I think 
the comment from another user at bug #270377 has just helped me find it. 

Apparently the redraw problems described here and in the other bug
reports are caused by a race condition, that can occur with compiz in
combination with nvidia driver versions above 177.76. According to
nvidia developers at the nvnews forums: "[the cause of the problem] is a
race condition between the X server and compiz that's the result of a
fundamental design problem in the way the Damage extension works." and
"[fixing it] will require more changes to the Damage and GLX extensions,
the X server, Compiz, and the NVIDIA X driver."

Because it is apparently caused by a design problem, it will probably
take some time before the problem is fixed. The only real way to ensure
it doesn't happen at the moment is not to use compiz. But on some
systems it helps to change settings that affect the timing of pixmap
uploads to the GPU. That's why it may help to disable the compiz
"--loose-binding" option, or to play with the powermizer settings.

The fact that the occurrence of race-conditions may be affected by
timing also explains the fact that everyone seems to experience this bug
(and its many duplicates) differently, depending on hardware-
configuration, which programs are running, the number of open windows,
X.org and driver settings, etc.

For me, restarting compiz without loose binding immediately solved the
refresh problems, albeit at the cost of compiz rendering performance. I
just had a look at the wrapper script that launches compiz in Ubuntu. It
enables --loose-binding on nvidia hardware (which in turn works around a
performance issue with texture binding on nVidia cards), but it only
seems to do this when indirect rendering is disabled (the default
setting). So in theory this should disable --loose-binding without
having to edit the wrapper script or (re)start compiz by hand every
time:

mkdir -p ~/.config/compiz; echo INDIRECT=0 >> ~/.config/compiz/compiz-
manager

It just adds "INDIRECT=0" to the configuration file ~/.config/compiz
/compiz-manager, to force indirect rendering. This will of course
degrade performance (e.g. with desktop cube) and will also disable some
effect plugins (e.g. water). But I much prefer it to having the current
redraw problems or disabling desktop effects all together.

I do hope this issue gets properly fixed though...

See also:
http://www.nvnews.net/vbulletin/showthread.php?t=120892
http://www.nvnews.net/vbulletin/showthread.php?t=124470

-- 
Screen refresh problems with nvidia on intrepid
https://bugs.launchpad.net/bugs/269904
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to