How to avoid V-Sync tearing i.MX 8M Mini with GStreamer, Qt?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

How to avoid V-Sync tearing i.MX 8M Mini with GStreamer, Qt?

1,971 次查看
VincasD
Contributor III

Hi,

I've attached video on how this GStreamer pipeline reproduces V-Sync tearing:

gst-launch-1.0 -v videotestsrc pattern=blink ! video/x-raw,width=1280,height=800 ! autovideosink

Originally I've discovered tearing in Qt 5.15-based QML application, where video is displayed using qmlglsink. we see diagonal tearing in fixed position on top of the screen.

Using fbdevsink in provided pipeline example makes it a bit "better" - the tear is no longer diagonal, just horizontal, but it still exists. But I can't use fbdevsink anyway as video must be composited inside Qt-based interface via qmlglsink...

I've tried various Qt eglfs-related environment variables, but nothing seems to help.

/etc/kms.conf in that device is:

# cat /etc/kms.conf  
{
 "device": "/dev/dri/card1",
 "hwcursor": true,
 "pbuffers": true,
 "outputs": [
   {
     "name": "DP",
     "mode": "1280x800"
   }
 ]
}

uname -a:

Linux imx8mmevk 5.10.72-lts-5.10.y+gb5085fe8a3ce #1 SMP PREEMPT Tue Oct 25 12:05:04 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux

0 项奖励
回复
2 回复数

1,951 次查看
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

You are using a kernel that is not supported, try to run the kernel 5.15.71 with qt6 this should works.

regards

0 项奖励
回复

1,935 次查看
VincasD
Contributor III
Thanks for your reply.

Do you mean that it ONLY works in Qt6? Not in Qt5?

What about using just GStreamer using pipeline I've provided? Should vsync issues dissapear with 5.15.71 kernel with GStreamer too?

Thanks!
0 项奖励
回复