How to enable HDMI on Imx95 verdin 19*19

Hello team,

I’m working with the i.MX95 Verdin board and trying to enable HDMI output using Wayland. The board boots successfully, and I can access it via the serial console, but there’s no display on the connected HDMI monitor.

Here’s my build configuration:

# : DISTRO=fsl-imx-xwayland MACHINE=imx95-19x19-verdin source imx-setup-release.sh -b build-xwayland

# : bitbake imx-image-full

Since fsl-image-wayland and fsl-image-xwayland were not available, I added the following lines to my local.conf to include Wayland and Weston packages:

# =========================
# Wayland / Weston / HDMI / Video Support
# =========================
DISTRO_FEATURES:append = " wayland opengl egl kms"
IMAGE_INSTALL:append = " \
    weston \
    weston-init \
    wayland \
    wayland-protocols \
    wayland-utils \
    libdrm \
    libdrm-tests \
    kmscube \
    mesa \
    gstreamer1.0 \
    gstreamer1.0-plugins-base \
    gstreamer1.0-plugins-good \
    gstreamer1.0-plugins-bad \
    gstreamer1.0-plugins-ugly \
    gstreamer1.0-libav \
    ffmpeg \
    alsa-utils \
    pulseaudio \
"



# Prefer Mesa for GL/EGL
PREFERRED_PROVIDER_virtual/libgl = "mesa"
PREFERRED_PROVIDER_virtual/egl = "mesa"

# Kernel for HDMI & DRM
PREFERRED_PROVIDER_virtual/kernel = "linux-imx"
KERNEL_IMX_CONFIG = "imx_defconfig"

# =========================
# Debian Packaging + Package Management
# =========================
PACKAGE_CLASSES = "package_deb"
EXTRA_IMAGE_FEATURES += "package-management"

After flashing the image to the board, it boots properly, and I can use the serial console. However, no HDMI output is observed on the display.

Imx_bootLogs (62.9 KB)

I have attached my boot log and also bits of log added here:

[    3.124039] pca953x 6-0023: using AI
[    3.135398] adv7511 1-003d: Probe failed. Remote port 'dsi@4acf0000' disabled
[    3.148187] imx6q-pcie 4c380000.pcie: host bridge /soc/pcie@4c380000 ranges:
[    3.155329] imx6q-pcie 4c380000.pcie:       IO 0x088ff00000..0x088fffffff -> 0x0000000000
[    3.159009] sdhci-esdhc-imx 42860000.mmc: Got CD GPIO
[    3.163546] imx6q-pcie 4c380000.pcie:      MEM 0x0a10000000..0x0a1fffffff -> 0x0010000000
[    3.178353] [drm:drm_bridge_attach] *ERROR* failed to attach bridge /soc/dsi@4acf0000 to encoder None-40: -19
[    3.178911] imx6q-pcie 4c300000.pcie: host bridge /soc/pcie@4c300000 ranges:
[    3.188360] [drm:drm_bridge_attach] *ERROR* failed to attach bridge /soc/syscon@4b010000/bridge@8/ports/port@0 to encoder None-40: -19
[    3.195388] imx6q-pcie 4c300000.pcie:       IO 0x006ff00000..0x006fffffff -> 0x0000000000
[    3.207436] [drm:drm_bridge_attach] *ERROR* failed to attach bridge /soc/bridge@4b0d0000/channel@0 to encoder None-40: -19
[    3.208338] mmc1: SDHCI controller on 42860000.mmc [42860000.mmc] using ADMA
[    3.215613] imx6q-pcie 4c300000.pcie:      MEM 0x0910000000..0x091fffffff -> 0x0010000000
[    3.226669] imx95-dpu 4b400000.display-controller: [drm] *ERROR* failed to attach bridge to encoder for stream0: -19
[    3.258540] imx_usb 4c200000.usb: Adding to iommu group 1
[    3.265261] ci_hdrc ci_hdrc.0: stream 15 already in tree
[    3.273254] ci_hdrc ci_hdrc.0: EHCI Host Controller
[    3.278167] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
[    3.296517] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
[    3.302915] hub 1-0:1.0: USB hub found
[    3.306706] hub 1-0:1.0: 1 port detected
[  OK  ] Reached target Network.
         Starting containerd container runtime...
[  OK  ] Started Network Time Service.
[  OK  ] Started Update psplash to network.
         Starting Terminate Psplash Boot Screen...
         Starting Enable Persistent Storage in systemd-networkd...
         Starting Permit User Sessions...
