Comment 4 for bug 201342

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

This is still an issue in Ubuntu 11.04 and 11.10beta2.

Since I have uploaded fixes to the relevant compiz code recently, I have two suggestions that might fix this for compiz:

1. Switch GLX contexts at the right time. It seems like compiz is still in the context of screen 0 when it's doing the wait for sync on screen N>0. I got this idea from the official docs: http://www.opengl.org/registry/specs/SGI/video_sync.txt

2. Remove the old-fashioned Vsync waiting calls from compiz and use SGI_GLX_swap_control for everything:
http://www.opengl.org/wiki/Swap_Interval
http://www.opengl.org/registry/specs/SGI/swap_control.txt

I have *partially* implemented #2 in compiz as part of the fix for bug 763005 already. However we won't be able to remove the Vsync waiting logic until/unless the compiz opengl plugin is changed to use glXSwapBuffers for every single frame. Presently compiz only calls glXSwapBuffers occasionally, so SGI_GLX_swap_control can't yet be used for all frames.