Jetson Nano Dual Monitor setup issues

Hi,
I am trying to add a 2nd monitor to a Nano - and BTW upgrade to 27inch monitors at the same time.
Device is using Jetpack 4.6 has been working fine for ages with HDMI output
I attached the 2nd monitor (which has itself been working fine with a Display Port connection for several years on another computer).

Upon booting the best response I initially got was the 2 screens displaying the logon prompt.
That in itself was strange as the Nano was set to ‘Auto Login’
It will not accept the password - just loops back to the login screen.

So I tried hot plugging it.
The second screen appears as a mirror of the first.
In Settings → Display it shows varying things. Sometimes 2 screens with ‘Mirror displays’ ticked; some times only one screen.
If you click ‘off’ mirrored displays and then ‘apply’ you pretty much lose control of the machine.
The icons in top right of screen vanish so you cant reboot/power off.

I tricked it once by having a terminal open and issued a manual reboot.
This results in 2 black screens although there are other indications that it has in fact rebooted.
Powering off-then-on from here still results in two black screens.

It is happy if either of the monitors are the only connection.

I cant remember fiddling with any other settings for this and my notes dont show anything.
I may have forced a resolution of 1920x1080 somewhere to keep a headless remote session happy but I am pretty sure this was in the Raspberry PI predecessor of the Nano.

Any suggestions ? Its all Black magic so even alchemy would be considered.
Thanks
JC

Please take a video for what you are talking about here. Not quite sure the status by reading the comment.

Also, share me the dmesg and /var/log/Xorg.0.log with the error case.

I could see forcing 1920x1080 as an issue if it is confusing both monitors together versus a single monitor. You might post this output in addition to the dmesg and Xorg.0.log:
DISPLAY=':0.0' xrandr

@linuxdev you might be onto something with this. This is from when both displays are connected but are misbehaving. Both these monitors are capable of 2560x1440 which is not shown here.
Do you know where I may have constrained it to 1920x1080 for remote access when there is no display physically present ?

Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 16384 x 16384
HDMI-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 600mm x 330mm panning 3840x1080+0+0
   1920x1080    120.08*+ 120.00   100.01    60.00    59.95    50.00  
   1440x900      59.89  
   1440x576      50.00  
   1400x1050     59.98  
   1280x1024     75.03    60.00  
   1280x960      60.00  
   1280x720     120.00    60.00    59.94    50.00  
   1152x864      75.00  
   1024x768      75.03    70.07    60.01  
   832x624       75.05  
   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 1920x1080+0+0 (normal left inverted right x axis y axis) 600mm x 340mm panning 3840x1080+0+0
   1920x1080     60.00*+  59.95    50.00    30.00    29.97    25.00    24.00    23.98  
   1680x1050     59.96  
   1280x1024     75.03    60.00  
   1280x720      60.00    59.94    50.00  
   1200x960      59.99  
   1152x864      75.00  
   1024x768      75.03    60.01  
   800x600       75.00    60.32  
   720x576       50.00  
   720x480       59.94  
   720x400       70.04  
   640x480       75.00    59.94

Thanks JC

@WayneWWW Today’s story is simpler. If booted with both monitors connected you just see just 2 blank screens. To get any data from this situation I have come in via a ‘No Machine’ connection (where it says something like ‘no screens found would you like me to make one for you?’) which it proceeded to do - 800x600! we have come along way since that was ‘good’
Dmesg and Xorg.O.log are attached from this scenario but may reflect this virtual scenario. Also attached are dmesg and Xorg.0.log from a ‘normal’ boot with one monitor connected.
I have a video of what it does when the second screen is hot-plugged in, its 500Mb. But now the phone is playing up and wont transfer it to the pc! (its not my day). I will try this bit again tomorrow.
Thanks for any advice
JC

boot_with_one_monitor_normal_dmesg.txt (64.7 KB)
boot_with_one_monitor_normal_Xorg.0.log (25.3 KB)
boot_with_both_monitors_connected_dmesg.txt (82.4 KB)
boot_with_both_monitors_connected_Xorg.0.log (8.6 KB)

Hi @jc5p ,

Actually, jetson nano does not go through 1080p@120 fps mode test before. The xorg log you shared indicated a fatal error.

120 [ 341.897] (II) NVIDIA(0): “DFP-0:nvidia-auto-select,DFP-1:nvidia-auto-select”
121 [ 341.898] (**) NVIDIA(0): Virtual screen size configured to be 1920 x 1080
122 [ 341.898] (WW) NVIDIA(0): Mode “DFP-0:nvidia-auto-select,DFP-1:nvidia-auto-select” is
123 [ 341.898] (WW) NVIDIA(0): larger than virtual size 1920 x 1080; discarding mode
124 [ 341.898] (EE) NVIDIA(0): Failure to construct a valid MetaMode list: no MetaModes
125 [ 341.898] (EE) NVIDIA(0): remaining.
126 [ 341.898] (EE) NVIDIA(0): *** Aborting ***

