This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM4378: Flickering issue on Qt with eglfs instance

Part Number: AM4378

Team,

we are facing flickering issue on Qt QML UI eglfs instance.

we didn't observed the flickering issue when Qt-QML UI runs with linuxfb and vnc instance.

We are using  Qt 5.15.x running on AM437X custom board. The details of the platform are provided below.

Kernel Version: 4.19.94
Processor: ARM 4378
Qt Version: 5.15.x

Please find below our graphics library versions used 

ls ../build-prod/tmp/sysroots-components/ti-sgx-ddk-um/usr/lib/
dri libGLESv1_PVR_MESA.so.1 libPVRScopeServices.so.1 libglapi.so.0.0.0 libsrv_init.so
libEGL.so libGLESv1_PVR_MESA.so.1.17.4948957 libPVRScopeServices.so.1.17.4948957 libglslcompiler.so libsrv_init.so.1
libEGL.so.1 libGLESv2.so libdbm.so libglslcompiler.so.1 libsrv_init.so.1.17.4948957
libEGL.so.1.0.0 libGLESv2.so.1 libdbm.so.1 libglslcompiler.so.1.17.4948957 libsrv_um.so
libGLES_CM.so libGLESv2.so.2 libdbm.so.1.17.4948957 libpvr2d.so libsrv_um.so.1
libGLES_CM.so.1 libGLESv2.so.2.0.0 libgbm.so libpvr2d.so.1 libsrv_um.so.1.17.4948957
libGLESv1_CM.so libGLESv2_PVR_MESA.so libgbm.so.1 libpvr2d.so.1.17.4948957 libusc.so
libGLESv1_CM.so.1 libGLESv2_PVR_MESA.so.1 libgbm.so.1.0.0 libpvr_dri_support.so libusc.so.1
libGLESv1_CM.so.1.1.0 libGLESv2_PVR_MESA.so.1.17.4948957 libglapi.so libpvr_dri_support.so.1 libusc.so.1.17.4948957
libGLESv1_PVR_MESA.so libPVRScopeServices.so libglapi.so.0 libpvr_dri_support.so.1.17.4948957 pkgconfig

Please find below export variables

export EDITOR="vi"
export EGL_LOG_LEVEL="debug"
export HOME="/home/root"
export HUSHLOGIN="FALSE"
export LIBGL_DEBUG="verbose"
export LOGNAME="root"
export MAIL="/var/spool/mail/root"
export MESA_DEBUG="1"
export OLDPWD="/home/sdk"
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin"
export PS1="\\u@\\h:\\w\$"
export PWD="/home/app/CONFIG/UI"
export QT_QPA_EGLFS_ALWAYS_SET_MODE="1"
export QT_QPA_EGLFS_INTEGRATION="eglfs_kms"
export QT_QPA_EGLFS_KMS_CONFIG="/etc/qt5/eglfs_kms_cfg.json"
export QT_QPA_EGLFS_PHYSICAL_HEIGHT="150"
export QT_QPA_EGLFS_PHYSICAL_WIDTH="256"
export QT_WAYLAND_SHELL_INTEGRATION="wl-shell"
export SHELL="/bin/sh"
export SHLVL="2"
export TERM="vt102"
export TMOUT="900"
export TSLIB_TSDEVICE="/dev/input/touchscreen0"
export USER="root"

Please find the output of /etc/qt5/eglfs_kms_cfg.json

{
"device": "/dev/dri/card0",
"hwcursor": false,
"pbuffers": true,
"outputs": [
{ "name": "VGA1", "mode": "off" },
{ "name": "DPI1", "mode": "1024x600" } ]
}

Please find below output, when Qt-QML UI binary runs with eglfs instance:

root@picv6-1:/home/app/CONFIG/UI$./DemoUI -platform eglfs
QML debugging is enabled. Only use this in a safe environment.
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/root/.drirc: No such file or directory.
LibGL: Supported screen extensions:
LibGL: DRI_TexBuffer (supported version: 2 - max version: 3)
LibGL: DRI2_Flush (supported version: 4 - max version: 4)
LibGL: DRI_IMAGE (supported version: 8 - max version: 17)
LibGL: DRI_Robustness (supported version: 1 - max version: 1)
LibGL: DRI2_Fence (supported version: 1 - max version: 2)
libEGL debug: found extension `DRI_TexBuffer'
libEGL info: found extension DRI_TexBuffer version 2
libEGL debug: found extension `DRI2_Flush'
libEGL info: found extension DRI2_Flush version 4
libEGL debug: found extension `DRI_IMAGE'
libEGL info: found extension DRI_IMAGE version 8
libEGL debug: found extension `DRI_Robustness'
libEGL debug: found extension `DRI2_Fence'
libEGL debug: found extension `DRI_TexBuffer'
libEGL debug: found extension `DRI2_Flush'
libEGL debug: found extension `DRI_IMAGE'
libEGL info: found extension DRI_IMAGE version 8
libEGL debug: found extension `DRI_Robustness'
libEGL info: found extension DRI_Robustness version 1
libEGL debug: found extension `DRI2_Fence'
libEGL info: found extension DRI2_Fence version 1
libEGL debug: did not find optional extension DRI_NoError version 1
libEGL debug: did not find optional extension DRI_CONFIG_QUERY version 1
libEGL debug: did not find optional extension DRI_RENDERER_QUERY version 1
libEGL debug: did not find optional extension DRI2_Interop version 1
libEGL debug: did not find optional extension DRI_FlushControl version 1
libEGL debug: did not find optional extension DRI2_Blob version 1
libEGL debug: did not find optional extension DRI_MutableRenderBufferDriver version 1
libEGL debug: No DRI config supports native format R8
libEGL debug: No DRI config supports native format GR88
libEGL debug: No DRI config supports native format AR15
libEGL debug: No DRI config supports native format XB24
libEGL debug: No DRI config supports native format AB24
libEGL debug: No DRI config supports native format XR30
libEGL debug: No DRI config supports native format AR30
libEGL debug: No DRI config supports native format XB30
libEGL debug: No DRI config supports native format AB30

Cannot find EGLConfig, returning null config

Regards,

Praveen