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é