Bug 6760

Summary: i.MX6: not possible to run X11 without tearing / with proper vsync
Product: [Build System, Metadata & Runtime] BSPs Reporter: Carlos Rafael Giani <crg7475>
Component: bsps-meta-fsl-armAssignee: Otavio Salvador <otavio>
Status: RESOLVED OBSOLETE QA Contact:
Severity: normal    
Priority: Medium CC: angolini, richard.purdie, Satyanarayana.T
Version: 1.6   
Target Milestone: Future   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: Regression (Found by QA test)
Verified: Documentation change: No (bug/feature does not impact docs)
Attachments:
Description Flags
HTML example that shows tearing artifacts none

Description Carlos Rafael Giani 2014-09-25 10:00:46 UTC
Created attachment 2139 [details]
HTML example that shows tearing artifacts

It is currently not possible to eliminate tearing in X11 with the i.MX6. The attached HTML example shows a white vertical bar, moving horizontally across the screen, against a black screen. On systems with proper vsync support, the bar stays intact during movement. Without vsync, the bar appears to be torn; one half will be "behind" the other.

The tearing effect is particularly bad with videos and big screens (think >= 1 meter panels). There, the tearing can be so aggravating, it can become a showstopper.

From what I gathered, the X11 output uses single buffering, and adding in vsync required too many hacks. My hope is that for a next release - ideally, 3.10.31 GA - a proper solution might be found.

I know Wayland supports vsync, but X11 is still required sometimes, and Wayland performance on the i.MX6 is still worse than the one X11.
Comment 1 Carlos Rafael Giani 2014-09-25 10:03:07 UTC
Addendum: this happens with all kernel version, all DISTRO_FEATURES (except when you remove x11 from the DISTRO_FEATURES of course), this can be reproduced on any i.MX6 board.
Comment 2 Daiane 2014-09-25 17:17:56 UTC
"i.MX6 X11 EGL is single buffered and there is no support for VSYNC"

"VSYNC support is going to be added in Wayland.
eglSwapInterval will be supported for FBDEV and Wayland backends in the upcoming release. So Ozone-wayland can take advantage of this."

"export FB_MULTI_BUFFER=2. By doing this server side is VYSNC controlled. The client side support in next release. "

Only to document some points raised during this discussion.

At the point of this report, we are in daisy with kernel 3.10.17-GA, working for 1.7 with 3.10.17-1.0.1-GA and waiting to merge 3.10.31-beta on 1.8 development cycle. (all info reffers to i.MX6 boards only)
Comment 3 satyanarayana 2014-11-18 14:55:06 UTC
Just curious, Is there any way to fix this screen tearing issue on imx6 may be by setting "SyncDraw" setting to false in current source.I tried this but still i see some tear on display.
Comment 4 satyanarayana 2015-10-05 05:10:25 UTC
Any thoughts on, when shall this issue gets fixed in this  processor.This would help us for a better design approach if we can solve screen tearing issue on x11. For complext design like ours which uses both GPU and CPU at time critical scenarios, this turns out to be better option for us to use (x11+GPU) if this really gets resolved.
Comment 5 Richard Purdie 2018-01-18 16:13:44 UTC
This has now become an obsolete/wontfix issue. If anyone is going to actively work on this on maintained releases please reopen and change the targets but I'll close it given the current inactivity.