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


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.