Bug 85983 - [hsw] Tearing in video
Summary: [hsw] Tearing in video
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Chris Wilson
QA Contact: Intel GFX Bugs mailing list
: 88472 (view as bug list)
Depends on:
Reported: 2014-11-07 02:13 UTC by Konstantin Svist
Modified: 2019-11-27 13:34 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:

tearing example (2.49 MB, image/jpeg)
2014-11-07 02:13 UTC, Konstantin Svist
no flags Details
xorg.log (28.15 KB, text/plain)
2014-11-07 02:13 UTC, Konstantin Svist
no flags Details

Description Konstantin Svist 2014-11-07 02:13:03 UTC
Created attachment 109070 [details]
tearing example

See attached photo
Video clip downloaded from https://www.youtube.com/watch?v=ceX18O9pvLs and played back with VLC

Original Youtube clip shows a lot more obvious tearing, probably due to Flash)
Clip is a sequence of frames with a white vertical bar, no motion blur or any other effects, as far as I can tell.

Perceptual effect in VLC is a slanted vertical bar, like "/" moving to the right or "\" moving to the left with a small piece at the top getting cut off and trailing the rest of the bar
Comment 1 Konstantin Svist 2014-11-07 02:13:35 UTC
Created attachment 109071 [details]
Comment 2 Konstantin Svist 2014-11-07 02:15:57 UTC
P.S. photo taken with cellphone camera. Obviously not perfect and may be a merge of several frames.. but the tearing is visible
Comment 3 Chris Wilson 2014-11-07 07:37:13 UTC
Tearing is expected whenever the application does request vsync, or the application is submitting frames too slow and requests that the frame be shown immediately rather than wait for the next vblank.
Comment 4 Konstantin Svist 2014-11-11 00:09:25 UTC
So you're saying this is a VLC bug?
Comment 5 Chris Wilson 2014-11-11 07:34:58 UTC
Probably. Not enough information is exposed at default debug levels to identify the culprit, but the spec is clear that if an application requests immediate display of a buffer and misses its target vblank/frame, that buffer should be presented immediately. Also note that if you are using a compositor, it can also prevent synchronisation of updates to vblank.
Comment 6 Konstantin Svist 2014-11-11 19:03:19 UTC
from VLC bug (https://trac.videolan.org/vlc/ticket/12752):

"""The application cannot do vertical sync. That´s something between the compositor or display manager and the display driver.

Without further infos, I have to assume the problem is not the player."""

So... who should I file a bug against?
Comment 7 Chris Wilson 2014-11-11 20:55:57 UTC
If you have a compositor, then the compositor should be using vsync. If you don't have a compositor, the application is responsible for controlling vsync.

If you want to force vsync irrespective of the application/display manager/compositor, use Option "TearFree".
Comment 8 Konstantin Svist 2014-11-11 21:13:41 UTC
No compositor, just plain Xorg with XFCE desktop
You seem to be saying that the app could set vsync, but the VLC dev seems to be saying they can't..??
Comment 9 Konstantin Svist 2014-11-26 00:40:31 UTC
Comment 10 Chris Wilson 2015-02-01 15:47:16 UTC
*** Bug 88472 has been marked as a duplicate of this bug. ***
Comment 11 Martin Peres 2019-11-27 13:34:25 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel/issues/35.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.