ZED Playground
This repo provides a Docker Compose setup and Dev Container config based on
stereolabs/zed:5.1-gl-devel-cuda12.8-ubuntu24.04.
Prerequisites
- Docker + Docker Compose v2
- NVIDIA Container Toolkit (GPU support)
- ZED camera connected via USB (optional)
If you use GUI apps inside the container, you need X11 access from the host.
Quick Start (Docker Compose)
- Allow local X11 access for root:
xhost +local:root
- Start the container:
docker compose up
- Open a shell in the running container:
docker compose exec zed bash
Dev Container (VS Code / compatible)
- Open this folder in a Dev Container-capable editor.
- It will use
.devcontainer/devcontainer.jsonanddocker-compose.yml.
Notes
- If you are on Wayland, X11 forwarding may require XWayland. If GUI apps do not appear, log into an X11 session or enable XWayland.
- USB devices are passed through via
/dev/bus/usband the container runsprivilegedfor camera access. - The workspace is mounted at
/workspaces/zed-playground.
Udev Rules (Host)
Udev controls device permissions and power settings on the host. If ZED sensors fail to initialize inside the container, the host likely does not allow non-root access to the camera MCU/IMU or has USB autosuspend enabled.
This repo provides two options:
misc/99-slabs.rules: a ready-to-use rule file that grants access to ZED USB/HID devices and disables autosuspend for known ZED USB IDs.misc/udev_fix.sh: downloads the official99-slabs.rules, installs it to/etc/udev/rules.d/, and reloads udev.
Run the script on the host (not in the container), then unplug/replug the camera so the new rules take effect.
/usr/local/zed/sampleshas ZED SDK sample applications.
See adujardin/setup_zed_udev-rules.sh from stereolabs community.
- ZED camera does not open in docker container as a non-root user
- CAMERA NOT DETECTED in WSL2 Ubuntu 22.04
Calibration Download
If automatic calibration download fails, grab it manually:
http://calib.stereolabs.com/?SN=<ZED_SN>
<ZED_SN> is the decimal serial number without the SN prefix.
Place the downloaded SN<XXXX>.conf in the default settings path:
- Linux:
/usr/local/zed/settings/ - Windows:
C:/ProgramData/stereolabs/settings
If you pass a custom settings path in your app, the SDK will try that first and fall back to the default path if the file is not found.