i.MX6 yocto 4.1.15 screen tearing issue

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

i.MX6 yocto 4.1.15 screen tearing issue

3,524件の閲覧回数
m_c
Senior Contributor I

Yocto

MACHINE_NAME=imx6qsabresd

DISTRO_NAME=fsl-imx-xwayland

IMAGE_NAME=fsl-image-qt5

 

Has try export FB_MULTI_BUFFER=2,3,4 & 8, but tearing issue still happend.

 

QtQuick/build-QtQuick-imx6-Release/QtQuick -platform wayland-egl -plugin evdevtouch:/dev/input/event1

Original Attachment has been moved to: QtQuick.7z.zip

ラベル(2)
7 返答(返信)

2,200件の閲覧回数
eduardasmeile
Contributor I

I am facing similar screen tearing issues with my Yocto Morty build for imx6 Quad and weston 1.11 .

If I add "export FB_MULTI_BUFFER=4" to the beginning of the script /usr/bin/weston-start it solves screen tearing, but there is another related problem. If I do a suspend to RAM either via "systemctl suspend" (I also use systemd) or

"echo mem > /sys/power/state", screen tearing is back after suspend (wakeup is done via GPIO key). When I check the environment variables in wayland terminal via printenv, FB_MULTI_BUFFER=4 is present there, but does not help. So my question is: how do I remove screen tearing in such a way that it does not come back after wakeup from suspend to RAM? Also I am wondering: is it just me or are other people also having this particular problem?

0 件の賞賛

2,200件の閲覧回数
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi  jiahongyang

I built your application and saw this effect. This is not tearing issue.  When tearing, you saw broken needle. this something related with human eyes visual effect.  You are rotate whole circle in one second, I tried to change the rotation in 3 or 4 second in main.qml, the double pen is gone.  or If you hit Ctrl_C at any time, the snapshot only show one needle, never 2.  So, I think it is ok.  I check the code to make sure vsync is called. Please follow in any case I miss something to reproduce it.

Regards

2,200件の閲覧回数
m_c
Senior Contributor I

Customer porting application to 4.9.88 and found application will close after press Ctrl+C. Is there another way to check tearing like screenshot?

0 件の賞賛

2,200件の閲覧回数
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi m.c.

The attached QtQuick.7z, it seems not source code to build the application. Could you give the detailed instructions to reproduce the issue?

Can you check your weston script in /etc/init.d/weston?  You need to export FB_MULTI_BUFFER=2 or 3, in this script before weston started. if not, set it and then reboot.   If you set FB_MULTI_BUFFER after this script is run, weston cannot be aware of multi buffer set up.

Regards

2,200件の閲覧回数
jiahongyang
Contributor II

Hi Bio_TICFSL,

Before compile the QtQuick project with QtCreator, you have to edit the INCLUDEPATH of the QtQuick.pro file. 

INCLUDEPATH += /opt/fsl-imx-fb/4.1.15-2.0.3/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include/c++/5.3.0/
INCLUDEPATH += /opt/fsl-imx-fb/4.1.15-2.0.3/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include/c++/5.3.0/arm-poky-linux-gnueabi/
INCLUDEPATH += /opt/fsl-imx-fb/4.1.15-2.0.3/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include/

And the settings of the imx6 Kits as below:

Device:
General Linux Device

Sysroot: 
/opt/fsl-imx-fb/4.1.15-2.0.3/sysroots/cortexa9hf-neon-poky-linux-gnueabi

Compiler:
C++:
/opt/fsl-imx-fb/4.1.15-2.0.3/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++

C:
 /opt/fsl-imx-fb/4.1.15-2.0.3/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc

Debugger:
/opt/fsl-imx-fb/4.1.15-2.0.3/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gdb

QMake (Qt 5.6.2):
/opt/fsl-imx-fb/4.1.15-2.0.3/sysroots/x86_64-pokysdk-linux/usr/bin/qt5/qmake

Qt mkspec:
linux-arm-gnueabi-g++

Regards.  Smiley Wink

0 件の賞賛

2,200件の閲覧回数
marius_grigoras
NXP Employee
NXP Employee

Guys, I don't know if this will fix the problem, but discussing with a GPU expert from our department, he told me that if playing with QT, we should use QT_EGLFS_IMX6_NO_FB_MULTI_BUFFER=3 . Just make a try.

Regards,

Marius

0 件の賞賛

2,200件の閲覧回数
jiahongyang
Contributor II

Hi Bio_TICFSL,

Thanks and it works.

Before set "export FB_MULTI_BUFFER=2"  on "/etc/init.d/weston" the tearing issue happened as the picture 1.

螢幕快照 2017-05-19 上午9.58.07.png

Picture 1: The Tearing Needle

After set "export FB_MULTI_BUFFER=2"  on "/etc/init.d/weston" the tearing issue is fixed as the picture 2,

but is there any suggestion for reducing needles shown on one frame ? 

螢幕快照 2017-05-19 上午9.58.29.png

Picture 2: Multi Needles Shown on One Frame

Regards. :smileywink:

0 件の賞賛