BSP 5.x + eglfs support

Dear Toradex support,

I’m participating in a project where we have an application made in Qt running on Toradex’s embedded board Apalis IMX6 with Ixora V1.2 board, using toradex linux BSP 2.8. In this project, the device tree has already been implemented and all peripherals are functional, including the application. We have started a process of updating the yocto recipes for this project to version 5.X of Toradex’s BSP, but I am running into some problems related to the eglfs plugin.

First of all, I tried to port my application based in Weston/Wayland, using the tdx-reference-multimedia-image as start point. Basically I followed this tutorial with some hints from here. It worked and I was able to start my application.

But I would like to continue the same way as before, building a custom linux image based on tdx-reference-minimal-image + Qt/QML + EGLFS. I tried to apply some of the configurations that I found here, but when my service tries to run the application I got this error:

* ihm.service - Start IHM app                                                                                                                                                   
     Loaded: loaded (/lib/systemd/system/ihm.service; enabled; vendor preset: enabled)                                                                                          
     Active: failed (Result: signal) since Wed 2023-11-22 13:54:57 UTC; 2min 52s ago                                                                                            
    Process: 546 ExecStart=/usr/bin/IHM (code=killed, signal=ABRT)                                                                                                              
   Main PID: 546 (code=killed, signal=ABRT)                                                                                                                                     
                                                                                                                                                                                
Nov 22 13:54:57 localhost systemd[1]: ihm.service: Scheduled restart job, restart counter is at 5.                                                                              
Nov 22 13:54:57 localhost systemd[1]: Stopped Start IHM app.                                                                                                                    
Nov 22 13:54:57 localhost systemd[1]: ihm.service: Start request repeated too quickly.                                                                                          
Nov 22 13:54:57 localhost systemd[1]: ihm.service: Failed with result 'signal'.                                                                                                 
Nov 22 13:54:57 localhost systemd[1]: Failed to start Start IHM app.   

I tried to run mannualy my app and I got a more detailed error, as you can see bellow:

oot@localhost:~# /usr/bin/IHM                                                                                                                                                  
qt.qpa.plugin: Could not find the Qt platform plugin "wayland-egl" in ""                                                                                                        
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.                                         
                                                                                                                                                                                
Available platform plugins are: minimal, offscreen, vnc, xcb.                                                                                                                   
                                                                                                                                                                                
Aborted                                   

Here is my image recipe:

inherit core-image

SUMMARY = "Embedded Linux Reference Multimedia Image"
DESCRIPTION = "Image for BSP verification"

LICENSE = "MIT"

#Prefix to the resulting deployable tarball name
export IMAGE_BASENAME = "Reference-Minimal-Image"
MACHINE_NAME ?= "${MACHINE}"
IMAGE_NAME = "${MACHINE_NAME}_${IMAGE_BASENAME}"

inherit populate_sdk_qt5

# Copy Licenses to image /usr/share/common-license
COPY_LIC_MANIFEST ?= "1"
COPY_LIC_DIRS ?= "1"

add_rootfs_version () {
    printf "${DISTRO_NAME} ${DISTRO_VERSION} (${DISTRO_CODENAME}) \\\n \\\l\n" > ${IMAGE_ROOTFS}/etc/issue
    printf "${DISTRO_NAME} ${DISTRO_VERSION} (${DISTRO_CODENAME}) %%h\n" > ${IMAGE_ROOTFS}/etc/issue.net
    printf "${IMAGE_NAME}\n\n" >> ${IMAGE_ROOTFS}/etc/issue
    printf "${IMAGE_NAME}\n\n" >> ${IMAGE_ROOTFS}/etc/issue.net
}
# add the rootfs version to the welcome banner
ROOTFS_POSTPROCESS_COMMAND += " add_rootfs_version;"

IMAGE_LINGUAS = "en-us"

CONMANPKGS ?= "connman connman-plugin-loopback connman-plugin-ethernet connman-plugin-wifi connman-client"

QT5 = " \
	qtbase \
	qtbase-examples \
	qtquickcontrols \
	qtquickcontrols2 \
	qttranslations \
	qtmultimedia \
   	qtmultimedia-plugins \
   	qtmultimedia-qmlplugins \
"

