HDMI not working with Weston on iMX8

Hi Toradex team,

I encounter several HDMI issues recently depending on the HDMI screen I use.

For instance, a recent HDMI screen (Verbatim PMT-15 - 49592) I bought indicates “No signal” (I made sure to select the correct input signal as HDMI of course) when the HDMI is connected to the Ixora (V1.3A) /iMX8 (Apalis iMX8 QM 4GB Wi-Fi / BT IT V1.1E) with TorizonCore 5.7.2+build.20.modified.container (2023-04-13) and a custom docker-compose.yml running my Qt5 application container and torizon/weston-vivante:2

The weston container logs indicate that Weston can find the screen , and every thing looks normal in the log, except for Screen share failed: No wl_shm found, unknown child process exited and could not load cursor ... (see details hereafter)

My Qt5 application is running on another container and does not complains and runs correctly.

Here are weston logs docker logs torizon_weston_1

...
              GL_ANDROID_extension_pack_es31a GL_VIV_direct_texture
[14:30:10.198] GL ES 2 renderer features:
               read-back format: BGRA
               wl_shm sub-image to texture: yes
               EGL Wayland extension: yes
[14:30:10.234] event0  - sc-powerkey: is tagged by udev as: Keyboard
[14:30:10.234] event0  - sc-powerkey: device is a keyboard
[14:30:10.234] event0  - sc-powerkey: is tagged by udev as: Keyboard
[14:30:10.234] event0  - sc-powerkey: device is a keyboard
[14:30:10.238] event1  - imx-audio-hdmi-tx HDMI Jack: is tagged by udev as: Switch
[14:30:10.239] event1  - not using input device '/dev/input/event1'
[14:30:10.238] event1  - imx-audio-hdmi-tx HDMI Jack: is tagged by udev as: Switch
[14:30:10.239] event1  - not using input device '/dev/input/event1'
[14:30:10.275] libinput: configuring device "sc-powerkey".
[14:30:10.275] libinput: configuring device "sc-powerkey".
[14:30:10.306] DRM: head 'HDMI-A-1' found, connector 148 is connected, EDID make 'RTK', model 'Verbatim MT1', serial 'demoset-1'
[14:30:10.306] Registered plugin API 'weston_drm_output_api_v1' of size 24
[14:30:10.306] Registered plugin API 'weston_drm_virtual_output_api_v1' of size 48
[14:30:10.306] DRM: head 'HDMI-A-1' found, connector 148 is connected, EDID make 'RTK', model 'Verbatim MT1', serial 'demoset-1'
[14:30:10.306] Registered plugin API 'weston_drm_output_api_v1' of size 24
[14:30:10.306] Registered plugin API 'weston_drm_virtual_output_api_v1' of size 48
[14:30:10.315] Chosen EGL config details: id:  41 rgba: 8 8 8 0 buf: 24 dep:  0 stcl: 0 int: 1-60 type: win|pix|pbf|swap_preserved vis_id: XRGB8888 (0x34325258)
[14:30:10.315] Chosen EGL config details: id:  41 rgba: 8 8 8 0 buf: 24 dep:  0 stcl: 0 int: 1-60 type: win|pix|pbf|swap_preserved vis_id: XRGB8888 (0x34325258)
[14:30:10.315] Output HDMI-A-1 (crtc 38) video modes:
               1920x1080@60.0, preferred, current, 148.5 MHz
               1920x1080@60.0 16:9, 148.5 MHz
               1920x1080@59.9 16:9, 148.4 MHz
               1600x900@60.0, 108.0 MHz
               1280x800@59.9, 71.0 MHz
               1280x720@60.0 16:9, 74.2 MHz
               1280x720@59.9 16:9, 74.2 MHz
               1024x768@60.0, 65.0 MHz
               800x600@60.3, 40.0 MHz
               720x480@60.0 4:3, 27.0 MHz
               720x480@60.0 16:9, 27.0 MHz
               720x480@59.9 4:3, 27.0 MHz
               720x480@59.9 16:9, 27.0 MHz
               640x480@60.0 4:3, 25.2 MHz
               640x480@59.9, 25.2 MHz
               640x480@59.9 4:3, 25.2 MHz
[14:30:10.316] associating input device event0 with output HDMI-A-1 (none by udev)
[14:30:10.316] Output 'HDMI-A-1' enabled with head(s) HDMI-A-1
[14:30:10.316] Compositor capabilities:
               arbitrary surface rotation: yes
               screen capture uses y-flip: yes
