I want to render tear-free VC-1 compressed live video on X11 using the linux version of Catalyst 13.1 (fglrx 9.1.11) and the XvBA backend for VA-API. The chipset is identified as "AMD Radeon HD 6250 Graphics" (Chipset = 0x9804).
For this I need to enable synchronization of frame buffer flips on the vertical sync in order to avoid tearing. However, so far I did not manage to find the correct settings for the driver to force this vsync behavior. Strangely enough, it works well when playing a pre-recorded movie. Initially I thought it could be overcome by calling vaSyncSurface() before vaBeginPicture(), but this turns out to cause some surfaces not to update properly (and insist on showing old content). I use vaPutSurface() to make the buffers flip.
I used the following xorg.conf settings (and variations of that):
OpenGLOverlay = on
OverlayOnCRTC2 = 0
Capabilities = 0x00000800
TeturedVideoSync = on
and the following settings in /etc/ati/amdpcsdb:
Can anyone come up with suggestions and/or the correct set of the settings?
Another possibly interesting fact: glxgears seem to be affected well by vsync settings, since it outputs only 60fps.