IMAGE_INSTALL += " \
    packagegroup-boot \
    packagegroup-basic \
    packagegroup-base-tdx-cli \
    packagegroup-machine-tdx-cli \
    packagegroup-wifi-tdx-cli \
    packagegroup-wifi-fw-tdx-cli \
	${QT5} \
    appihm \
    appihm-init \
    canutils \
    i2c-tools \
    alsa-tools \
    alsa-state \
    fsl-alsa-plugins \
    openssh-sftp-server \
    udev-extraconf \
    ${CONMANPKGS} \
    ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'timestamp-service systemd-analyze', '', d)} \
"

IMAGE_INSTALL_remove += " \
	packagegroup-base-tdx-cli \
	packagegroup-machine-tdx-cli \
	packagegroup-wifi-tdx-cli \
	packagegroup-wifi-fw-tdx-cli \
"

# Distro customization #

IMAGE_INSTALL_remove = "eglinfo-x11"

DISTRO_FEATURES_append = " opengles2 egl opengl gles gbm dri eglfs gles2 polkit"
DISTRO_FEATURES_remove = " x11 wayland wifi 3g bluetooth"

and my qtbase_%.bbappend

PACKAGECONFIG:append = " \
    linuxfb \
    eglfs \
    gbm \
    gles2 \
    kms \
    sql-sqlite \
"

PACKAGECONFIG:remove = "gl xcb xcb-xinput"

Can you help me with this?

Best regards,

André

Hi @andrehpd-eld ,

Thanks for the detailed information!

Just to make sure, when you used our Multimedia Image it worked?

The issue presented above happens because in your image you are not adding the meta-qt5/recipes-qt/qt5/qtwayland_git.bb recipe, which enables the wayland-egl plugin as below:

PACKAGECONFIG ?= " \
    wayland-client \
    wayland-server \
    wayland-egl \
    ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xcomposite-egl xcomposite-glx', '', d)} \
"

What seems strange to me is that in your case the eglfs plugin is not available even when appending it to the PACKAGECONFIG, can you please try to execute the following and send me the output?

bitbake qtbase -e | grep ^PACKAGECONFIG

Best regards,
Daniel Morais

Hi Daniel.

Thanks for your contact.

About your question, yes, when I used the multimedia image my application worked.

Here is the output of the bitbake qtbase -e | grep ^PACKAGECONFIG command:

PACKAGECONFIG="     release     accessibility dbus udev evdev widgets tools libs freetype tests pcre                openssl     gles2                                        xcb xcb-xinput glib xkb xkbcommon           fontconfig     jpeg libpng zlib              accessibility sql-sqlite     icu     examples "
PACKAGECONFIG_CONFARGS=" -accessibility -no-cups -dbus -no-directfb -no-eglfs -evdev -make examples -compile-examples -fontconfig -system-freetype -no-gbm -no-feature-getentropy -no-gif -opengl es2 -glib -no-gtk -qt-harfbuzz -no-ico -no-iconv -icu -no-journald -system-libjpeg -no-kms -no-libinput -system-libpng -no-libproxy -make libs -no-linuxfb -trace no -no-mtdev -openssl -system-pcre -release -no-sm -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-odbc -no-sql-psql -sql-sqlite -system-sqlite -no-sql-sqlite2 -no-sql-tds -shared -make tests -make tools -no-tslib -libudev -no-vulkan -widgets -xcb -xcb-xlib -system-xcb -xcb-xinput -xkb -xkbcommon -system-zlib"
PACKAGECONFIG_DEFAULT="accessibility dbus udev evdev widgets tools libs freetype tests pcre           "
PACKAGECONFIG_DISTRO=""
PACKAGECONFIG_EXAMPLES="examples"
PACKAGECONFIG_FB=""
PACKAGECONFIG_FONTS=" fontconfig"
PACKAGECONFIG_GL="gles2                              "
PACKAGECONFIG_GL_IMX_GPU=""
PACKAGECONFIG_GL_IMX_GPU_mx8="gbm kms"
PACKAGECONFIG_GL_imxgpu2d=" gl                              "
PACKAGECONFIG_GL_imxgpu3d="gles2                              "
PACKAGECONFIG_GL_imxpxp="gles2"
PACKAGECONFIG_GL_use-mainline-bsp="gles2 gbm kms"
PACKAGECONFIG_KDE=""
PACKAGECONFIG_OPENSSL="openssl"
PACKAGECONFIG_PLATFORM="     "
PACKAGECONFIG_PLATFORM_imxgpu2d="no-opengl linuxfb"
PACKAGECONFIG_PLATFORM_imxgpu3d="     "
PACKAGECONFIG_PLATFORM_use-mainline-bsp=""
PACKAGECONFIG_RELEASE="release"
PACKAGECONFIG_SYSTEM="jpeg libpng zlib"
PACKAGECONFIG_VULKAN=""
PACKAGECONFIG_VULKAN_IMX_GPU=""
PACKAGECONFIG_VULKAN_IMX_GPU_mx8="vulkan"
PACKAGECONFIG_VULKAN_IMX_GPU_mx8mm=""
PACKAGECONFIG_VULKAN_imxgpu=""
PACKAGECONFIG_X11="xcb xcb-xinput glib xkb xkbcommon"

