New GPU: tearing, regardless of composite or anything else
I recently switched from a GeForce 8600 GT to a GeForce GT 240. With the old GPU, I didn't have any particular problems with tearing. Without composite, vsync worked correctly with Xv, OpenGL and VDPAU (with the blit path, too).
I'm aware of the problems X has with regard to compositing, but even with compositing enabled and Compiz running, in general there was little tearing and composited OpenGL applications were tear-free.
However, with the new GPU I always get tearing, always. There's a constant tear line 1/5 down the screen, which only moves slightly up and down. I'm seeing this with OpenGL, Xv and VDPAU (blit path).
Composite extension enabled or not, it doesn't matter, it tears regardless of that.
If there is actually a compositing matter running doesn't matter either.
OpenGL vsync is enabled and set up to sync to the correct display device via __GL_SYNC_DISPLAY_DEVICE, but the tear line 1/5 down the screen remains, while tearing in other screen regions is avoided.
If I disable TwinView altogether, it still tears.
The tear-line at top of the screen seems to be a pretty common issue, checking this forum...
Let me stress that switching to the old GPU completey fixes the problem, while the rest of the system is completely unmodified.
The only way to avoid tearing for video playback is to use VDPAU w/ the overlay path. However, that's not a fix, but only a crude workaround. It doesn't help at all with OpenGL or Xv, either.