npx skills add ...
npx skills add nvidia/skills --skill holoscan-install-container
Install Holoscan SDK via the NGC Docker container. Use for container-based installs; not for native apt/pip/Conda installs.
npx skills add nvidia/skills --skill holoscan-install-container
Pull and verify the official Holoscan SDK container from NGC (nvcr.io/nvidia/clara-holoscan/holoscan), selecting the right CUDA/arch tag for the host GPU and validating with the bundled Python and C++ examples.
nvidia-smi).docker group (or sudo).docker run --gpus all works).nvcr.io and docs.nvidia.com.nvcr.io/nvidia/clara-holoscan/holoscan.Tag = <version>-<suffix>, e.g. v4.1.0-cuda13. Get the current SDK version from the doc page above; pick the suffix from nvidia-smi (the "CUDA Version" field, top-right of the table header):
nvidia-smi CUDA Version | Suffix |
|---|---|
| 13.x+ | cuda13 |
| 12.x, Ampere/Ada dGPU | cuda12-dgpu |
| 12.x, ARM64 iGPU (nvgpu) | cuda12-igpu |
The "CUDA Forward Compatibility mode ENABLED" banner is expected — not an error — when the container ships a newer CUDA minor version than the host driver supports. The forward-compat shim lets the container's CUDA runtime work against the older host driver within the same major version.
If Docker is missing → install from https://docs.docker.com/engine/install/. If GPU passthrough fails → install the NVIDIA Container Toolkit per https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html, then retry.
Pull (~10–20 GB — warn the user before starting):
Tests cover: bare Python binding (1a), bare C++ runtime (1b, 2a), Python + Holoviz/Vulkan (2b, 3a), and C++ + Holoviz/Vulkan (3b). Holoviz examples always run headless (inject headless: true into the YAML) — this works whether or not a display is attached and avoids GUI failure modes over SSH.
Next:
ls /opt/nvidia/holoscan/examples//holoscan-explain-exampledocker: Error response from daemon: could not select device driver "nvidia". NVIDIA Container Toolkit is missing or not configured. Install per the link in Step 2 and restart Docker.nvidia-smi CUDA Version and the table in Step 1.ulimit -s 32768 wasn't applied inside the container. Use the bash -c "ulimit -s 32768 && ..." pattern shown in Step 3.headless: true. Use the sed injection shown in Step 3.video_replayer can't find data. Set HOLOSCAN_INPUT_PATH=/opt/nvidia/holoscan/data — overrides the YAML's hard-coded path.