Best Regards,
André Dantas

Hi Daniel.

Some updates from my side. I changed the qtbase_%.bbappend to the folder recipes-qt/qt5, inside my custom layer, and it seems that the PACKAGECONFIG changes. But now appeared another problem:

bitbake qtbase -e | grep ^PACKAGECONFIG
ERROR: Nothing PROVIDES 'virtual/libgbm' (but /media/andredantas/data/projects/eld-gdp-dde-bm-oxi-fw-1/PROD/Project/IHM/oe-core/5.0-LTS/build/../layers/meta-qt5/recipes-qt/qt5/qtbase_git.bb DEPENDS on or otherwise requires it). Close matches:
  virtual/libc
  virtual/libg2d
  virtual/libgl
ERROR: Nothing PROVIDES 'virtual/libgbm' (but /media/andredantas/data/projects/eld-gdp-dde-bm-oxi-fw-1/PROD/Project/IHM/oe-core/5.0-LTS/build/../layers/meta-qt5/recipes-qt/qt5/qtbase_git.bb DEPENDS on or otherwise requires it). Close matches:
  virtual/libc
  virtual/libg2d
  virtual/libgl
ERROR: Nothing PROVIDES 'virtual/libgbm' (but /media/andredantas/data/projects/eld-gdp-dde-bm-oxi-fw-1/PROD/Project/IHM/oe-core/5.0-LTS/build/../layers/meta-qt5/recipes-qt/qt5/qtbase_git.bb DEPENDS on or otherwise requires it). Close matches:
  virtual/libc
  virtual/libg2d
  virtual/libgl
ERROR: Nothing PROVIDES 'virtual/libgbm' (but /media/andredantas/data/projects/eld-gdp-dde-bm-oxi-fw-1/PROD/Project/IHM/oe-core/5.0-LTS/build/../layers/meta-qt5/recipes-qt/qt5/qtbase_git.bb DEPENDS on or otherwise requires it). Close matches:
  virtual/libc
  virtual/libg2d
  virtual/libgl
ERROR: Nothing PROVIDES 'virtual/libgbm' (but /media/andredantas/data/projects/eld-gdp-dde-bm-oxi-fw-1/PROD/Project/IHM/oe-core/5.0-LTS/build/../layers/meta-qt5/recipes-qt/qt5/qtbase_git.bb DEPENDS on or otherwise requires it). Close matches:
  virtual/libc
  virtual/libg2d
  virtual/libgl
