Native ROS 2 Jazzy Debian packages for Raspberry Pi OS / Debian Trixie (arm64)

After spending some time trying to get ROS 2 Jazzy working reliably on Raspberry Pi via Docker and Conda (and losing several rounds to OpenGL, Gazebo plugins, and cross-arch issues), I eventually concluded:)

On Raspberry Pi, ROS really only behaves when it’s installed natively.

So I built the full ROS 2 Jazzy stack as native Debian packages for Raspberry Pi OS / Debian Trixie (arm64), using a reproducible build pipeline:

  • bloom → dpkg-buildpackage → sbuild → reprepro

  • signed packages

  • rosdep-compatible

The result:

  • Native ROS 2 Jazzy on Pi OS / Debian Trixie

  • Uses system Mesa / OpenGL

  • Gazebo plugins load correctly

  • Cameras, udev, and ros2_control behave

  • Installable via plain apt

Public APT repository

:backhand_index_pointing_right: GitHub - rospian/rospian-repo: ROS2 Jazzy on Raspberry OS Trixie debian repo

Build farm (if you want to reproduce or extend it)

:backhand_index_pointing_right: GitHub - rospian/rospian-buildfarm: ROS 2 Jazzy debs for Raspberry Pi OS Trixie with full Debian tooling

Includes the full mini build-farm pipeline.

This was motivated mainly by reliability on embedded systems and multi-machine setups (Gazebo on desktop, control on Pi).

Feedback, testing, or suggestions very welcome.

4 Likes

Hi. What’s the actual problem with official APT install on Rasberry Pi OS? Trixie is the base for Ubuntu 24.04, which is the base for Jazzy. So I’d expect you just add the APT sources for ROS and it should work. What’s the blocker?

I hope we’re talking about arm64 and not armhf, right?

Too many dependency issues unfortunately.

1 Like