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
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?
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
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?
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
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.
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
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.
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 ?
Picture 2: Multi Needles Shown on One Frame
Regards. :smileywink: