ZED Camera Initialization Failure in Docker Container with zed_ros2_wrapper (Jetpack 6.2, ZED SDK 5.0)

Dear Stereolabs Support Team,

I am encountering an issue with the ZED ROS2 Wrapper in a Docker container. Here are the details of my setup and the problem:

  • Environment:
    • Platform: NVIDIA Jetson AGX Orin
    • Jetpack: 6.2 (L4T r36.4.3)
    • ZED SDK: 5.0.0
    • ZED ROS2 Wrapper: Master branch
    • Camera: ZED X with ZED Link Quad GMSL capture card
    • Docker Image: Built using the Dockerfile from the zed_ros2_wrapper master branch (zed_ros2_l4t_36.4.0_sdk_5.0.0:latest)
  • Issue:
    • When running ZEDfu or ZED_Diagnostic on the host (outside Docker), the ZED X camera works perfectly, displaying camera images and point cloud data without any errors.
    • However, when I run the following command inside the Docker container:

ros2 launch zed_wrapper zed_camera.launch.py camera_model:=zedx

I receive an error indicating that the camera failed to initialize:

[ZED][ERROR] [ZED] Cannot initialize the camera.

  • Docker Run Command:
docker run -it --runtime nvidia \
--privileged \
--network=host \
--ipc=host \
--pid=host \
--gpus all \
-e DISPLAY=$DISPLAY \
-e QT_X11_NO_MITSHM=1 \
-e NVIDIA_VISIBLE_DEVICES=all \
-e NVIDIA_DRIVER_CAPABILITIES=compute,utility,video \
-v /tmp/.X11-unix:/tmp/.X11-unix:rw \
-v $HOME/.Xauthority:/root/.Xauthority:rw \
-v /etc/nv_tegra_release:/etc/nv_tegra_release \
-v /usr/local/zed/settings:/usr/local/zed/settings \
-v /usr/local/zed/resources:/usr/local/zed/resources \
-v ~/zed_ws:/root/zed_ws \
-v /dev/shm:/dev/shm \
-v /dev:/dev:rw \
-v /tmp/:/tmp/ \
-v /var/nvidia/nvcam/settings/:/var/nvidia/nvcam/settings/ \
-v /etc/systemd/system/zed_x_daemon.service:/etc/systemd/system/zed_x_daemon.service \
-w /root \
--name zed_humble \
zed_ros2_l4t_36.4.0_sdk_5.0.0:latest
  • Additional Details:
    • The host has the stereolabs-zedlink-quad driver (v1.3.0) installed, and I suspect the stereolabs-zedx driver is also installed, though I’m unsure if it’s properly integrated into the Docker container.
    • The container logs indicate that the ZED SDK (v5.0.0) is running, but it fails to open the camera.

Could you please help me troubleshoot why the camera fails to initialize inside the Docker container when running the ROS2 launch file, while it works fine on the host?

Thank you for your support!

Best regards,

[Below is the log of my execution results.]

ZED ROS2 Docker Image
---------------------
ROS distro:  humble
DDS middleware:  rmw_fastrtps_cpp
ROS 2 Workspaces: /root/ros2_ws/install:/opt/ros/humble/install
ROS 2 Domain ID: 0
 * Note: Host and Docker image Domain ID must match to allow communication
Local IPs: 192.168.222.46 172.17.0.1
---
Available ZED packages:
zed_components
zed_msgs
zed_ros2
zed_wrapper
---------------------
To start a ZED camera node:
  ros2 launch zed_wrapper zed_camera.launch.py camera_model:=<zed|zedm|zed2|zed2i|zedx|zedxm|zedxonegs|zedxone4k>
---------------------
root@ubuntu:~# source ./ros2_ws/install/setup.bash
root@ubuntu:~# ros2 launch zed_wrapper zed_camera.launch.py camera_model:=zedx
[INFO] [launch]: All log files can be found below /root/.ros/log/2025-04-29-11-33-00-896340-ubuntu-7363
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [launch.user]: Using common configuration file: /root/ros2_ws/install/zed_wrapper/share/zed_wrapper/config/common_stereo.yaml
[INFO] [launch.user]: Using camera configuration file: /root/ros2_ws/install/zed_wrapper/share/zed_wrapper/config/zedx.yaml
[INFO] [launch.user]: Using FFMPEG configuration file: /root/ros2_ws/install/zed_wrapper/share/zed_wrapper/config/ffmpeg.yaml
[INFO] [launch.user]: Loading ZED node `zed_node` in container `/zed/zed_container`
[INFO] [robot_state_publisher-1]: process started with pid [7377]
[INFO] [component_container_isolated-2]: process started with pid [7379]
[robot_state_publisher-1] [INFO] [1745919181.347683768] [zed.zed_state_publisher]: got segment zed_camera_center
[robot_state_publisher-1] [INFO] [1745919181.347869611] [zed.zed_state_publisher]: got segment zed_camera_link
[robot_state_publisher-1] [INFO] [1745919181.347888137] [zed.zed_state_publisher]: got segment zed_left_camera_frame
[robot_state_publisher-1] [INFO] [1745919181.347899017] [zed.zed_state_publisher]: got segment zed_left_camera_optical_frame
[robot_state_publisher-1] [INFO] [1745919181.347907720] [zed.zed_state_publisher]: got segment zed_right_camera_frame
[robot_state_publisher-1] [INFO] [1745919181.347918215] [zed.zed_state_publisher]: got segment zed_right_camera_optical_frame
[component_container_isolated-2] [INFO] [1745919181.550317465] [zed.zed_container]: Load Library: /root/ros2_ws/install/zed_components/lib/libzed_camera_component.so
[component_container_isolated-2] [INFO] [1745919181.709169181] [zed.zed_container]: Found class: rclcpp_components::NodeFactoryTemplate<stereolabs::ZedCamera>
[component_container_isolated-2] [INFO] [1745919181.709293588] [zed.zed_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<stereolabs::ZedCamera>
[component_container_isolated-2] [INFO] [1745919181.907107470] [zed.zed_node]: ********************************
[component_container_isolated-2] [INFO] [1745919181.907194056] [zed.zed_node]:       ZED Camera Component
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/zed/zed_node' in container '/zed/zed_container'
[component_container_isolated-2] [INFO] [1745919181.907211495] [zed.zed_node]: ********************************
[component_container_isolated-2] [INFO] [1745919181.907225734] [zed.zed_node]:  * namespace: /zed
[component_container_isolated-2] [INFO] [1745919181.907237637] [zed.zed_node]:  * node name: zed_node
[component_container_isolated-2] [INFO] [1745919181.907245412] [zed.zed_node]: ********************************
[component_container_isolated-2] [INFO] [1745919181.957859128] [zed.zed_node]: *** DEBUG parameters ***
[component_container_isolated-2] [INFO] [1745919181.958643423] [zed.zed_node]:  * SDK Verbose: 1
[component_container_isolated-2] [INFO] [1745919181.959460869] [zed.zed_node]:  * SDK Verbose File:
[component_container_isolated-2] [INFO] [1745919181.959653367] [zed.zed_node]:  * Debug Common: FALSE
[component_container_isolated-2] [INFO] [1745919181.959767855] [zed.zed_node]:  * Debug Simulation: FALSE
[component_container_isolated-2] [INFO] [1745919181.960298985] [zed.zed_node]:  * Debug Video/Depth: FALSE
[component_container_isolated-2] [INFO] [1745919181.960379203] [zed.zed_node]:  * Debug Control settings: FALSE
[component_container_isolated-2] [INFO] [1745919181.960457277] [zed.zed_node]:  * Debug Point Cloud: FALSE
[component_container_isolated-2] [INFO] [1745919181.960543191] [zed.zed_node]:  * Debug GNSS: FALSE
[component_container_isolated-2] [INFO] [1745919181.960623025] [zed.zed_node]:  * Debug Positional Tracking: FALSE
[component_container_isolated-2] [INFO] [1745919181.960699628] [zed.zed_node]:  * Debug sensors: FALSE
[component_container_isolated-2] [INFO] [1745919181.960771239] [zed.zed_node]:  * Debug Mapping: FALSE
[component_container_isolated-2] [INFO] [1745919181.960845122] [zed.zed_node]:  * Debug Object Detection: FALSE
[component_container_isolated-2] [INFO] [1745919181.960920060] [zed.zed_node]:  * Debug Body Tracking: FALSE
[component_container_isolated-2] [INFO] [1745919181.961005366] [zed.zed_node]:  * Debug Streaming: FALSE
[component_container_isolated-2] [INFO] [1745919181.961069809] [zed.zed_node]:  * Debug ROI: FALSE
[component_container_isolated-2] [INFO] [1745919181.961152492] [zed.zed_node]:  * Debug Advanced: FALSE
[component_container_isolated-2] [INFO] [1745919181.961284098] [zed.zed_node]: *** GENERAL parameters ***
[component_container_isolated-2] [INFO] [1745919181.961584493] [zed.zed_node]:  * Camera model: zedx - ZED X
[component_container_isolated-2] [INFO] [1745919181.961684101] [zed.zed_node]:  * Camera name: zed
[component_container_isolated-2] [INFO] [1745919181.961773375] [zed.zed_node]:  * Camera SN: 0
[component_container_isolated-2] [INFO] [1745919181.961864152] [zed.zed_node]:  * Camera ID: -1
[component_container_isolated-2] [INFO] [1745919181.961943315] [zed.zed_node]:  * Camera timeout [sec]: 5
[component_container_isolated-2] [INFO] [1745919181.962008686] [zed.zed_node]:  * Camera reconnection temptatives: 5
[component_container_isolated-2] [INFO] [1745919181.962079529] [zed.zed_node]:  * Camera framerate: 30
[component_container_isolated-2] [INFO] [1745919181.962167683] [zed.zed_node]:  * GPU ID: -1
[component_container_isolated-2] [INFO] [1745919181.962265116] [zed.zed_node]:  * Asynchronous image retrieval: FALSE
[component_container_isolated-2] [INFO] [1745919181.962868624] [zed.zed_node]:  * Image Validity Check: ENABLED
[component_container_isolated-2] [INFO] [1745919181.963019718] [zed.zed_node]:  * Camera resolution: HD1200
[component_container_isolated-2] [INFO] [1745919181.963152508] [zed.zed_node]:  * Publishing resolution: CUSTOM
[component_container_isolated-2] [INFO] [1745919181.963898311] [zed.zed_node]:  * Publishing downscale factor: 2
[component_container_isolated-2] [INFO] [1745919181.964038557] [zed.zed_node]:  * OpenCV custom calibration:
[component_container_isolated-2] [INFO] [1745919181.964124566] [zed.zed_node]:  * Camera self calibration: TRUE
[component_container_isolated-2] [INFO] [1745919181.964248846] [zed.zed_node]:  * Camera flip: FALSE
[component_container_isolated-2] [INFO] [1745919181.964332680] [zed.zed_node]:  * [DYN] Publish framerate [Hz]:  30
[component_container_isolated-2] [INFO] [1745919181.964364069] [zed.zed_node]: *** VIDEO parameters ***
[component_container_isolated-2] [INFO] [1745919181.964440832] [zed.zed_node]:  * [DYN] Saturation: 4
[component_container_isolated-2] [INFO] [1745919181.964514043] [zed.zed_node]:  * [DYN] Sharpness: 4
[component_container_isolated-2] [INFO] [1745919181.964587189] [zed.zed_node]:  * [DYN] Gamma: 8
[component_container_isolated-2] [INFO] [1745919181.964673423] [zed.zed_node]:  * [DYN] Auto Exposure/Gain: TRUE
[component_container_isolated-2] [INFO] [1745919181.964752681] [zed.zed_node]:  * [DYN] Exposure: 80
[component_container_isolated-2] [INFO] [1745919181.964826532] [zed.zed_node]:  * [DYN] Gain: 80
[component_container_isolated-2] [INFO] [1745919181.964889888] [zed.zed_node]:  * [DYN] Auto White Balance: TRUE
[component_container_isolated-2] [INFO] [1745919181.964973978] [zed.zed_node]:  * [DYN] White Balance Temperature: 42
[component_container_isolated-2] [INFO] [1745919181.965048980] [zed.zed_node]:  * [DYN] ZED X Exposure time: 16000
[component_container_isolated-2] [INFO] [1745919181.965274756] [zed.zed_node]:  * [DYN] ZED X Auto Exp. time range min: 28
[component_container_isolated-2] [INFO] [1745919181.965350591] [zed.zed_node]:  * [DYN] ZED X Auto Exp. time range max: 30000
[component_container_isolated-2] [INFO] [1745919181.965432665] [zed.zed_node]:  * [DYN] ZED X Exposure comp.: 50
[component_container_isolated-2] [INFO] [1745919181.965498324] [zed.zed_node]:  * [DYN] ZED X Analog Gain: 1255
[component_container_isolated-2] [INFO] [1745919181.965568303] [zed.zed_node]:  * [DYN] ZED X Auto Analog Gain range min: 1000
[component_container_isolated-2] [INFO] [1745919181.965633258] [zed.zed_node]:  * [DYN] ZED X Auto Analog Gain range max: 16000
[component_container_isolated-2] [INFO] [1745919181.965711365] [zed.zed_node]:  * [DYN] ZED X Digital Gain: 1
[component_container_isolated-2] [INFO] [1745919181.965790079] [zed.zed_node]:  * [DYN] ZED X Auto Digital Gain range min: 1
[component_container_isolated-2] [INFO] [1745919181.965862810] [zed.zed_node]:  * [DYN] ZED X Auto Digital Gain range max: 256
[component_container_isolated-2] [INFO] [1745919181.965931445] [zed.zed_node]:  * [DYN] ZED X Auto Digital Gain range max: 50
[component_container_isolated-2] [INFO] [1745919181.965961107] [zed.zed_node]: *** DEPTH parameters ***
[component_container_isolated-2] [INFO] [1745919181.966090569] [zed.zed_node]:  * Depth mode: NEURAL LIGHT [4]
[component_container_isolated-2] [INFO] [1745919181.966185027] [zed.zed_node]:  * Min depth [m]: 0.3
[component_container_isolated-2] [INFO] [1745919181.966260285] [zed.zed_node]:  * Max depth [m]: 10
[component_container_isolated-2] [INFO] [1745919181.966334232] [zed.zed_node]:  * Depth Stabilization: 30
[component_container_isolated-2] [INFO] [1745919181.966409459] [zed.zed_node]:  * OpenNI mode (16bit point cloud): FALSE
[component_container_isolated-2] [INFO] [1745919181.966496076] [zed.zed_node]:  * [DYN] Point cloud rate [Hz]: 15
[component_container_isolated-2] [INFO] [1745919181.966584934] [zed.zed_node]:  * Point cloud resolution: COMPACT
[component_container_isolated-2] [INFO] [1745919181.966663744] [zed.zed_node]:  * [DYN] Depth Confidence: 95
[component_container_isolated-2] [INFO] [1745919181.966741531] [zed.zed_node]:  * [DYN] Depth Texture Confidence: 100
[component_container_isolated-2] [INFO] [1745919181.966819157] [zed.zed_node]:  * [DYN] Remove saturated areas: TRUE
[component_container_isolated-2] [INFO] [1745919181.966849203] [zed.zed_node]: *** GNSS FUSION parameters ***
[component_container_isolated-2] [INFO] [1745919181.966925870] [zed.zed_node]:  * GNSS fusion enabled: FALSE
[component_container_isolated-2] [INFO] [1745919181.966952108] [zed.zed_node]: *** POSITIONAL TRACKING parameters ***
[component_container_isolated-2] [INFO] [1745919181.967020199] [zed.zed_node]:  * Positional tracking enabled: TRUE
[component_container_isolated-2] [INFO] [1745919181.967114496] [zed.zed_node]:  * Positional tracking mode: GEN 1
[component_container_isolated-2] [INFO] [1745919181.967209305] [zed.zed_node]:  * Map frame id: map
[component_container_isolated-2] [INFO] [1745919181.967287700] [zed.zed_node]:  * Odometry frame id: odom
[component_container_isolated-2] [INFO] [1745919181.967361006] [zed.zed_node]:  * Broadcast Odometry TF: TRUE
[component_container_isolated-2] [INFO] [1745919181.967429578] [zed.zed_node]:  * Broadcast Pose TF: TRUE
[component_container_isolated-2] [INFO] [1745919181.967507236] [zed.zed_node]:  * [DYN] Depth minimum range: 0
[component_container_isolated-2] [INFO] [1745919181.967592926] [zed.zed_node]:  * [DYN] TF timestamp offset: 0
[component_container_isolated-2] [INFO] [1745919181.967689303] [zed.zed_node]:  * [DYN] Path publishing rate: 2
[component_container_isolated-2] [INFO] [1745919181.967764370] [zed.zed_node]:  * Path history lenght: -1
[component_container_isolated-2] [INFO] [1745919181.967866026] [zed.zed_node]:  * Initial pose: [0,0,0,0,0,0,]
[component_container_isolated-2] [INFO] [1745919181.967958436] [zed.zed_node]:  * Area Memory: TRUE
[component_container_isolated-2] [INFO] [1745919181.968031998] [zed.zed_node]:  * Area Memory DB:
[component_container_isolated-2] [INFO] [1745919181.968109657] [zed.zed_node]:  * Camera is static: FALSE
[component_container_isolated-2] [INFO] [1745919181.968202898] [zed.zed_node]:  * Gravity as origin [not for ZED]: TRUE
[component_container_isolated-2] [INFO] [1745919181.968293420] [zed.zed_node]:  * IMU Fusion [not for ZED]: TRUE
[component_container_isolated-2] [INFO] [1745919181.968365926] [zed.zed_node]:  * Floor Alignment: FALSE
[component_container_isolated-2] [INFO] [1745919181.968440545] [zed.zed_node]:  * Reset Odometry with Loop Closure: TRUE
[component_container_isolated-2] [INFO] [1745919181.968509276] [zed.zed_node]:  * 2D mode: FALSE
[component_container_isolated-2] [INFO] [1745919181.968584695] [zed.zed_node]:  * Reset pose with SVO loop: TRUE
[component_container_isolated-2] [INFO] [1745919181.968614517] [zed.zed_node]: *** Region of Interest parameters ***
[component_container_isolated-2] [INFO] [1745919181.968673392] [zed.zed_node]:  * Automatic ROI generation: FALSE
[component_container_isolated-2] [INFO] [1745919181.969250791] [zed.zed_node]:  * Manual ROI polygon: []
[component_container_isolated-2] [INFO] [1745919181.969287236] [zed.zed_node]: *** SENSORS STACK parameters ***
[component_container_isolated-2] [INFO] [1745919181.969366463] [zed.zed_node]:  * Broadcast IMU TF [not for ZED]: FALSE
[component_container_isolated-2] [INFO] [1745919181.969435482] [zed.zed_node]:  * Sensors Camera Sync: FALSE
[component_container_isolated-2] [INFO] [1745919181.969556145] [zed.zed_node]:  * Sensors publishing rate: 100 Hz
[component_container_isolated-2] [INFO] [1745919181.969606669] [zed.zed_node]: *** Spatial Mapping parameters ***
[component_container_isolated-2] [INFO] [1745919181.969736132] [zed.zed_node]:  * Spatial Mapping Enabled: FALSE
[component_container_isolated-2] [INFO] [1745919181.969835421] [zed.zed_node]:  * Spatial Mapping resolution [m]: 0.05
[component_container_isolated-2] [INFO] [1745919181.969916983] [zed.zed_node]:  * 3D Max Mapping range [m]: 5
[component_container_isolated-2] [INFO] [1745919181.969998193] [zed.zed_node]:  * Map publishing rate [Hz]: 1
[component_container_isolated-2] [INFO] [1745919181.970069964] [zed.zed_node]:  * Clicked point topic: /clicked_point
[component_container_isolated-2] [INFO] [1745919181.970148007] [zed.zed_node]:  * Plane Det. Max Dist. Thresh.: 0.15
[component_container_isolated-2] [INFO] [1745919181.970226401] [zed.zed_node]:  * Plane Det. Normals Sim. Thresh.: 15
[component_container_isolated-2] [INFO] [1745919181.970260159] [zed.zed_node]: *** Object Det. parameters ***
[component_container_isolated-2] [INFO] [1745919181.970362711] [zed.zed_node]:  * Object Det. enabled: FALSE
[component_container_isolated-2] [INFO] [1745919181.970550154] [zed.zed_node]:  * Object Det. model: MULTI CLASS BOX FAST
[component_container_isolated-2] [INFO] [1745919181.970665666] [zed.zed_node]:  * Object Det. allow reduced precision: TRUE
[component_container_isolated-2] [INFO] [1745919181.970775770] [zed.zed_node]:  * Object Det. maximum range [m]: 20
[component_container_isolated-2] [INFO] [1745919181.970874387] [zed.zed_node]:  * Object Det. min. confidence: 75
[component_container_isolated-2] [INFO] [1745919181.970961548] [zed.zed_node]:  * Object Det. prediction timeout [sec]: 0.5
[component_container_isolated-2] [INFO] [1745919181.971042406] [zed.zed_node]:  * Object Det. tracking: TRUE
[component_container_isolated-2] [INFO] [1745919181.971152575] [zed.zed_node]:  * Object Filtering mode: 1 - NMS3D
[component_container_isolated-2] [INFO] [1745919181.971339377] [zed.zed_node]:  * MultiClassBox people: TRUE
[component_container_isolated-2] [INFO] [1745919181.971442858] [zed.zed_node]:  * MultiClassBox vehicles: TRUE
[component_container_isolated-2] [INFO] [1745919181.971539907] [zed.zed_node]:  * MultiClassBox bags: TRUE
[component_container_isolated-2] [INFO] [1745919181.971632636] [zed.zed_node]:  * MultiClassBox animals: TRUE
[component_container_isolated-2] [INFO] [1745919181.971732181] [zed.zed_node]:  * MultiClassBox electronics: TRUE
[component_container_isolated-2] [INFO] [1745919181.971815023] [zed.zed_node]:  * MultiClassBox fruits and vegetables: TRUE
[component_container_isolated-2] [INFO] [1745919181.971902601] [zed.zed_node]:  * MultiClassBox sport-related objects: TRUE
[component_container_isolated-2] [INFO] [1745919181.971936134] [zed.zed_node]: *** Body Track. parameters ***
[component_container_isolated-2] [INFO] [1745919181.972010817] [zed.zed_node]:  * Body Track. enabled: FALSE
[component_container_isolated-2] [INFO] [1745919181.972112314] [zed.zed_node]:  * Body Track. model: HUMAN BODY MEDIUM
[component_container_isolated-2] [INFO] [1745919181.972234193] [zed.zed_node]:  * Body Track. format: BODY 38
[component_container_isolated-2] [INFO] [1745919181.972317227] [zed.zed_node]:  * Body Track. allow reduced precision: TRUE
[component_container_isolated-2] [INFO] [1745919181.972388166] [zed.zed_node]:  * Body Track. maximum range [m]: 20
[component_container_isolated-2] [INFO] [1745919181.972467968] [zed.zed_node]:  * Body Track. KP selection: FULL
[component_container_isolated-2] [INFO] [1745919181.972570553] [zed.zed_node]:  * Body fitting: FALSE
[component_container_isolated-2] [INFO] [1745919181.972657427] [zed.zed_node]:  * Body joints tracking: TRUE
[component_container_isolated-2] [INFO] [1745919181.972744172] [zed.zed_node]:  * Body Track. prediction timeout [sec]: 0.5
[component_container_isolated-2] [INFO] [1745919181.972830182] [zed.zed_node]:  * Body Track. confidence thresh.: 50
[component_container_isolated-2] [INFO] [1745919181.972908097] [zed.zed_node]:  * Body Track. min. KP thresh.: 5
[component_container_isolated-2] [INFO] [1745919181.972977276] [zed.zed_node]: *** Streaming Server parameters ***
[component_container_isolated-2] [INFO] [1745919181.973067733] [zed.zed_node]:  * Streaming Server enabled: FALSE
[component_container_isolated-2] [INFO] [1745919181.973144976] [zed.zed_node]:  * Stream codec: H264
[component_container_isolated-2] [INFO] [1745919181.973224458] [zed.zed_node]:  * Stream port: 30000
[component_container_isolated-2] [INFO] [1745919181.973299525] [zed.zed_node]:  * Stream bitrate: 12500
[component_container_isolated-2] [INFO] [1745919181.973607503] [zed.zed_node]:  * Stream GOP size: -1
[component_container_isolated-2] [INFO] [1745919181.973737605] [zed.zed_node]:  * Stream Chunk size: 16084
[component_container_isolated-2] [INFO] [1745919181.973833470] [zed.zed_node]:  * Adaptive bitrate: FALSE
[component_container_isolated-2] [INFO] [1745919181.973947030] [zed.zed_node]:  * Target frame rate:0
[component_container_isolated-2] [INFO] [1745919181.973979572] [zed.zed_node]: *** Advanced parameters ***
[component_container_isolated-2] [INFO] [1745919181.974056718] [zed.zed_node]:  * Thread sched. policy: SCHED_BATCH
[component_container_isolated-2] [INFO] [1745919181.975101667] [zed.zed_node]: *** SERVICES ***
[component_container_isolated-2] [INFO] [1745919181.977810721] [zed.zed_node]:  * '/zed/zed_node/reset_odometry'
[component_container_isolated-2] [INFO] [1745919181.978820281] [zed.zed_node]:  * '/zed/zed_node/reset_pos_tracking'
[component_container_isolated-2] [INFO] [1745919181.988346926] [zed.zed_node]:  * '/zed/zed_node/set_pose'
[component_container_isolated-2] [INFO] [1745919181.989441375] [zed.zed_node]:  * '/zed/zed_node/enable_obj_det'
[component_container_isolated-2] [INFO] [1745919181.990348734] [zed.zed_node]:  * '/zed/zed_node/enable_body_trk'
[component_container_isolated-2] [INFO] [1745919181.991152005] [zed.zed_node]:  * '/zed/zed_node/enable_mapping'
[component_container_isolated-2] [INFO] [1745919181.991902895] [zed.zed_node]:  * '/zed/zed_node/enable_streaming'
[component_container_isolated-2] [INFO] [1745919181.994216329] [zed.zed_node]:  * '/zed/zed_node/start_svo_rec'
[component_container_isolated-2] [INFO] [1745919181.995167237] [zed.zed_node]:  * '/zed/zed_node/stop_svo_rec'
[component_container_isolated-2] [INFO] [1745919181.997128248] [zed.zed_node]:  * '/zed/zed_node/set_roi'
[component_container_isolated-2] [INFO] [1745919181.998069941] [zed.zed_node]:  * '/zed/zed_node/reset_roi'
[component_container_isolated-2] [INFO] [1745919181.998217546] [zed.zed_node]: ***** STARTING CAMERA *****
[component_container_isolated-2] [INFO] [1745919182.130284697] [zed.zed_node]: ZED SDK Version: 5.0.0 - Build 99275_9ed05d06
[component_container_isolated-2] [INFO] [1745919182.135963299] [zed.zed_node]: *** CAMERA OPENING ***
[component_container_isolated-2] nvbufsurftransform: Could not get EGL display connection
[component_container_isolated-2] [2025-04-29 09:33:02 UTC][ZED][INFO] Logging level INFO
[component_container_isolated-2] [2025-04-29 09:33:03 UTC][ZED][INFO] [Init]  Depth mode: NEURAL LIGHT
[component_container_isolated-2] (Argus) Error NotSupported: Failed to initialize EGLDisplay (in src/eglutils/EGLUtils.cpp, function getDefaultDisplay(), line 77)
[component_container_isolated-2] (Argus) Error NotSupported: Failed to initialize EGLDisplay (in src/eglutils/EGLUtils.cpp, function getDefaultDisplay(), line 77)
[component_container_isolated-2] (Argus) Error BadParameter:  (propagating from src/eglstream/FrameConsumerImpl.cpp, function initialize(), line 93)
[component_container_isolated-2] (Argus) Error BadParameter:  (propagating from src/eglstream/FrameConsumerImpl.cpp, function create(), line 44)
[component_container_isolated-2] [2025-04-29 09:33:05 UTC][ZED][ERROR] [ZED] Cannot initialize the camera.
[component_container_isolated-2] [WARN] [1745919185.629553514] [zed.zed_node]: Error opening camera: CAMERA FAILED TO SETUP
[component_container_isolated-2] [INFO] [1745919185.629711294] [zed.zed_node]: Please verify the camera connection
[component_container_isolated-2] [2025-04-29 09:33:05 UTC][ZED][WARNING] CAMERA FAILED TO SETUP in sl::ERROR_CODE sl::Camera::open(sl::InitParameters)

Are you using the Jetson in headless mode?
Please read this support page for more information concerning this problem.

Thank you for the link! I’ll check it out and try to resolve the issue.

I have the same issue any news on this ?

1 Like

I have a dummy display port plug connected to my jetson and I can see it is well detected as a screen using: xrandr -q.
Then I connect to the jetson through ssh, I enter my docker container, I launch zed_ros2_wrapper but it fails to open the cameras.
The solution I found is to plug a display and a keyboard to the jetson orin, log in, open the docker container, launch ZED_Explorer, the camera feed is correctly displayed, then I close ZED_Explorer, the terminal and the session. I unplug the screen and keyboard.
And now I can connect through ssh, open the container and launch zed_ros2_wrapper correctly…
Can someone explain me what is happening ? It’s very time consuming…

The support page doesn’t help, please see my answer below

Are you using ssh or ssh -X?

I tried with and without -X, it the same. Also, I don’t understand why it would be an issue as it works when I launch ZED_Explorer first. For you information, I’m using v5.0.7 of the docker image.

1 Like

I followed these instructions to setup the docker: Getting Started with Docker and ZED SDK - Stereolabs .

Before launching the container, I used: xhost +si:localuser:root
And then:
docker run -it --privileged --runtime nvidia --gpus all --net=host -e DISPLAY --env QT_X11_NO_MITSHM=1 -v /tmp/.X11-unix:/tmp/.X11-unix:rw -e NVIDIA_DRIVER_CAPABILITIES=all -v /media/workspace:/workspace -v /tmp:/tmp -v /usr/local/zed/resources:/urs/local/zed/resources:rw -v /dev:/dev -v /var/nvidia/nvcam/settings/:/var/nvidia/nvcam/settings/ -v /etc/systemd/system/zed_x_daemon.service:/etc/systemd/system/zed_x_daemon.service --name SDK_5.0.7 zed_ros2_l4t_36.4.0_sdk_5.0.7:latest

I reply here just in case you didn’t receive a notification :slight_smile:

Hi @Acwok
the correct options to use the ZED ROS2 Wrapper in Docker are listed here:

Hi @Myzhar,

I just tried with the options listed in the README.
The README says to use the command `sudo xhost +si:localuser:root` before launching the docker. However this command cannot be executed through ssh. Therefore I set the jetson to automatically log in the session and I created a .desktop file to run the command xhost +si:localuser:root when the session starts. Note that I have a dummy display port plug connected to the jetson. Now when I connect to the jetson through ssh and use xhost it returns:
access control disabled, clients can connect from any host
SI:localuser:wslg

Then I start the docker

docker run --runtime nvidia -it --privileged --network=host --ipc=host --pid=host \
-e NVIDIA_DRIVER_CAPABILITIES=all -e DISPLAY=$DISPLAY \
-v /tmp:/tmp \
-v /dev:/dev \
-v /var/nvidia/nvcam/settings/:/var/nvidia/nvcam/settings/ \
-v /etc/systemd/system/zed_x_daemon.service:/etc/systemd/system/zed_x_daemon.service \
-v /usr/local/zed/resources/:/usr/local/zed/resources/ \
-v /usr/local/zed/settings/:/usr/local/zed/settings/ \
-v /workspace:/workspace \
--name SDK_5.0.7 \
zed_ros2_l4t_36.4.0_sdk_5.0.7:latest

Then I launch a zed_ros2-wrapper node but it fails to connect to the cameras.
If I connect a screen to the jetson, I see the session is correctly opened. I then try again to launch the docker and zed_ros2_wrapper through ssh and it doesn’t work.
Now if I log out and log back in on the jetson (still using the screen) and try again to launch the docker and zed_ros2_wrapper through ssh, it now works.

Any idea ?

ps: Probably not related to the issue but I noticed that the docker run command is mounting /usr/local/zed/ from the host to the docker. Does it mean the SDK must also be installed on the host ? Currently I only have it in the docker image.

1 Like