iMX6 -- EGL: Warning: No default display support on wayland; Could not open egl display
-
Hi,
I have upgraded the yocto release used on our iMX6 SOM from Krogoth to Dunfell, and am no longer able to use the qmlscene application with EGLFS (or any of the available platforms). The image is wayland based
Kernel Version:
5.4.85-6
QT Version:
5.14.2
Relevant QT exports:
QT_QPA_PLATFORM=eglfs XDG_RUNTIME_DIR=/run/user/0 DISPLAY=:0.0
I have also tried
WAYLAND_DISPLAY=/dev/fb0 and/or WAYLAND_DISPLAY=wayland-0 and QT_QPA_EGLFS_FB=/dev/fb0
QT configuration:
Build options: Mode ................................... release Optimize release build for size ........ no Building shared libraries .............. yes Using C standard ....................... C11 Using C++ standard ..................... C++17 Using ccache ........................... no Using new DTAGS ........................ yes Relocatable ............................ yes Using precompiled headers .............. no Using LTCG ............................. no Target compiler supports: NEON ................................. yes Build parts ............................ libs tests tools Qt modules and options: Qt Concurrent .......................... yes Qt D-Bus ............................... yes Qt D-Bus directly linked to libdbus .... yes Qt Gui ................................. yes Qt Network ............................. yes Qt Sql ................................. yes Qt Testlib ............................. yes Qt Widgets ............................. yes Qt Xml ................................. yes Support enabled for: Using pkg-config ....................... yes udev ................................... yes Using system zlib ...................... yes Zstandard support ...................... no Qt Core: DoubleConversion ....................... yes Using system DoubleConversion ........ no GLib ................................... no iconv .................................. no ICU .................................... no Built-in copy of the MIME database ..... yes Tracing backend ........................ <none> Logging backends: journald ............................. no syslog ............................... yes slog2 ................................ no PCRE2 .................................. no Using system PCRE2 ................... yes Qt Network: getifaddrs() ........................... yes IPv6 ifname ............................ yes libproxy ............................... no Linux AF_NETLINK ....................... yes OpenSSL ................................ yes Qt directly linked to OpenSSL ........ no OpenSSL 1.1 ............................ yes DTLS ................................... yes OCSP-stapling .......................... yes SCTP ................................... no Use system proxies ..................... yes GSSAPI ................................. no Qt Gui: Accessibility .......................... yes FreeType ............................... yes Using system FreeType ................ yes HarfBuzz ............................... yes Using system HarfBuzz ................ no Fontconfig ............................. yes Image formats: GIF .................................. no ICO .................................. no JPEG ................................. yes Using system libjpeg ............... yes PNG .................................. yes Using system libpng ................ yes Text formats: HtmlParser ........................... yes CssParser ............................ yes OdfWriter ............................ yes MarkdownReader ....................... yes Using system libmd4c ............... no MarkdownWriter ....................... yes EGL .................................... yes OpenVG ................................. yes OpenGL: Desktop OpenGL ....................... no OpenGL ES 2.0 ........................ yes OpenGL ES 3.0 ........................ yes OpenGL ES 3.1 ........................ no OpenGL ES 3.2 ........................ no Vulkan ................................. no Session Management ..................... no Features used by QPA backends: evdev .................................. yes libinput ............................... yes INTEGRITY HID .......................... no mtdev .................................. no tslib .................................. no xkbcommon .............................. no X11 specific: XLib ................................. no XCB Xlib ............................. no EGL on X11 ........................... no QPA backends: DirectFB ............................... no EGLFS .................................. yes EGLFS details: EGLFS OpenWFD ........................ no EGLFS i.Mx6 .......................... yes EGLFS i.Mx6 Wayland .................. yes EGLFS RCAR ........................... no EGLFS EGLDevice ...................... no EGLFS GBM ............................ no EGLFS VSP2 ........................... no EGLFS Mali ........................... no EGLFS Raspberry Pi ................... no EGLFS X11 ............................ no LinuxFB ................................ no VNC .................................... yes Qt Sql: SQL item models ........................ yes Qt Widgets: GTK+ ................................... no Styles ................................. Fusion Windows Qt PrintSupport: CUPS ................................... no Qt Sql Drivers: DB2 (IBM) .............................. no InterBase .............................. no MySql .................................. no OCI (Oracle) ........................... no ODBC ................................... no PostgreSQL ............................. no SQLite2 ................................ no SQLite ................................. no Using system provided SQLite ......... no TDS (Sybase) ........................... no Qt Testlib: Tester for item models ................. yes
Installed libs:
libegl-imx - 1:6.4.0.p2.4-aarch32-r0 libgles2-imx - 1:6.4.0.p2.4-aarch32-r0 libgles2-imx - 1:6.4.0.p2.4-aarch32-r0
Kernel config contains:
CONFIG_MXC_GPU_VIV=y
Error message when starting qmlscene:
EGL: Warning: No default display support on wayland Could not open egl display
I have read/tried everything in:
https://forum.qt.io/topic/73383/could-not-open-egl-display/2
and to the best of my knowledge, everything on any relevant "how to use qt on imx6" wiki or site I have been able to findThank you in advance for any help
Edit1:
One difference I have noticed in the debug output is the selected plugin:
(working) eglfs_viv
(non-working) eglfs_emuWorking:
Got keys from plugin meta data ("eglfs_viv_wl") QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/qt5/egldeviceintegrations" ... qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_viv", "eglfs_viv_wl") qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_viv", "eglfs_viv_wl") qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_viv" loaded library "/usr/lib/qt5/plugins/egldeviceintegrations/libqeglfs-viv-integration.so" qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_viv"
Non-working:
Got keys from plugin meta data ("eglfs_viv_wl") QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/egldeviceintegrations" ... qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_emu", "eglfs_viv", "eglfs_viv_wl") qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_emu", "eglfs_viv", "eglfs_viv_wl") qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_emu" loaded library "/usr/lib/plugins/egldeviceintegrations/libqeglfs-emu-integration.so" qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_emu" EGL: Warning: No default display support on wayland Could not open egl display Aborted
Edit2:
It seems I have answered/solved (part) of my own question.
removing the libqeglfs-emu-integration.so shared library fixes the issue, as now only libqeglfs-viv-integration.so is found and used. Why this was/is an issue? I am not yet sure.
Edit3:
export QT_QPA_EGLFS_INTEGRATION=eglfs_viv
fixes the issue