Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!
Did you like my answer?
It looks like you’re encountering an issue with Weston failing to start on your custom image for the Verdin iMX8M Plus module. The error message indicates that the wayland-backend.so
module cannot be found, which is likely causing the compositor backend to fail.
Here are a few steps to troubleshoot and resolve the issue:
-
Check Weston Configuration:
Ensure that yourweston.ini
configuration file is correctly set up. The file should be located at/etc/xdg/weston/weston.ini
. Verify that the[core]
section is properly configured to use the correct backend. -
Verify Weston Installation:
Make sure that all necessary Weston packages are installed. Specifically, check if thelibweston-10
package is installed, as it contains thewayland-backend.so
module.opkg list-installed | grep weston
If the package is missing, you can add it to your image by modifying your Yocto recipe:
CORE_IMAGE_EXTRA_INSTALL += "weston libweston-10"
-
Device Tree Overlays:
You mentioned that the overlays are being applied correctly. Double-check that the HDMI-related overlays are correctly specified and applied. The relevant overlays for HDMI on the Verdin iMX8M Plus should includeverdin-imx8mp_hdmi_overlay.dtbo
andverdin-imx8mp_dsi-to-hdmi_overlay.dtbo
. -
Kernel Modules:
Ensure that the necessary kernel modules for HDMI are loaded. You can check the loaded modules using:lsmod
If any required modules are missing, you may need to include them in your kernel configuration.
-
Logs and Debugging:
Check the system logs for more detailed error messages that might provide additional clues. You can usedmesg
andjournalctl
to inspect the logs:dmesg | grep drm journalctl -xe
-
Weston Command Line:
When running Weston from the console, try specifying the backend explicitly:/usr/bin/weston --backend=drm-backend.so --modules=systemd-notify.so
This can help ensure that Weston is using the correct backend.
-
Yocto Recipe:
Review your Yocto recipe to ensure that all necessary dependencies and configurations are included. Here is a simplified example of what your recipe might look like:DESCRIPTION = "My image" LICENSE = "MIT" inherit core-image features_check populate_sdk_qt6 CONFLICT_DISTRO_FEATURES = "directfb" IMAGE_FEATURES += " \ splash \ package-management \ ssh-server-openssh \ hwcodecs \ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'weston', \ bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11-base x11-sato', '', d), d)} \ " CORE_IMAGE_EXTRA_INSTALL += " \ packagegroup-core-full-cmdline \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'weston-xwayland', '', d)} \ fbgrab \ libgpiod \ libgpiod-tools \ rsync \ weston \ libweston-10 \ " CORE_IMAGE_EXTRA_INSTALL:mx8-generic-bsp += " \ packagegroup-fsl-gstreamer1.0 \ packagegroup-fsl-gstreamer1.0-full \ " systemd_disable_vt () { rm ${IMAGE_ROOTFS}${sysconfdir}/systemd/system/getty.target.wants/getty@tty*.service } # Install fonts QT6_FONTS = " \ ttf-dejavu-mathtexgyre \ ttf-dejavu-sans \ ttf-dejavu-sans-condensed \ ttf-dejavu-sans-mono \ ttf-dejavu-serif \ ttf-dejavu-serif-condensed \ " QT6_IMAGE_INSTALL = " \ ${QT6_FONTS} \ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'qtwayland qtwayland-plugins', '', d)} \ " IMAGE_INSTALL += " \ ${QT6_IMAGE_INSTALL} \ packagegroup-tdx-cli \ packagegroup-tdx-graphical \ chrony \ aqt6app \ " IMAGE_PREPROCESS_COMMAND:append = " ${@ 'systemd_disable_vt;' if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d) and
Please, also check if these links can help you solve your problem: