[MPlayer-users] Tearing problems - waiting for vsync doesn't work with vo_xv
pq at iki.fi
Mon Jun 23 23:26:00 CEST 2008
Haakon Riiser <haakon.riiser <at> netview.no> writes:
> Here's my xvinfo output:
> $ xvinfo | egrep '(Adaptor|port base)'
> Adaptor #0: "NV17 Video Texture"
> port base: 355
> Adaptor #1: "NV05 Video Blitter"
> port base: 387
> I tried both ports explicitly, using
> $ mplayer -vo xv:port=355 tearing.avi
> for the NV17 Video Texture port and
> $ mplayer -vo xv:port=387 tearing.avi
> for the NV05 Video Blitter. Both have the same problem with
> tearing artifacts. What am I doing wrong?
This problem is also known with the Nouveau driver, and it seems to be
related to X server updates. For some reason, mplayer is getting a backing
store for its window, which effectively disables vsync. I'd guess it could
be a change in the X server behaviour, changing from rendering to the
window, it probably now renders to the backing store and then, on its own
time, copies the image to the window.
Rendering to the backing store also makes the Nouveau overlay adapter to
fall back to blitter, which makes the overlay and blitter adapters
identical in performance. Personally I've hit this since I updated to git
Unlike in the bug report above, my horizontal tearing line is completely
static, depending on window size.
A suggested solution would be to have mplayer request a window without a
backing store. Please, let me know, if mplayer already does this, but still
gets the backing store.
Disabling the Composite extension, which then disables the backing store, makes
a difference. Blitter adapter starts to work fine for me, but the overlay
adapter gets nasty, jerking and tearing. Likely my problem with the overlay
is not mplayer-related.
More information about the MPlayer-users