Could you try to set both monitor modes to 1080p@60 and see if they are fine under such situation?

FYI, there must always be a display. This is not necessarily a physical display, but can be a virtual display. Using NoMachine changes things drastically…the X server used for a physical display is different than the X server used for a virtual display (and so is the configuration). Are the failures you are trying to correct for the physical display variation? If for NoMachine, then that is probably a separate topic. The log file would also likely change name since the “DISPLAY” variable is usually different for a virtual display, e.g., you might have “/var/log/Xorg.10.log”.

As mentioned by @WayneWWW, some modes can be thrown out. xrandr only shows “available” modes, but if the server rejected one, then that is not visible (your monitor could conflict with the capability of the server or hardware driver in some modes). I’m not sure how this works if two monitors are present. If you want the logs to include verbose information about every mode the monitor has available (via EDID query), then you can edit “/etc/X11/xorg.conf”. Go to this part:
Section "Device"
…and insert this line for verbose mode information:

Section "Device"
   Option "ModeDebug"

Thank you both
@WayneWWW I dont know of any way to set the modes from the monitor - you plug it in and the driver negotiates something that it likes.
I tried the debug/verbose mode @linuxdev suggested and you can see all the modes now but none are rejected (except those starting from ‘X Server’)

BUT the act of adding that ModeDebug to “/etc/X11/xorg.conf” showed the lines that I had added to get the remote access working.
These were…

 Section "Screen"
     Identifier "Default Screen"
     Monitor "Configured Monitor"
     Device "Tegra0"
     SubSection "Display"
          Depth 24
          Virtual 1920 1080 
     EndSubSection
 EndSection

when these are removed it boots happily to two 2560x1440 screens :)

There is a hint in the lines @WayneWWW highlighted previously

121 [ 341.898] (**) NVIDIA(0): Virtual screen size configured to be 1920 x 1080
122 [ 341.898] (WW) NVIDIA(0): Mode “DFP-0:nvidia-auto-select,DFP-1:nvidia-auto-select” is
123 [ 341.898] (WW) NVIDIA(0): larger than virtual size 1920 x 1080; discarding mode

So it looks like it worked before because the old monitor only went up to 1920x1080 and that snuck through.
I thought I was setting a ‘last resort’ dimension. (I do feel like a kid mucking around with matches and a chemistry set)

However there is still a line in xorg.conf

# Allow X server to be started even if no display devices are connected.
    Option      "AllowEmptyInitialConfiguration" "true"

I dont recognise adding this.

The final xrandr sets are

Screen 0: minimum 8 x 8, current 5120 x 1440, maximum 16384 x 16384
HDMI-0 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 600mm x 330mm
   2560x1440     59.96 + 143.99   120.00* 
   3840x2160     60.02    59.98    50.01  
   2560x1080     50.00  
   1920x1080    120.08   120.00   100.01    60.00    59.95    50.00  
   1440x900      59.89  
   1440x576      50.00  
   1400x1050     59.98  
   1280x1024     75.03    60.00  
   1280x960      60.00  
   1280x720     120.00    60.00    59.94    50.00  
   1152x864      75.00  
   1024x768      75.03    70.07    60.01  
   832x624       75.05  
   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 2560x1440+2560+0 (normal left inverted right x axis y axis) 600mm x 340mm
   2560x1440     59.96*+
   2048x1152     60.01  
   1920x1200     59.89  
   1920x1080     60.00    59.95    50.00    30.00    29.97    25.00    24.00    23.98  
   1680x1050     59.96  
   1600x1200     60.01  
   1280x1024     75.03    60.00  
   1280x720      60.00    59.94    50.00  
   1200x960      59.99  
   1152x864      75.00  
   1024x768      75.03    60.01  
   800x600       75.00    60.32  
   720x576       50.00  
   720x480       59.94  
   720x400       70.04  
   640x480       75.00    59.94

and if it doesn’t like 120Hz why did it pick that ?

So, the problem of dual screens is solved but I am back to finding a suitable alternative to remote access because the device is a mobile platfrom and will be unteathered if I ever finish developing the image processing bit.
I was only using ‘NoMachine’ because it performed pretty well. I had discarded VNV and TightVNC for performance reasons.
I agree its another topic but if you have suggestions for products to try I would love to here them.

Thanks again
JC

xrandr command can switch the modes.

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