How to pseudo-recognize a fixed EDID on an output port

We are planning to create a product based on OrinNx, which comes with a built-in panel. In doing so, we would like the system to behave as if it has a fixed EDID rather than communicating via EDID (we intend to use HDMI as the output to the panel).

I found a forum post like the one below, but in my environment, even after creating the kernel and device tree that reflect the necessary changes, the X server did not seem to recognize or output the target resolution.

$ DISPLAY=:0 xrandr
Screen 0: minimum 8 x 8, current 640 x 480, maximum 32767 x 32767
HDMI-0 disconnected primary (normal left inverted right x axis y axis)

In the case of HDMI output, would further modifications be necessary? Or would completely different settings or driver modifications be required to meet the above requirements?

Thank you in advance for your help.

Is there any physical monitor connected or not?

Hi, Wayne. Thank you for your confirmation.

Although it’s not an external monitor, a panel (or more precisely, a panel control chip) is physically connected.

As a side note, from prior tests, we have confirmed that HDMI output works when the panel control chip is connected, including the DDC communication line. However, for the following reasons, we are considering a method that allows HDMI output without obtaining EDID from the panel control chip via DDC (with the DDC line not connected):

Therefore, we are exploring whether it is possible to achieve this by having Orin hold a fixed EDID.

Thank you.

If you are using Xorg, then you could just use Xorg setting to read fixed EDID.

With such method, above patch is not needed.

Option "CustomEDID" "string"
This option forces the X driver to use the EDID specified in a file rather than the display's EDID. You may specify a semicolon separated list of display names and filename pairs. Valid display device names include "CRT-0", "CRT-1", "DFP-0", "DFP-1", "TV-0", "TV-1", or one of the generic names "CRT", "DFP", "TV", which apply the EDID to all devices of the specified type. Additionally, if SLI Mosaic is enabled, this name can be prefixed by a GPU name (e.g., "GPU-0.CRT-0"). The file contains a raw EDID (e.g., a file generated by nvidia-settings).

For example:

    Option "CustomEDID" "CRT-0:/tmp/edid1.bin; DFP-0:/tmp/edid2.bin"
will assign the EDID from the file /tmp/edid1.bin to the display device CRT-0, and the EDID from the file /tmp/edid2.bin to the display device DFP-0. Note that a display device name must always be specified even if only one EDID is specified.

Caution: Specifying an EDID that doesn't exactly match your display may damage your hardware, as it allows the driver to specify timings beyond the capabilities of your display. Use with care.

When this option is set for an X screen, it will be applied to all X screens running on the same GPU.

Thank you for your prompt response.
I understand that it is better to achieve the above through X configuration.
I will try that method.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.