Headless Remote Access Issues on Jetson Orin Nano Dev Board
Issue Overview
Users have reported difficulties in setting up headless remote access on the Nvidia Jetson Orin Nano Dev board. The primary symptoms include:
- Inability to access video buffer: Remote access programs fail to function when no monitor is connected, as the X11 drivers do not create a video buffer without a monitor.
- Driver bugs: Specifically, L4T driver version 35.4.1 and Nvidia driver version 535.113.01 have a bug that prevents the use of the
NoExtendedGpuCapabilitiesCheck
option, inhibiting high-resolution headless modes. - Configuration challenges: Users must manually enter modelines for monitors during setup, and if not booted with a compatible monitor, remote access becomes impossible.
- Frequency of occurrence: This issue appears consistently among users attempting headless setups.
- Impact on user experience: The inability to remotely access devices without a monitor significantly hampers usability for developers and hobbyists alike.
Possible Causes
- Hardware incompatibility: The absence of a connected monitor may lead to issues with video buffer access required by remote applications.
- Software bugs: The mentioned driver versions contain bugs that affect functionality.
- Configuration errors: Incorrect modelines or X11 configuration can prevent successful remote access.
- Driver issues: Incompatibilities or bugs in the Nvidia drivers can lead to failures in headless mode.
- User errors: Misconfigurations during setup may lead to persistent issues with remote access.
Troubleshooting Steps, Solutions & Fixes
-
Move X11 Configuration File
- Command:
sudo mv /etc/X11/xorg.conf /usr/share/X11/xorg.conf.d/99-Jetson.conf
- Reason: This ensures the correct configuration file is used by X11.
- Command:
-
Identify Monitor Modelines
- Command:
xrandr --verbose
- Extract modeline details for supported resolutions.
- Command:
-
Edit X11 Configuration
- Open the configuration file:
sudo nano /usr/share/X11/xorg.conf.d/99-Jetson.conf
- Modify the "Device" section:
Section "Device" Identifier "<existing_identifier>" Driver "nvidia" Option "ModeValidation" "NoVesaModes,NoXServerModes,NoPredefinedModes,NoMaxPClkCheck,NoExtendedGpuCapabilitiesCheck,AllowNonEdidModes" Option "ModeDebug" "True" EndSection
- Open the configuration file:
-
Add Monitor Settings
- In the same configuration file, add:
Section "Monitor" Identifier "AlwaysOnMonitor" ModeLine "<modeline>" HorizSync <range> EndSection
- In the same configuration file, add:
-
Configure Screen Section
- Update the "Screen" section:
Section "Screen" Identifier "Jeston" Device "<existing_device>" Monitor "AlwaysOnMonitor" SubSection "Display" Depth 24 Modes "<default_modeline>" EndSubSection Option "ConnectedMonitor" "DFP-1" EndSection
- Update the "Screen" section:
-
Install Remote Access Software
- For TeamViewer:
sudo apt install teamviewer-host
- For RustDesk:
sudo apt install rustdesk
- For TeamViewer:
-
Prevent Monitor Sleep
- Set the monitor to never turn off to avoid display issues when attempting to wake it up.
-
Testing Different Ports
- Users have reported varying success with different ports (e.g., DP-1 vs HDMI). Ensure compatibility based on your specific setup.
-
Documentation and Updates
- Regularly check Nvidia’s documentation for updates related to driver versions and known issues.
-
Community Feedback
- Engage with forums for shared experiences and solutions from other users who faced similar challenges.
By following these steps, users can troubleshoot and potentially resolve headless remote access issues on their Jetson Orin Nano Dev board effectively.