PYNQ: PYTHON PRODUCTIVITY

Why does HDMI don't use DRM?

Hi, I knew the display port(ZCU104) implements by drm.py which links to Linux - Direct Rendering Manager(DRM) subsystem, and the DRM includes the HDMI interface too.
So, why does HDMI need to use base overlay to implement on example?

I guess the reason:
There is a display port chip which connect to ‘/dev/dri/card0’.
However, there isn’t a dedicated chip for HDMI interface. So it needs PL to implement that.
Is it right?

Any help will be highly appreciated!

It is possible to use the HDMI output through DRM but not through PYNQ. You can use the pre-built images in the ZCU104 Petalinux BSP to explore HDMI/DRM. The reason this isn’t done with PYNQ is that it requires DRM to control IP in the PL, thus you can’t reprogram the PL without potentially locking up the system. Therefore we have our own user-space only infrastructure for interacting with the HDMI output.

Peter

1 Like

Dear Peter:

Thanks for your reply!
After researching, I found the ZynqMP Standalone DisplayPort Driver page.
I’m confused the relationship between the DRM and ZynqMP Standalone DisplayPort Driver.
Does the display port use the dppsu, avbuf & dpdma driver to correspond with DRM driver on ZCU104, so we can use drm subsystem for display port?

Hughes

DisplayPort, at least the way we use it, is independent of the FPGA fabric so we don’t have the same issues with using the Linux Drivers. We don’t do anything other than use the built-in Linux drivers for Displayport - we’re not using the standalone drivers at all. The details of the Linux driver at here.

Peter

1 Like