Mpv: Horizontal Screen Tearing

Created on 27 Mar 2016  Ā·  9Comments  Ā·  Source: mpv-player/mpv

I have Horizontal Screen Tearing problem. I read FAQ but is there any option to add for opengl-hq?
Previously I haven't this problem but after updating mpv and xserver to xserver-xorg-core-lts-wily, this problem appeared (I don't know what cause the problem).
vo option is vo=opengl-hq:scale=ewa_lanczossharp:cscale=ewa_lanczossoft:dscale=mitchell:tscale=oversample:scale-antiring=0.6:cscale-antiring=0.9:scaler-resizes-only:sigmoid-upscaling:target-prim=bt.709:gamma-auto:correct-downscaling:temporal-dither:pbo:3dlut-size=256x256x256:blend-subtitles:interpolation:tscale-param1=0.0:deband
And my HW is ci3 and intel graphic 3000 and OS is Ubuntu 14.04.4
Can you please help me to fix the problem?

info-needed intel

Most helpful comment

If you have HD3000, then you're probably best off using UXA where no TearFree option should be necessary. On the other hand I have no idea how you ever had scale=ewa_lanczossharp:cscale=ewa_lanczossoft working. My HD4000 is not fast enough for that no matter what driver versions or settings are used.

Note also that since you've already specified opengl-hq,sigmoid-upscaling, correct-downscaling and deband are all redundant. scaler-resizes-only is also redundant for even opengl since it is now the default.

All 9 comments

Tearing is (at least in our opinion) always a driver or compositor bug. mpv itself requests double-buffering and swapinterval, which prevents tearing if the driver actually works.

Your command options seemed flawed as far as interpolation unless you're setting -video-sync=display-resample in your config.
As far as 14.04.4-lts, can't see why people want to use it unless they have new hardware that can benefit. If that's the case why bother using on a 2 yr. old release with some half-assed upgrade of mesa. Try 16.04 instead or go back to 14.04.1 > .3
(OT somewhat, may arise in some future complaints, - mesa11 in Ubuntu is bugged in regards to a ubuntu session & optimus laptops when using nvidia drivers via nvidia-prime. The 'fix' was to go to modesetting (no sna) on the display side which prevents vsync (tear-free option) so tearing will be rampant.
Until nvidia's prime patches to X & kernel make their way out not a useable combo for media playback.

If you have HD3000, then you're probably best off using UXA where no TearFree option should be necessary. On the other hand I have no idea how you ever had scale=ewa_lanczossharp:cscale=ewa_lanczossoft working. My HD4000 is not fast enough for that no matter what driver versions or settings are used.

Note also that since you've already specified opengl-hq,sigmoid-upscaling, correct-downscaling and deband are all redundant. scaler-resizes-only is also redundant for even opengl since it is now the default.

@kevmitch Do you use hwdec=vaapi? With which opengl backend? x11, x11egl, drm-egl? Which libva version?

x11 is known to be broken, at least before libva 1.7.0 that seams to have fixed it. But before, I was having terrible performance here on integrated Intel too with x11, but fine with x11egl/drm-egl (that I still use).

My conf:

hwdec=vaapi
vo=opengl:backend=drm-egl:dither-depth=auto:pbo:fbo-format=rgba16
vo=opengl:prescale=nnedi3:nnedi3-neurons=128:nnedi3-window=8x6:nnedi3-upload=shader
vo=opengl:scale=ewa_lanczossharp:sigmoid-upscaling:cscale=ewa_lanczossharp:dscale=mitchell:correct-downscaling:scaler-resizes-only
vo=opengl:interpolation:tscale=oversample:temporal-dither:blend-subtitles=yes
vo=opengl:gamma=0.9:icc-profile-auto
vo=opengl:deband

What do you know ewa_lanczossharp does work for me now, which is surprising becasue I have locked my intel drivers at the last actually working version 2.99.917 from Dec 2014 due to #91066 and #93971. It must have been improved in mpv.

@ArchangeGabriel: I hope you're aware that each vo=opengl option completely overrides the previous one.

Well, I wasn’t. I splitted lines because it became a bit long. So now it doesn’t work anymore… That explains some things…

OK… So the bad news is that ewa_lanczossharp doesn’t work finally. This must be a regression somewhere (libva, intel…), because it used to before (I mean way before, when I was having a single line for vo=opengl), at least with x11egl.

EDIT: This might also explain x11 performing better than x11egl (I think that x11egl has regressed). Will try downgrading libva.

Things should be working fine with recent kernel + modesetting DDX.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

olivergondza picture olivergondza  Ā·  3Comments

laichiaheng picture laichiaheng  Ā·  3Comments

xanadupark picture xanadupark  Ā·  3Comments

szg0000 picture szg0000  Ā·  3Comments

422658476 picture 422658476  Ā·  3Comments