Need Help Enabling HDMI on Debix Model A

Tarang Raval tarang.raval at siliconsignals.io
Thu Apr 10 08:13:17 UTC 2025


Hi Laurent,

> On Mon, Apr 07, 2025 at 02:06:35PM +0000, Tarang Raval wrote:
> > > On Mon, Apr 07, 2025 at 11:10:23AM +0000, Tarang Raval wrote:
> > > > Hi Laurent,
> > > >
> > > > I’m trying to bring up HDMI on the Debix Model A board using the
> > > > mainline kernel, but I’m currently facing issues.
> > > >
> > > > I saw that you tested the patch for HDMI support on this board in
> > > > mainline, so I am hoping you could help me figure out what might be
> > > > missing.
> > > >
> > > > To clarify — I'm using the prebuilt image provided by Debix, but I replaced
> > > > the kernel image and the device tree (DTS) file in the /boot directory with
> > > > ones built from the mainline kernel.
> > > >
> > > > I’ve enabled the following configurations in the kernel:
> > > > CONFIG_DRM_DISPLAY_CONNECTOR=y
> > > > CONFIG_DRM_IMX8MP_DW_HDMI_BRIDGE=y
> > > > CONFIG_DRM_IMX8MP_HDMI_PVI=y
> > > > CONFIG_DRM_IMX_LCDIF=y
> > > > CONFIG_PHY_FSL_SAMSUNG_HDMI_PHY=y
> > > >
> > > > When I boot the board, I see the following HDMI/DRM related logs:
> > > > debix at imx8mp-debix:~$ dmesg | grep -iE "drm|hdmi"
> > > > [    0.121979] /soc at 0/bus at 32c00000/display-bridge at 32fc4000: Fixed dependency cycle(s) with /soc at 0/bus at 32c00000/hdmi at 32fd8000
> > > > [    0.122164] /soc at 0/bus at 32c00000/hdmi at 32fd8000: Fixed dependency cycle(s) with /soc at 0/bus at 32c00000/display-bridge at 32fc4000
> > > > [    0.127417] /soc at 0/bus at 32c00000/hdmi at 32fd8000: Fixed dependency cycle(s) with /hdmi-connector
> > > > [    0.127608] /hdmi-connector: Fixed dependency cycle(s) with /soc at 0/bus at 32c00000/hdmi at 32fd8000
> > > > [    1.947962] imx8mp-dw-hdmi-tx 32fd8000.hdmi: Detected HDMI TX controller v2.13a with HDCP (SAMSUNG HDMI TX PHY)
> > > > [    1.949220] imx8mp-dw-hdmi-tx 32fd8000.hdmi: registered DesignWare HDMI I2C bus driver
> > > > [    1.956365] [drm] Initialized imx-lcdif 1.0.0 for 32fc6000.display-controller on minor 0
> > > > [    2.016601] imx-lcdif 32fc6000.display-controller: [drm] fb0: imx-lcdifdrmfb frame buffer device
> > > > [    8.380915] systemd[1]: Starting Load Kernel Module drm...
> > > >
> > > >
> > > > I also checked that the display's modeline is recognized under sysfs :
> > > >
> > > > root at imx8mp-debix:~# ls /sys/class/drm/card0-HDMI-A-1/
> > > > connector_id  dpms          modes         subsystem/
> > > > ddc/          edid          power/        uevent
> > > > device/       enabled       status
> > > >
> > > > However, there is still no HDMI output on the display. Instead,
> > > > I only see a white blinking cursor on the screen.. I'm not sure
> > > > what I'm missing.
> > > 
> > > The white blinking cursor means the display is working from the kernel
> > > point of view. What are you expecting, are you running an X server or
> > > Wayland compositor ?
> >
> > I'm expecting to see the Ubuntu desktop environment on the HDMI
> > display — just like how it appears with the original prebuilt image provided
> > by Debix. I'm running the default Ubuntu 22.04 LTS prebuilt image, and I only
> > replaced the Image and .dtb file
> >
> > I'm not explicitly launching an X server or Wayland compositor myself
> >
> > However, based on your response, I now realize that I may also need to
> > enable GPU support in the mainline device tree. Specifically, I believe I
> > need to enable the gpu2D and gpu3D nodes to allow the graphical
> > environment to start properly and render the desktop over HDMI.
> >
> > Does that sound correct, or is there anything else I should check or
> > enable?
> 
> That's a plausible explanation. The 2D GPU is probably not used by the
> compositor, but a 3D GPU could be required. I'd recommend checking the
> system logs to see why the compositor (or session manager) failed to
> start.