[14:30:10.315] Output HDMI-A-1 (crtc 38) video modes:
               1920x1080@60.0, preferred, current, 148.5 MHz
               1920x1080@60.0 16:9, 148.5 MHz
               1920x1080@59.9 16:9, 148.4 MHz
               1600x900@60.0, 108.0 MHz
               presentation clock: CLOCK_MONOTONIC, id 1
               presentation clock resolution: 0.000000001 s
               1280x800@59.9, 71.0 MHz
               1280x720@60.0 16:9, 74.2 MHz
               1280x720@59.9 16:9, 74.2 MHz
               1024x768@60.0, 65.0 MHz
               800x600@60.3, 40.0 MHz
               720x480@60.0 4:3, 27.0 MHz
               720x480@60.0 16:9, 27.0 MHz
               720x480@59.9 4:3, 27.0 MHz
               720x480@59.9 16:9, 27.0 MHz
               640x480@60.0 4:3, 25.2 MHz
               640x480@59.9, 25.2 MHz
               640x480@59.9 4:3, 25.2 MHz
[14:30:10.316] associating input device event0 with output HDMI-A-1 (none by udev)
[14:30:10.316] Output 'HDMI-A-1' enabled with head(s) HDMI-A-1
[14:30:10.316] Compositor capabilities:
               arbitrary surface rotation: yes
               screen capture uses y-flip: yes
               presentation clock: CLOCK_MONOTONIC, id 1
               presentation clock resolution: 0.000000001 s
[14:30:10.317] Loading module '/usr/lib/aarch64-linux-gnu/weston/desktop-shell.so'
[14:30:10.317] Loading module '/usr/lib/aarch64-linux-gnu/weston/desktop-shell.so'
[14:30:10.321] launching '/usr/lib/aarch64-linux-gnu/weston-keyboard'
[14:30:10.321] launching '/usr/lib/aarch64-linux-gnu/weston-keyboard'
[14:30:10.329] Loading module '/usr/lib/aarch64-linux-gnu/weston/screen-share.so'
[14:30:10.329] Loading module '/usr/lib/aarch64-linux-gnu/weston/screen-share.so'
[14:30:10.347] Screen share failed: No wl_shm found
[14:30:10.347] Screen share failed: No wl_shm found
[14:30:10.348] Loading module '/usr/lib/aarch64-linux-gnu/libweston-9/xwayland.so'
[14:30:10.348] Loading module '/usr/lib/aarch64-linux-gnu/libweston-9/xwayland.so'
[14:30:10.420] Registered plugin API 'weston_xwayland_v1' of size 32
[14:30:10.420] Registered plugin API 'weston_xwayland_surface_v1' of size 16
[14:30:10.420] Registered plugin API 'weston_xwayland_v1' of size 32
[14:30:10.420] Registered plugin API 'weston_xwayland_surface_v1' of size 16
[14:30:10.421] xserver listening on display :0
[14:30:10.421] launching '/usr/lib/aarch64-linux-gnu/weston-desktop-shell'
[14:30:10.421] xserver listening on display :0
[14:30:10.421] launching '/usr/lib/aarch64-linux-gnu/weston-desktop-shell'
[14:30:10.513] unknown child process exited
[14:30:10.513] unknown child process exited
could not load cursor 'dnd-move'
could not load cursor 'dnd-move'
could not load cursor 'dnd-move'
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'
could not load cursor 'dnd-none'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'
could not load cursor 'dnd-none'

I also tried to connect a USB cable between the screen and the Ixora to make use of the touch screen, but it does not change the issue.

nb :

  • I also tried with another new screen from the same manufacturer but without touchscreen and I encounter the same issue.
  • I recently encountered another issue with an older screen I am using for years with the Toradex modules. Here the HDMI works sometimes depending on the screen and Ixora switch ON sequence or other factors, I am not sure (powering ON the screen first, then powering ON the Ixora seems to give the best probability the screen will work). But here the issue is different as the screen is not detected at all based on the logs.

It both cases it occurs with modules I bought very recently (some weeks ago) and without any modifications of my docker-compose.yml

Do you have any idea how to debug this ?

Best regards,
Fabian

Greetings @fdortu,

This sounds very odd, we haven’t heard of any systematic issues with HDMI on our modules. Though customers have had issues with HDMI it was almost always due to the display side of things. That said I have some initial questions:

I also tried with another new screen from the same manufacturer but without touchscreen and I encounter the same issue.

How about other displays? Is it just displays from this manufacturer that have the no signal issue?

It both cases it occurs with modules I bought very recently (some weeks ago)

Are you implying here that this worked with older modules in the past?

Do you also have no signal when running other software besides TorizonCore? For example what about Toradex Easy Installer or our multimedia reference image, do these also not work?

Best Regards,
Jeremias

Hi Jeremias,

We did not investigate deeply the HDMI issue, but I can tell the following:

I don’t know if the problem did occur or not with older modules because I did not test it. I can only say that I tested on modules recently bought (ref in my previous message).

The HDMI issue only shows with BSP5. It works fine with BSP6.

We are therefore making the move to BSP6 and Torizon IDE 2.

Best regards,
Fabian

Hi @fdortu !

Thanks for the update.

Best regards,