Installation¶
Beta
Prebuilt binaries exist for Linux on x86_64 and aarch64 and for macOS on Apple Silicon, but they are experimental during the 0.0.x beta. Building from source is the recommended path, and each integration page describes how.
Ubuntu packages¶
Install Pelorus from the steado PPA for your Ubuntu LTS version and receive updates automatically. Every package comes in a plain CPU build and in CUDA and Vulkan variants.
Set up the PPA
Run this once on Ubuntu 22.04, 24.04 or 26.04.
curl -fsSL "https://ppa.steado.tech/ubuntu/key.gpg" | gpg --dearmor \
| sudo tee /usr/share/keyrings/steado-archive-keyring.gpg >/dev/null
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/steado-archive-keyring.gpg] https://ppa.steado.tech/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" \
| sudo tee /etc/apt/sources.list.d/steado.list
sudo apt update
Available for Humble, Jazzy and Lyrical.
sudo apt install ros-$ROS_DISTRO-pelorus
# or with CUDA support on Humble and Jazzy
sudo apt install ros-$ROS_DISTRO-pelorus-cuda12-6
sudo apt install ros-$ROS_DISTRO-pelorus-cuda12-8
sudo apt install ros-$ROS_DISTRO-pelorus-cuda13-1
# or with CUDA support on Lyrical
sudo apt install ros-lyrical-pelorus-cuda13-4
# or with Vulkan support
sudo apt install ros-$ROS_DISTRO-pelorus-vulkan
GLIM upstream supports CUDA 12.6 and 12.8, so the plugin is offered for those two only, even though the library itself also builds for 13.1.
PyPI¶
Two packages are published on PyPI, and which one you want depends on what you
are doing. pelorus is the library you import. pelorus-cli carries the
pelorus executable. Every index below holds both, built with the acceleration
backend its name says.
We recommend uv:
uv tool installs applications, so the package to name here is
pelorus-cli. The rerun extra adds the Rerun viewer, so we can use
output.rerun = true.
uv tool install "pelorus-cli[rerun]"
# or with CUDA support
uv tool install "pelorus-cli[rerun]" --extra-index-url https://ppa.steado.tech/whl/cu126/
uv tool install "pelorus-cli[rerun]" --extra-index-url https://ppa.steado.tech/whl/cu128/
uv tool install "pelorus-cli[rerun]" --extra-index-url https://ppa.steado.tech/whl/cu131/
# or with Vulkan support
uv tool install "pelorus-cli[rerun]" --extra-index-url https://ppa.steado.tech/whl/vulkan/
This one goes into a project or a virtual environment. The all extra adds
MCAP bag reading and pulls in the CLI as well, so the pelorus command ends
up on the environment's path too.
uv venv
uv pip install "pelorus[all]"
# or with CUDA support
uv pip install "pelorus[all]" --extra-index-url https://ppa.steado.tech/whl/cu126/
uv pip install "pelorus[all]" --extra-index-url https://ppa.steado.tech/whl/cu128/
uv pip install "pelorus[all]" --extra-index-url https://ppa.steado.tech/whl/cu131/
# or with Vulkan support
uv pip install "pelorus[all]" --extra-index-url https://ppa.steado.tech/whl/vulkan/
# without uv
pip install "pelorus[all]"
Inside a uv project, uv add "pelorus[all]" does the same and records the
dependency. The extras are mcap for bag reading, cli for the executable,
and all for both.
macOS¶
The uos Homebrew tap carries the CLI
and the C library for Apple Silicon, built with Metal support. It pulls in
minot, dedrunk and marina as well.
Arch Linux¶
The pelorus-bin package on
the AUR installs the CPU build of the CLI and the C library for x86_64 and
aarch64. Install it with an AUR helper of your choice.
Prebuilt archives¶
Every release on Codeberg
comes with .tar.gz archives of the CLI and the C library, for amd64 and arm64
where the platform offers both.
| Archive | Contents |
|---|---|
pelorus-<version>-linux-<series>-<arch> |
CLI and C library for Ubuntu resolute, noble or jammy |
pelorus-<version>-linux-<series>-<arch>-cuda<cuda> |
The same with CUDA 12.6, 12.8 or 13.1, for noble and jammy |
pelorus-<version>-linux-<series>-<arch>-vulkan |
The same with Vulkan |
pelorus-<version>-linux-musl-<arch> |
Statically linked CLI for any Linux distribution |
pelorus-<version>-linux-musl-dds-<arch> |
Static CLI that runs as a ROS 2 node over DDS |
pelorus-<version>-linux-musl-hiroz-<arch> |
Static CLI that talks to ROS 2 over Zenoh without a ROS installation, see standalone |
pelorus-<version>-macos-arm64 |
CLI, C library, headers and CMake files for Apple Silicon with Metal |
pelorus-glim-<version>-linux-<series>-<arch> |
GLIM plugin for noble and jammy |
The musl and macOS archives are mirrored at ppa.steado.tech/bin.
Vulkan from source¶
Vulkan needs some runtime dependencies to run on your GPU. A working CUDA installation, or nvidia-smi producing output, does not automatically provide Vulkan support.
When building Pelorus from source, install the development packages as well:
Then install a GPU driver:
-
NVIDIA. Install the
libnvidia-gl-<branch>package matching your installed driver. Despite the name, this package contains the Vulkan ICD, which is the vendor driver the loader uses. Compute-only installations often lack it. Check your driver branch and the available package versions first, and do not copy a version number from elsewhere:See the Ubuntu package description and the NVIDIA package repository for details.
-
AMD and Intel. Install
mesa-vulkan-drivers.
Verifying¶
Under Devices, check that deviceName names your intended GPU and that deviceType is a discrete or integrated GPU. Pelorus requires Vulkan 1.2 or newer.
If the only device is llvmpipe with PHYSICAL_DEVICE_TYPE_CPU, Vulkan is running through Mesa's Lavapipe software implementation, which is known to cause problems with Pelorus.