Hey Hailo Community! ![]()
First things first: I use AI mostly to help transform my thoughts into a readable format. I am not really the best with these kinds of social posts, so bear with me! ![]()
I’d like to introduce a new community project I’ve been working on: A completely Rust-based out-of-tree Linux kernel driver for the Hailo PCIe AI accelerator, built on top of the official Rust-for-Linux (RfL) infrastructure.
Currently, the project is still in its absolute infancy, but we just hit a massive first milestone on the Raspberry Pi 5: The module compiles, loads, and successfully identifies the Hailo-10H / Hailo-15L and Hailo-Mars chip on the PCI bus! ![]()
Since this is a massive undertaking, I want to open this up to the community early on. Here is what the roadmap and structure look like:
Goal & Versioning
The goal is to reach a stable Release Candidate (RC) as version 1.0.0-rpi-kernel-y.
We are strictly targeting the current/latest kernel versions – meaning there will be no legacy kernel support. Moving forward, the first official RC will most likely target a Linux v7.x kernel, aligning with the upstream Rust-for-Linux progression.
Branching Strategy
Right now, everything happens on the main branch. Once we hit our RC phase, we will switch to a multi-versioned branching strategy (similar to how the raspberrypi/linux repository handles their branches) to keep track of different kernel versions cleanly.
Call for Contributors (Help Wanted!)
I would absolutely love to see this grow into a collaborative community effort. Whether you are a Rust pro, an ambitious developer, or someone who just wants to get their feet wet in Rust – you are more than welcome!
A specific cry for help: I actually have zero C experience.
I am porting this driver by reading the official HAILO-RT C-driver files and translating the logic into Rust – which involves a lot of communication, prompting, and headaches with AI! If there is anyone out there with C/Kernel experience who could act as a mentor or help translate the hardware-specific C logic (like memory mapping, BAR initialization, etc.), that would be incredible!
Future Plans
This is still Zukunftsmusik (a dream for the future), but once the driver matures, the plan is to:
-
Set up a dedicated Discord server for contributors and users as early as i can.
-
Create a download page hosting pre-compiled, ready-to-load driver binaries for standard Raspberry Pi OS kernels, so users don’t have to compile custom Rust-kernels themselves and can directly download and load the drivers.
If you are interested in hacking on some bare-metal Rust or just want to follow the progress, check out the repository here:
https://codeberg.org/AnnoDomine/hailort-driver-rust-port
Looking forward to your feedback and maybe seeing some of you in the commit history! ![]()