VPI - Vision Programming Interface

3.1 Release


The preferred tool for installing VPI is the SDK Manager installer, which automates the installation and setup process on both the host and the target system.

For a full description of the installer, see the SDK Manager User Guide.

When installing VPI via the SDK Manager installer, it's advisable to upgrade VPI to the most recent version to take advantage of the bug fixes made after VPI v3.1 was released. To do so, please execute the following commands in a terminal:
sudo apt-get update
sudo apt-get install libnvvpi3

Alternatively, you can use apt to install the VPI host components on a linux-x86_64 host.

  1. Install the public key for the VPI repository.
    sudo apt install gnupg
    sudo apt-key adv --fetch-key https://repo.download.nvidia.com/jetson/jetson-ota-public.asc
  2. Install some packages needed to add a new apt repository to the system.
    sudo apt install software-properties-common
  3. Add the public repository server to the apt configuration.
    • For Ubuntu 20.04:
      sudo add-apt-repository 'deb https://repo.download.nvidia.com/jetson/x86_64/focal r36.2 main'
    • For Ubuntu 22.04:
      sudo add-apt-repository 'deb https://repo.download.nvidia.com/jetson/x86_64/jammy r36.2 main'
  4. Update the local repository package list.
    sudo apt update
  5. Install the VPI package and its dependencies on the host:
    sudo apt install libnvvpi3 vpi3-dev vpi3-samples
  6. For python bindings, do the following
    • Python 3.9 (Ubuntu 20.04 and Ubuntu 22.04)
      sudo apt install python3.9-vpi3
    • Python 3.10 (Ubuntu 22.04 only)
      sudo apt install python3.10-vpi3
      In both cases, numpy module still needs to be installed, either via pip, conda, apt or another method.
  7. (optional) Development packages for cross-compilation targeting aarch64-l4t architecture.
    sudo apt install vpi3-cross-aarch64-l4t

The installer copies VPI files to the directory /opt/nvidia/vpi3.

Inside this directory are the following sub-directories:

- includeC headers
- lib/<arch>Shared libraries for platform where it's being installed, arch can be either x86_64-linux-gnu or aarch64-linux-gnu
- samples/*Complete sample applications
- lib/aarch-linux-gnu/libShared libraries needed for cross-compilation to Jetson devices, when installing on x86_64 system

After a successful installation, read basic concepts to learn some basic VPI concepts, then go write your first application with VPI.