[  OK  ] Started Hostname Service.
[FAILED] Failed to start Terminate Psplash Boot Screen.
See 'systemctl status psplash-quit.service' for details.
[  OK  ] Finished Permit User Sessions.
[  OK  ] Started Getty on tty1.
[  OK  ] Started Serial Getty on ttyLP0.
[  OK  ] Reached target Login Prompts.
         Starting Weston, a Wayland compositor, as a system service...
[  OK  ] Finished Enable Persistent Storage in systemd-networkd.
[  OK  ] Created slice User Slice of UID 0.
         Starting User Runtime Directory /run/user/0...
[  OK  ] Finished User Runtime Directory /run/user/0.
         Starting User Manager for UID 0...
[  OK  ] Started containerd container runtime.
[  OK  ] Reached target Multi-User System.
[  OK  ] Started User Manager for UID 0.
[  OK  ] Started Session c1 of User root.
[FAILED] Failed to start Weston, a Wayland compositor, as a system service.
See 'systemctl status weston.service' for details.
[  OK  ] Reached target Graphical Interface.
         Starting Record Runlevel Change in UTMP...
[  OK  ] Finished Record Runlevel Change in UTMP.

NXP i.MX Release Distro 6.12-styhead imx95-19x19-verdin ttyLP0

imx95-19x19-verdin login: root

I need to achieve HDMI display output with Wayland as the display server. This is essential because I plan to run QT applications on this setup and also video display.

Are there any additional device tree changes or kernel configurations required to enable HDMI for this board? Do I need to add any specific drivers or packages to support the HDMI interface?

Any guidance on how to resolve this issue and get HDMI output working with Wayland would be greatly appreciated.

Thank you!

Hi, I’m the Toradex AI Assistant.

I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.

Did you like my answer? :+1: :-1:


Based on your boot logs, I can see several DRM bridge attachment errors that indicate HDMI output issues with your i.MX95 Verdin setup. Let me provide guidance based on Toradex documentation for addressing device tree and configuration issues.

Device Tree Customization Approach

The errors in your boot log suggest device tree configuration issues. According to Toradex documentation, when dealing with hardware configuration modifications, you should start by identifying the specific hardware requirements(1).

Step 1: Identify Base Device Tree

You need to locate the correct base device tree for your i.MX95 Verdin module(1). The documentation states that you should choose the base device tree that matches your hardware platform, typically found in the device tree directories(1).

Step 2: Device Tree Modification Requirements

For hardware-specific parameters like HDMI configuration, the documentation emphasizes understanding the capabilities and specifications of your hardware components, including the System-on-Chip (SoC), System on Module (SoM), and carrier board(1).

The device tree binding documentation provides detailed information on available device tree nodes, properties, and their valid values(1). You should refer to:

  • Device Tree Bindings for your specific platform
  • Hardware component datasheets

Step 3: Common Device Tree Customizations

Based on the documentation, common device tree modifications include(1):

Activating devices:

&i2c2 {
    status = "okay";
};

(1)

Pin multiplexing configuration:

&iomuxc {
    ...
    pinctrl_i2c3: i2c3grp {
        fsl,pins = <
            MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1
            MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
        >;
    };
    ...
};

(1)

Device Tree Overlays Alternative

If you prefer using device tree overlays instead of modifying the base device tree, the documentation provides guidance on this approach(2). Device tree overlays allow dynamic modifications without recompiling the entire device tree(2).

The documentation explains that overlay files (*.dtbo) are generated by compiling device tree overlay source (DTO) files, which describe modifications including device additions, property changes, and device tree substitutions(2).

Qt Application Support

For your Qt application requirements, Toradex provides Qt for Device Creation (Boot to Qt) images(3). The documentation shows various releases available for different modules, including support for video output and media playback(3).

Recommended Next Steps

  1. Examine the base device tree for your i.MX95 Verdin to identify HDMI-related nodes
  2. Check device tree bindings for your specific SoC’s display controller and HDMI interface
  3. Verify pin assignments and ensure proper pin multiplexing for HDMI signals
  4. Consider using device tree overlays for cleaner customization management(2)

The documentation emphasizes that device tree customization should reflect your specific hardware description and the changes needed for your custom hardware(1).

Best regards,
Toradex AI Assistant.

I can help you with it. Make sure you booted the board with the correct device tree: lt8 something is called. I do not have the name on had:
In u-boot do thsi: setenv fdtfile <name_of_lt8_something.dtb>
saveenv
boot
then, once serial is up, you should have a display, if not, maybe weston crashed ( the nxp software contains a buggy weston btw) do this: #systemctl restart weston.

Hi @siddharthav

As mentioned by @Ahelion, have you enabled the correct device-tree?