AnsweredAssumed Answered

IMX6. Start of Qt5 application causes flicker and tearing of camera preview on background framebuffer

Question asked by Maxim Kuk on Jun 19, 2018
Latest reply on Jul 18, 2019 by 袁 野


I use Freescale sabresd board with imx6q. My goal is to run camera preview as early as possible, so I modifyed mxc_v4l2_capture driver to start overlay task right after load and find camera. After that, when kernel completly loaded, I start GUI - qt5 application on fb0 (camera preview already running on fb1). I use eglfs plugin. The problem is that fb1 begins tearing when qt application starts. Can I force qt to use vsync of fb1? Or there are any other solution? 


And another problem: fb0 have short one-time flicker when qt app starts (but fb0 set to fully transparent by default and it should not appear on top of fb1 until global alpha is disabled, right? I turn on local alpha blending on Component.onCompleted() signal of QML window). How can I start GUI more smoothy?


If there is a way to not flicker on GUI start, I can simply stop overlay task and run camera preview by gstreamer itself or qml from user space.


I attached video of my device booting. First appears camera preview on fb1 - no tearing, then one-time flicker, fb1 begin tearing, then appears test qml scene - background should be transparent, but it black in first time.