PACKAGECONFIG="     release     accessibility dbus udev evdev widgets tools libs freetype tests pcre                openssl     gles2                                          glib xkb xkbcommon           fontconfig     jpeg libpng zlib              linuxfb eglfs gbm gles2 kms sql-sqlite accessibility sql-sqlite     icu     examples "
PACKAGECONFIG_CONFARGS=" -accessibility -no-cups -dbus -no-directfb -eglfs -evdev -make examples -compile-examples -fontconfig -system-freetype -gbm -no-feature-getentropy -no-gif -opengl es2 -glib -no-gtk -qt-harfbuzz -no-ico -no-iconv -icu -no-journald -system-libjpeg -kms -no-libinput -system-libpng -no-libproxy -make libs -linuxfb -trace no -no-mtdev -openssl -system-pcre -release -no-sm -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-odbc -no-sql-psql -sql-sqlite -system-sqlite -no-sql-sqlite2 -no-sql-tds -shared -make tests -make tools -no-tslib -libudev -no-vulkan -widgets -no-xcb -no-xcb-xinput -xkb -xkbcommon -system-zlib"
PACKAGECONFIG_DEFAULT="accessibility dbus udev evdev widgets tools libs freetype tests pcre           "
PACKAGECONFIG_DISTRO=""
PACKAGECONFIG_EXAMPLES="examples"
PACKAGECONFIG_FB=""
PACKAGECONFIG_FONTS=" fontconfig"
PACKAGECONFIG_GL="gles2                              "
PACKAGECONFIG_GL_IMX_GPU=""
PACKAGECONFIG_GL_IMX_GPU_mx8="gbm kms"
PACKAGECONFIG_GL_imxgpu2d=" gl                              "
PACKAGECONFIG_GL_imxgpu3d="gles2                              "
PACKAGECONFIG_GL_imxpxp="gles2"
PACKAGECONFIG_GL_use-mainline-bsp="gles2 gbm kms"
PACKAGECONFIG_KDE=""
PACKAGECONFIG_OPENSSL="openssl"
PACKAGECONFIG_PLATFORM="     "
PACKAGECONFIG_PLATFORM_imxgpu2d="no-opengl linuxfb"
PACKAGECONFIG_PLATFORM_imxgpu3d="     "
PACKAGECONFIG_PLATFORM_use-mainline-bsp=""
PACKAGECONFIG_RELEASE="release"
PACKAGECONFIG_SYSTEM="jpeg libpng zlib"
PACKAGECONFIG_VULKAN=""
PACKAGECONFIG_VULKAN_IMX_GPU=""
PACKAGECONFIG_VULKAN_IMX_GPU_mx8="vulkan"
PACKAGECONFIG_VULKAN_IMX_GPU_mx8mm=""
PACKAGECONFIG_VULKAN_imxgpu=""
PACKAGECONFIG_X11="xcb xcb-xinput glib xkb xkbcommon"

Best Regards,
André Dantas

Hi Daniel,

More updates here. I applied the solution that I found here. Now the result of the bitbake qtbase -e | grep ^PACKAGECONFIG command is :

bitbake qtbase -e | grep ^PACKAGECONFIG
PACKAGECONFIG="     release     accessibility dbus udev evdev widgets tools libs freetype tests pcre                openssl     gles2                                          glib xkb xkbcommon           fontconfig     jpeg libpng zlib              linuxfb eglfs gbm gles2 kms sql-sqlite accessibility sql-sqlite     icu     examples "
PACKAGECONFIG_CONFARGS=" -accessibility -no-cups -dbus -no-directfb -eglfs -evdev -make examples -compile-examples -fontconfig -system-freetype -gbm -no-feature-getentropy -no-gif -opengl es2 -glib -no-gtk -qt-harfbuzz -no-ico -no-iconv -icu -no-journald -system-libjpeg -kms -no-libinput -system-libpng -no-libproxy -make libs -linuxfb -trace no -no-mtdev -openssl -system-pcre -release -no-sm -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-odbc -no-sql-psql -sql-sqlite -system-sqlite -no-sql-sqlite2 -no-sql-tds -shared -make tests -make tools -no-tslib -libudev -no-vulkan -widgets -no-xcb -no-xcb-xinput -xkb -xkbcommon -system-zlib"
PACKAGECONFIG_DEFAULT="accessibility dbus udev evdev widgets tools libs freetype tests pcre           "
PACKAGECONFIG_DISTRO=""
PACKAGECONFIG_EXAMPLES="examples"
PACKAGECONFIG_FB=""
PACKAGECONFIG_FONTS=" fontconfig"
PACKAGECONFIG_GL="gles2                              "
PACKAGECONFIG_GL_IMX_GPU=""
PACKAGECONFIG_GL_IMX_GPU_mx8="gbm kms"
PACKAGECONFIG_GL_imxgpu2d=" gl                              "
PACKAGECONFIG_GL_imxgpu3d="gles2                              "
PACKAGECONFIG_GL_imxpxp="gles2"
PACKAGECONFIG_GL_use-mainline-bsp="gles2 gbm kms"
PACKAGECONFIG_KDE=""
PACKAGECONFIG_OPENSSL="openssl"
PACKAGECONFIG_PLATFORM="     "
PACKAGECONFIG_PLATFORM_imxgpu2d="no-opengl linuxfb"
PACKAGECONFIG_PLATFORM_imxgpu3d="     "
PACKAGECONFIG_PLATFORM_use-mainline-bsp=""
PACKAGECONFIG_RELEASE="release"
PACKAGECONFIG_SYSTEM="jpeg libpng zlib"
PACKAGECONFIG_VULKAN=""
PACKAGECONFIG_VULKAN_IMX_GPU=""
PACKAGECONFIG_VULKAN_IMX_GPU_mx8="vulkan"
PACKAGECONFIG_VULKAN_IMX_GPU_mx8mm=""
PACKAGECONFIG_VULKAN_imxgpu=""
PACKAGECONFIG_X11="xcb xcb-xinput glib xkb xkbcommon"

