Setting 2160p60 resolution & refresh rate

I have a monitor which my laptop can connect to at 3840 x 2160 @ 60hz no problem.

When I connect the Nvidia Nano devkit to the same monitor I cannot set the 3840 x 2160 @ 60 display mode.

when I run xrandr it says the monitor only supports up to 30hz. I know this is not true because it is a brand new 4k60 monitor and my laptop can run this resolution and refresh rate on the same monitor with no issues.

So I have been trying to work out how to resolve this issue. This is what I have tried so far:

First of all I set the option in /etc/X11/xorg.conf to not use EDID from the monitor, like this:

Section “Device”
Identifier “Tegra0”
Driver “nvidia”
Option “AllowEmptyInitialConfiguration” “true”
Option “UseEDID” “FALSE”
EndSection

then from my SSH terminal I run the following command:

export DISPLAY=:0
gtf 3840 2160 60

this gives me the following output:

3840x2160 @ 60.00 Hz (GTF) hsync: 134.10 kHz; pclk: 712.34 MHz
Modeline “3840x2160_60.00” 712.34 3840 4152 4576 5312 2160 2161 2164 2235 -HSync +Vsync

next I run the following command:

xrandr --newmode “3840x2160_60.00” 712.34 3840 4152 4576 5312 2160 2161 2164 2235 -HSync +Vsync

then I run this command:

xrandr --addmode HDMI-0 “3840x2160_60.00”

which results in this output:

X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 18 (RRAddOutputMode)
Serial number of failed request: 25
Current serial number in output stream: 26

I am testing with JetPack 4.3 on an Nvidia Nano devkit

Can anyone advise on how to achieve the 2160p60 resolution and refresh rate please?

The driver supports only EDID settings. You must use EDID.

Thanks for the advice. I suspected that might be the case.

Is there a way that I can read the EDID when I have that monitor connected? Maybe I can copy it here? I would like to understand why I have many devices here which can achieve 2160p 60 with this monitor yet the nano devkit cannot achieve 2160p 60

https://elinux.org/Jetson_TX2/r28_Display_debug

Follow this page and enable the full log from X11. If X11 does not have 4k@60 mode shown, it means the kernel filter this mode out.

Hi Wayne

Thank you for the info, I will check this out. Out of interest, why might the kernel filter modes out? Is it possible to have any influence on this filtering out of display modes.

Thanks and best regards

Kernel filters it out because the hardware is not able to support it well.

Please be aware that jetson nano is TX1 SoC. So not as good as TX2 or Xavier.

I am seeing the same problem with TX2 NX module also.

Anyway… I stepped through some of the instructions here: Jetson TX2/r28 Display debug - eLinux.org and the EDID is only saying maximum is 2160p30 so that is the problem.

If I capture an EDID from a device that does support 2160p60 is it possible to force the EDID on the jetson devices?

I saw these notes in the link you provided:

  • Forcing edid (This is most likely when your monitor failed to be up due to problematic default EDID)
  1. Prepare a known 256byte EDID.
  2. set use_fallback = true; in tegra_edid_get_monspecs() under edid.c.
  3. fill in the known EDID to default_720p_edid[256].

Do these work? If so where is edid.c and how do i compile it?

Thanks

Download the kernel source from each L4T archive webpage and then follow the developer guide → kernel customization section.

We don’t guarantee such use case since we don’t know whether your monitor really supports 4k@60 or not, since original edid does not support that mode.

Those methods are more like debug methods but not for you to really to deploy to product.

hmmm, recompiling the kernel to get the jetson device to support a monitors native resolution of 2160p60 seems rather extreme. Is there really no way to spoof the EDID without making a custom kernel?

No, either modifying the kernel or putting new edid in the device tree. Which also requires to download the source from kernel source tarball, re-compile and reflash.

Remember that EDID is the “plug-n-play” mechanism to prevent needing extra manual configuration, and it isn’t really needed to rebuild a kernel for a mode the system is capable of. I could put a speedometer which reads up to 200 m.p.h. on a bicycle, but it wouldn’t be of use. The tech behind the Nano (note the NX) is much older than any model of Xavier. The GPU has advanced since the days of the Nano’s SoC. I don’t think you can do this without a new GPU in one of the more modern Jetsons. For the NX, perhaps it can’t reach that with the required scan line rates.

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