Tearing effect in fullscreen video when other X-window comes over

Recommended Posts

Board: NanoPC-T4(rk3399)

OS: Welcome to ARMBIAN 5.69 stable Ubuntu 18.04.1 LTS 4.4.167-rk3399


In VLC preferences, i have set video output to OPENGL ES(and here OPENGL ES is soft link to libMali.so). In short hardware accelerated Rendering.


Problem Statement: When a video file is played in fullscreen mode it works perfect. But as soon as other x-window(for eg: small sized terminal window) comes in front of this fullscreen window, tearing effect starts.


Now i don't understand why this happen. Whether it happens due to libMali and X-server Glamor compositing or something else. i don't have full understanding of linux graphics stack.

As per rockchip link: http://opensource.rock-chips.com/wiki_File:Xserver_gpu.png 

X application and GL application feed data to Kernel with different path(ie. one is  libDRM and other is libMali). Where this data is merged before rendering the front buffer?

Is it compositor who introduce the tearing effect? If yes, this compositor is at DRM level(kernel space) or userspace(Although i have checked through Window Manager Tweaked, compositing is disabled)?



Note: i checked X-server conf file(/etc/X11/xorg.conf.d/01-armbian-defaults.conf) and find -> Option      "Dri2Vsync"      "true".


Please shed some light how this tearing effect can be eliminated. As per my use case i need to render data through GLES and as well need to render some X11 window.


I tried to elaborate the problem but still anything missing, please let me know.

Share this post

Link to post
Share on other sites