Right now I’m building my image again to see if the eglfs plugin is available.

Best Regards,
André Dantas

Hi Daniel.

I got this error in my build:

INC+3a6d8df521-r0/recipe-sysroot-native=  -fvisibility-inlines-hidden --sysroot=/media/andredantas/data/projects/eld-gdp-dde-bm-oxi-fw-1/PROD/Project/IHM/oe-core/5.0-LTS/build/tmp/work/armv7at2hf-neon-mx6qdl-tdx-linux-gnueabi/qtbase/5.14.2+gitAUTOINC+3a6d8df521-r0/recipe-sysroot --sysroot=/media/andredantas/data/projects/eld-gdp-dde-bm-oxi-fw-1/PROD/Project/IHM/oe-core/5.0-LTS/build/tmp/work/armv7at2hf-neon-mx6qdl-tdx-linux-gnueabi/qtbase/5.14.2+gitAUTOINC+3a6d8df521-r0/recipe-sysroot -O2 -w -fPIC  -I. -I/media/andredantas/data/projects/eld-gdp-dde-bm-oxi-fw-1/PROD/Project/IHM/oe-core/5.0-LTS/build/tmp/work/armv7at2hf-neon-mx6qdl-tdx-linux-gnueabi/qtbase/5.14.2+gitAUTOINC+3a6d8df521-r0/git/mkspecs/linux-oe-g++ -o main.o main.cpp
| > arm-tdx-linux-gnueabi-g++  -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -fstack-protector-strong  -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/media/andredantas/data/projects/eld-gdp-dde-bm-oxi-fw-1/PROD/Project/IHM/oe-core/5.0-LTS/build/tmp/work/armv7at2hf-neon-mx6qdl-tdx-linux-gnueabi/qtbase/5.14.2+gitAUTOINC+3a6d8df521-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fstack-protector-strong -Wl,-z,relro,-z,now --sysroot=/media/andredantas/data/projects/eld-gdp-dde-bm-oxi-fw-1/PROD/Project/IHM/oe-core/5.0-LTS/build/tmp/work/armv7at2hf-neon-mx6qdl-tdx-linux-gnueabi/qtbase/5.14.2+gitAUTOINC+3a6d8df521-r0/recipe-sysroot --sysroot=/media/andredantas/data/projects/eld-gdp-dde-bm-oxi-fw-1/PROD/Project/IHM/oe-core/5.0-LTS/build/tmp/work/armv7at2hf-neon-mx6qdl-tdx-linux-gnueabi/qtbase/5.14.2+gitAUTOINC+3a6d8df521-r0/recipe-sysroot -Wl,-O1 -o sqlite3 main.o   -lsqlite3 -lz
|  => source accepted.
| test config.qtbase_sqldrivers.libraries.sqlite3 succeeded
| Done running configuration tests.
| 
| Configure summary:
| 
| Building on: linux-oe-g++ (arm, CPU features: neon)
| Building for: linux-oe-g++ (arm, CPU features: neon)
| Target compiler: gcc 9.5.0
| Configuration: cross_compile compile_examples enable_new_dtags largefile neon silent shared shared release c++11 c++14 c++1z concurrent dbus reduce_exports stl
| 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 ............................ examples 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 ................................... yes
|   iconv .................................. no
|   ICU .................................... yes
|   Built-in copy of the MIME database ..... yes
|   Tracing backend ........................ <none>
|   Logging backends:
|     journald ............................. no
|     syslog ............................... no
|     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 ............................... no
|   INTEGRITY HID .......................... no
|   mtdev .................................. no
|   tslib .................................. no
|   xkbcommon .............................. yes
|   X11 specific:
|     XLib ................................. yes
|     XCB Xlib ............................. yes
|     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 ...................... yes
|     EGLFS GBM ............................ no
|     EGLFS VSP2 ........................... no
|     EGLFS Mali ........................... no
|     EGLFS Raspberry Pi ................... no
|     EGLFS X11 ............................ no
|   LinuxFB ................................ yes
|   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 ................................. yes
|     Using system provided SQLite ......... yes
|   TDS (Sybase) ........................... no
| Qt Testlib:
|   Tester for item models ................. yes
| 
| Note: Option 'shared' with value 'yes' was specified twice
| 
| Note: -hostbindir is not a subdirectory of -hostprefix.
| Note: -hostlibdir is not a subdirectory of -hostprefix.
| Note: -hostdatadir is not a subdirectory of -hostprefix.
| 
| WARNING: Feature xcb-xinput is insignificant in this configuration, ignoring related command line option(s).
| 
| WARNING: Feature xkb is insignificant in this configuration, ignoring related command line option(s).
| 
| ERROR: Feature 'gbm' was enabled, but the pre-condition 'libs.gbm' failed.
| WARNING: exit code 3 from a shell command.
| ERROR: Execution of '/media/andredantas/data/projects/eld-gdp-dde-bm-oxi-fw-1/PROD/Project/IHM/oe-core/5.0-LTS/build/tmp/work/armv7at2hf-neon-mx6qdl-tdx-linux-gnueabi/qtbase/5.14.2+gitAUTOINC+3a6d8df521-r0/temp/run.do_configure.1936124' failed with exit code 3
ERROR: Task (/media/andredantas/data/projects/eld-gdp-dde-bm-oxi-fw-1/PROD/Project/IHM/oe-core/5.0-LTS/build/../layers/meta-qt5/recipes-qt/qt5/qtbase_git.bb:do_configure) failed with exit code '1'
NOTE: Tasks Summary: Attempted 5987 tasks of which 5717 didn't need to be rerun and 1 failed.
NOTE: Writing buildhistory
NOTE: Writing buildhistory took: 3 seconds

