Multi-architecture (aarch64/x86_64) Docker setup for PyCuVSLAM with RealSense camera support
| File | Ubuntu | CUDA | Python | librealsense |
|---|---|---|---|---|
Dockerfile.realsense-cu12 |
22.04 | 12.6 | 3.10 | v2.57.6 |
Dockerfile.realsense-cu13 |
24.04 | 13.0 | 3.12 | v2.57.6 |
All commands should be run from the repository root (the Dockerfiles build cuVSLAM & PyCuVSLAM from sources).
# Ubuntu 22.04 + CUDA 12
docker build -f docker/Dockerfile.realsense-cu12 -t pycuvslam:realsense-cu12 .
# Ubuntu 24.04 + CUDA 13
docker build -f docker/Dockerfile.realsense-cu13 -t pycuvslam:realsense-cu13 .# Ubuntu 22.04 + CUDA 12 (default)
./docker/run_docker.sh
# Ubuntu 24.04 + CUDA 13
./docker/run_docker.sh 24| Image | CUDA | Minimum NVIDIA Driver |
|---|---|---|
Dockerfile.realsense-cu12 |
12.6 | >= 560 |
Dockerfile.realsense-cu13 |
13.0 | >= 580 |
Check your driver version with nvidia-smi.
On Jetson Orin devices (aarch64) with CUDA 12, the run script automatically mounts the host's CUDA installation into the container.
The script:
- Detects Jetson/aarch64 architecture automatically
- Mounts the host's
/usr/local/cuda-12.6directory read-only - Uses CUDA headers from the host for compilation
Note: On Jetson devices with old CUDA (e.g. JetPack 6.0 with CUDA 12.2), you may need to set
NVIDIA_DISABLE_REQUIRE=1when running the container, since the container's CUDA version (12.6) is newer than the host's. Add-e NVIDIA_DISABLE_REQUIRE=1to yourdocker runcommand.
- Both Dockerfiles work on x86_64 and aarch64 (Jetson)
- Docker automatically pulls the correct architecture
- Builds librealsense from source with Python bindings
- Uses stable release branch (v2.57.6)
- Includes udev rules for RealSense camera access
- Sets up proper Python path for
pyrealsense2import
- Includes all necessary X11 and GUI libraries for rerun-sdk
- Proper X11 forwarding setup for GUI applications
- Support for RealSense camera visualization
- Builds cuVSLAM from source during
docker build - Installs PyCuVSLAM Python bindings into the image
- Installs all Python dependencies from requirements.txt
- Ready to run examples immediately after container startup
- Build tools (cmake, make, gcc)
- Python development headers
- USB and graphics libraries
- X11 and GUI libraries for rerun-sdk
- CUDA development environment
cuVSLAM and PyCuVSLAM are pre-built inside the image.
After starting the container, run stereo tracking with RealSense camera:
python3 examples/realsense/run_stereo.py