Holoscan Debian/apt Installation
Purpose
Install the Holoscan SDK C++ runtime + headers on Ubuntu using NVIDIA's apt repo, selecting the right holoscan-cuda-* package for the host's CUDA driver and verifying with the bundled C++ examples.
Prerequisites
- Ubuntu x86_64 (22.04 / 24.04) or ARM64 (Jetson / IGX) with an NVIDIA GPU and working driver (
nvidia-smi). sudoand network access todeveloper.download.nvidia.comanddocs.nvidia.com.cuda-keyringpackage (Step 2 installs it if missing).
Limitations
- No Python bindings from apt — pair with
/holoscan-install-wheelif the user needs Python. - Ubuntu-only. Other distros must use the container or wheel install.
- Package variant must match the host CUDA driver (
holoscan-cuda-12vsholoscan-cuda-13); wrong variant → "CUDA driver version is insufficient".
Step 0: Consult the Official Install Instructions
Fetch the Debian/apt section of https://docs.nvidia.com/holoscan/sdk-user-guide/sdk_installation.html before installing. Extract:
- Exact package names (
holoscan-cuda-12,holoscan-cuda-13,holoscan) - Supported Ubuntu versions
- The cuda-keyring URL for the right distro
If the doc disagrees with anything below, the doc wins.
Determine OS version and CUDA variant if not already known — run in parallel:
CUDA variant rule — pick the apt package:
Step 1: Prerequisites Check
Decision rules based on what Step 1 found:
- Skip the keyring step if
cuda-keyringis already installed. - Skip
apt-get updateif the repo is already configured and the package is visible inapt-cache show. - Skip Step 2 entirely and proceed directly to Step 3 if the correct package variant is already installed (e.g.
holoscan-cuda-12when targeting cu12).
Step 2: Install
Skip this step if the package is already installed (detected in Step 1) or if user is on IGX platform.
Step 3: Verify
Set the env once for the rest of this step, then run the three C++ checks:
Step 4: Give the User the Reusable Env Snippet
Once verified, share this snippet with user and suggest adding it to their shell startup file (e.g., ~/.bashrc) if they want it to persist across sessions:
Then offer next steps:
- Add Python support:
/holoscan-install-wheel - Explore examples:
ls /opt/nvidia/holoscan/examples/ - Walk through a specific example:
/explain-example - Start building a custom Holoscan application
Troubleshooting
python3 -c "import holoscan"fails after apt install. Expected — the Debian package has been C++ only since v3.0.0. Run/holoscan-install-wheelto add Python bindings.- "CUDA driver version is insufficient" when running an example. Wrong package variant. Re-check
nvidia-smiCUDA Version and swap variants:sudo apt-get remove -y holoscan-cuda-13 && sudo apt-get install -y holoscan-cuda-12(or vice versa). E: Unable to locate package holoscan-cuda-12.cuda-keyringnot installed or repo not yet pulled. Run the keyring +apt-get updateblock in Step 2 (adjustubuntu2204/ubuntu2404to match the host).- Segmentation fault when launching an example.
ulimit -s 32768not set in the current shell. Prepend it to the command (Step 3 pattern). error while loading shared libraries: libholoscan_core.so.LD_LIBRARY_PATHis unset. Use the env snippet from Step 4 —export LD_LIBRARY_PATH=/opt/nvidia/holoscan/lib.video_replayercan't find data. SetHOLOSCAN_INPUT_PATH=/opt/nvidia/holoscan/data, or runsudo /opt/nvidia/holoscan/examples/download_example_datato fetch theracerxdataset.


