Why can't I use the ZED X camera with "ssh -X" in headless mode?
Last updated: October 23, 2026
The driver of our GMSL2 cameras (ZED X, ZED X Mini, ZED X Nano, ZED X One GS, ZED X One S, and ZED X One 4K) relies on the NVIDIA Argus API, which uses EGLStream for optimal performance. However, it is incompatible with X11 forwarding (ssh -X) in headless mode (no display connected).
Note: this article also applies to all the remote desktop methods that require setting up a virtual display, such as Remmina, VNC, NoMachine, RustDesk, TeamViewer, xrdp, and others.
Explanation
When no display is connected, the Argus API creates a NULL EGL context, allowing EGLStream to operate seamlessly.
When using ssh -X, EGLStream detects the screen of the remote desktop and attempts to create an EGL context for it. However, since most desktop PCs do not support EGL in this configuration, the result is an invalid context that prevents the ZED X driver from initializing.
Solutions
Hardware
Connect a dummy display plug (HDMI or DisplayPort) to your NVIDIA® Jetson™ device. With a dummy plug, EGLStream runs as if a real display is connected to the Jetson, so it can create a valid context and the ZED X driver works properly.

Note: if the remote machine is another Jetson device, a dummy plug is usually not necessary, because a valid EGL context can be established.
Software
We provide a step-by-step guide and a ready-to-use script to disable the physical display output and enable a software-based virtual display instead. With this setup, you can connect to a remote NVIDIA® Jetson™ device via SSH or a virtual desktop application, without a dummy display plug.
Note: X11 forwarding is not supported.
You can find the full guide in the Virtual Display (Headless Mode) documentation.
Warning
These solutions do not apply to the ZED SDK tools (ZED Explorer, ZED Depth Viewer, ZEDfu, ZED Sensor Viewer), which remain incompatible with ssh -X, even when using a dummy plug or the software solution.