Jetson nano can not set DP resolution by xrandr

I can not set DP resolution by xrandr.
I want to set 3200x1600 resolution with custom timing set.

pi@pi-desktop:~$ xrandr
Screen 0: minimum 8 x 8, current 5120 x 1600, maximum 16384 x 16384
HDMI-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 480mm x 260mm
   1920x1080     60.00*+  75.00    60.00    59.95    50.00
   1600x900      60.00
   1366x768      75.00    60.00
   1360x765      60.01
   1280x1024     75.03    60.00
   1280x720      60.00    59.94    50.00
   1024x768      75.03    70.07    60.01
   1024x576      59.97
   800x600       75.00    72.19    60.32    56.25
   720x576       50.00
   720x480       59.94
   720x400       70.04
   640x480       75.00    72.81    67.06    59.94
DP-0 connected 3200x1600+1920+0 (normal left inverted right x axis y axis) 800mm x 450mm
   3200x1600     90.00*+  70.00
   1920x1080     60.00    59.95
   640x480       59.94

i added a newmode

pi@pi-desktop:~$ xrandr --newmode "3200x1600_90" 538.270 3200 3260 3268 3360 1600 1629 1630 1780 +hsync +vsync
pi@pi-desktop:~$ xrandr
Screen 0: minimum 8 x 8, current 5120 x 1600, maximum 16384 x 16384
HDMI-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 480mm x 260mm
   1920x1080     60.00*+  75.00    60.00    59.95    50.00
   1600x900      60.00
   1366x768      75.00    60.00
   1360x765      60.01
   1280x1024     75.03    60.00
   1280x720      60.00    59.94    50.00
   1024x768      75.03    70.07    60.01
   1024x576      59.97
   800x600       75.00    72.19    60.32    56.25
   720x576       50.00
   720x480       59.94
   720x400       70.04
   640x480       75.00    72.81    67.06    59.94
DP-0 connected 3200x1600+1920+0 (normal left inverted right x axis y axis) 800mm x 450mm
   3200x1600     90.00*+  70.00
   1920x1080     60.00    59.95
   640x480       59.94
  3200x1600_90 (0x218) 538.270MHz +HSync +VSync
        h: width  3200 start 3260 end 3268 total 3360 skew    0 clock 160.20KHz
        v: height 1600 start 1629 end 1630 total 1780           clock  90.00Hz

then i addmode

pi@pi-desktop:~$ xrandr --addmode DP-0 3200x1600_90
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:  27
  Current serial number in output stream:  28

here is the x error, i look around in google but i cant resolve it

Hi,

tegra does not accept custom timing through xarndr. We only accept a mode from EDID.

so how can i change jetson nano output timing for DP

Hi,

You could use xrandr --mode to switch to some mode that is already on the list.

the mode in the list is not corrent ,there is stripe shake on the srceen 。 can i hard coding for DP like this?
https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%2520Linux%2520Driver%2520Package%2520Development%2520Guide%2Fdisplay_configuration.html%23wwpID0E0DI0HA

Hi,

the mode in the list is not corrent ,there is stripe shake on the srceen 。

Actually I am wondering this issue too. Is the result you just shared with 3200x1600 in 90fps a result from Jetson Nano?
We don’t have any display >60 fps to try on Jetson Nano before.

can i hard coding for DP like this?

This script is only applicable to Xavier only. You could try to add a new EDID in driver to cheat the display driver.

https://elinux.org/Jetson_TX2/r28_Display_debug

Please check the “forcing edid” method here.

the result is from jetson nano. when i plugin monitor on , xrandr auto set this mode .

pi@pi-desktop:~$ sudo cat /sys/kernel/debug/tegradc.X/mode #X=0,1,2
[sudo] password for pi:
cat: /sys/kernel/debug/tegradc.X/mode: No such file or directory

is this means i need install drivers?

I have a note there to point out X=0 or 1 or 2. This is a variable so please use the correct number.

It means tegradc.0 or tegradc.1 or tegradc.2. TX1/Nano only has tegradc.0 and tegradc.1.

the result is from jetson nano. when i plugin monitor on , xrandr auto set this mode .

Could you dump the dmesg for us?

Actually, I don’t suggest anyone to customize the mode. If your monitor tells you the capability by edid, then you should just follow its edid. For example, what you are trying to do is like hardcoding a 4k resolution mode to a 1080p monitor. Your case is just not that extreme but still similar.

I am wondering your error case comes from our driver which is not able to output >60 fps.

OK,thankyou,:p,i get the right data

pi@pi-desktop:~$ sudo cat /sys/kernel/debug/tegradc.1/mode #X=0,1,2
pclk: 529940000
h_ref_to_sync: 1
v_ref_to_sync: 1
h_sync_width: 8
v_sync_width: 1
h_back_porch: 40
v_back_porch: 150
h_active: 3200
v_active: 1600
h_front_porch: 60
v_front_porch: 29
flags: 0x0
stereo_mode: 0
avi_m: 0x2
vmode: 0x10200000

here is the dump filedump.log (81.1 KB)

Thanks for sharing. We will check.

But I guess the final solution may be the driver will skip this 3200x1600x 90 mode of your monitor and you will not able to use it. Because it is jetson Nano which uses TX1 chip, the hardware may not be able to run this mode.

This is just my guess before the debug starts. Just want to inform you first.

Hi,

Also want to know. Does that DP monitor have HDMI port? If it has, could you connect it to HDMI port and see if xrandr has 3200x1600@90 mode?

no,the monitor dont have hdmi port。。。

Forgot to ask. Which jetapck release are you using now?

sd card Image JP .4.4 DP

Hi ly223038,

We also need below information.

  1. Your full kernel log. (you already shared so no need again)

  2. A video file. Please take a video of this “stripe shake on the srceen” and share with us.

  3. Do you only see a problem with this 90fps mode, or do you see the same issue with other modes as well?

ok,i will take a video later。 there is only one mode can make the 3200x1600 screen on,other modes make the screen xtinguish

stripe on screen.c (981.6 KB) rerename it as mp4

ok,i will take a video later。 there is only one mode can make the 3200x1600 screen on,other modes make the screen xtinguish

Do you mean even 1920x1080 mode on that list cannot work?

i mean 1920x1080 on another 1920x1080 screen is ok