Why can't I use the ZED X camera with "ssh -X" in headless mode?

The driver for our ZED X camera line (ZED X, ZED X Mini, ZED X One GS, 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.

Note: This support page is applicable to all remote desktop methods that require creating a virtual display (e.g. Remmina, VNC, NoMachine, etc).

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 remote desktop's screen and attempts to create an EGL context for it. However, most desktop PCs lack EGL support (which is specific to embedded devices), leading to an invalid context and preventing the ZED X Driver from initializing.

Solution:

To resolve this, you can connect a dummy display plug (HDMI or DisplayPort) to your Jetson device. By using a dummy plug, EGLStream can run as if a real display is connected to the Jetson, allowing it to create a valid context and enabling the ZED X Driver to function properly.

Note: If the remote machine is another Jetson device, you can typically use ssh -X without dummy plugs, as a valid EGLContext can be established since it supports EGL.