I reviewed the system logs for more context regarding the failure of the 
compositor (or session manager) to start.

Here are some relevant log entries from journalctl -b -p err:

debix at imx8mp-debix:~$ journalctl -b -p err
Hint: You are currently not seeing messages from other users and the system.
      Users in groups 'adm', 'systemd-journal' can see all messages.
      Pass -q to turn off this notice.
Apr 10 06:37:29 imx8mp-debix pulseaudio[766]: GetManagedObjects() failed: org.freedesktop.systemd1.NoSuchUnit: Unit dbus-org.bluez.serv>
Apr 10 06:37:29 imx8mp-debix systemd[757]: Failed to start Application launched by gnome-session-binary.
Apr 10 06:37:29 imx8mp-debix systemd[757]: Failed to start Application launched by gnome-session-binary.
Apr 10 06:37:30 imx8mp-debix systemd[757]: Failed to start GNOME Shell on Wayland.

Additionally, from journalctl -b | grep -i gnome, the following lines appear to be significant:

Apr 10 06:37:29 imx8mp-debix systemd[757]: org.gnome.Shell at x11.service: Skipped due to 'exec-condition'.
Apr 10 06:37:29 imx8mp-debix systemd[757]: Started GNOME Shell on X11.
Apr 10 06:37:30 imx8mp-debix gnome-shell[873]: Running GNOME Shell (using mutter 42.9) as a Wayland display server
Apr 10 06:37:30 imx8mp-debix gnome-shell[873]: g_hash_table_destroy: assertion 'hash_table != NULL' failed
Apr 10 06:37:30 imx8mp-debix gnome-shell[873]: Failed to open gpu '/dev/dri/card0': No suitable mode setting backend found
Apr 10 06:37:30 imx8mp-debix gnome-shell[873]: Added device '/dev/dri/card1' (imx-lcdif) using atomic mode setting.
Apr 10 06:37:30 imx8mp-debix gnome-shell[873]: Failed to setup: No GPUs with outputs found

the GNOME Shell logs indicate that no GPUs with outputs were found but the dmesg 
output suggests that the GPU is successfully probed and initialized:

debix at imx8mp-debix:~$ dmesg | grep -i -e drm -e gpu -e galcore -e etnaviv
[    2.156784] etnaviv etnaviv: bound 38000000.gpu (ops gpu_ops)
[    2.157294] etnaviv etnaviv: bound 38008000.gpu (ops gpu_ops)
[    2.157753] etnaviv etnaviv: bound 38500000.npu (ops gpu_ops)
[    2.157852] etnaviv-gpu 38000000.gpu: model: GC7000, revision: 6204
[    2.157986] etnaviv-gpu 38008000.gpu: model: GC520, revision: 5341
[    2.158111] etnaviv-gpu 38500000.npu: model: GC8000, revision: 8002
[    2.158118] etnaviv-gpu 38500000.npu: etnaviv has been instantiated on a NPU, for which the UAPI is still experimental
[    2.158905] [drm] Initialized etnaviv 1.4.0 for etnaviv on minor 0
[    2.161597] [drm] Initialized imx-lcdif 1.0.0 for 32fc6000.display-controller on minor 1
[    2.161637] imx-lcdif 32fc6000.display-controller: [drm] Cannot find any crtc or sizes
[   10.201152] systemd[1]: Starting Load Kernel Module drm...

I have not yet identified a conclusive reason for GNOME Shell's failure to start.  

However, since my primary objective was to preview the camera output 
on the display, I initially suspected the issue might be related to the HDMI 
display, as I encountered errors while using autovideosink. After your 
confirmation that the display was functioning correctly, I explored alternative 
video sinks and was able to successfully achieve a working preview using 
fbdevsink.

I may revisit the GNOME Shell issue when time permits. If you have any 
suggestions or insights regarding the compositor or GPU setup failure, I’d be 
happy to take them into consideration.

Best regards,
Tarang

> > > > Could you please help me out or point me in the right direction?
> > > >
> > > > Thank you for your time.
> 
> --
> Regards,
> 
> Laurent Pinchart


More information about the dri-devel mailing list