Summary: 1 task failed:
  /media/andredantas/data/projects/eld-gdp-dde-bm-oxi-fw-1/PROD/Project/IHM/oe-core/5.0-LTS/build/../layers/meta-qt5/recipes-qt/qt5/qtbase_git.bb:do_configure
Summary: There was 1 ERROR message shown, returning a non-zero exit code.

Any clue about how to solve this?

Best Regards,
André Dantas

Hi @daniel_m.tx .

Last update from my side. After some debugging here on the recipes, I’m able to start my application with eglfs. But now I’m facing a new problem: Between the splash screen and my application startup I’m able to see the following message in a black screen:

TDX Wayland with XWayland 5.7.3-devel-20231123144536+build.0 (dunfell) localhost ttymxc0
Apalis-iMX6_Reference-Minimal-Image

Do you have any clue why this message is appearing?

Best Regards,
André Dantas

Hi @andrehpd-eld ,

Glad to hear that you were able to solve the issue.

About the issue you mentioned, can you please disable the framebuffer console as explained in this article and check if it solves your issue?

Also, if possible can you share your changes on the recipes to enable the eglfs support? Having this in our community will certainly help someone in the future.

Best regards,
Daniel Morais

Hi @daniel_m.tx .

The article that you send helped a lot. I had to disable the getty@tty1 service, and with the help of this link here I was able to remove it from my yocto build too.

About the changes that I did on the recipes to add eglfs support, I’m goingo to prepare some kind of tutorial with all steps that I did to do enable eglfs support. I think that I’ll use the cinematic-experience app and the Toradex Logo as splash screen as example.

As soon as I have any news about this I will posto here.

Best Regards,
André Dantas