Raspberry Pi with Hailo-Frigate mismatch version

Hello everyone,
I’ve been spending hours trying to get Frigate NVR to work with my Hailo-8 accelerator on Raspberry Pi OS (Debian bookworm, ARM64), but I keep hitting a wall because of mismatched versions between the driver and libraries.

Here’s my situation:

  • On Raspberry Pi OS I can only install HailoRT and driver packages up to 4.19.x or 4.20.x, but not newer ones from the official repo.

  • The firmware (hailofw) is only available as 4.20.0.

  • The only driver I can download from Hailo’s official website is 4.23, with no way to get the 4.21 or 4.19 versions for ARM64/Debian.

  • Frigate’s container uses HailoRT runtime 4.21, so when I run it, I get stuck with the error:
    “Driver version (4.19.0) is different from library version (4.21.0) → HAILO_INVALID_DRIVER_VERSION(76)”

The hailo_pci module loads fine, the device is detected and seems happy with firmware 4.19, but this version mismatch makes it impossible to use Frigate with Hailo.

Honestly, after so many failed attempts and hours of searching, I’m not sure what the best path forward is anymore.
Is there a way to get HailoRT 4.21.0 and the 4.21.0 kernel driver for ARM64 somewhere? Should I switch to Ubuntu ARM64 instead of Raspberry Pi OS? Or is it smarter to try and recompile Frigate with HailoRT 4.19 inside?

Thank you so much for any advice, download links, or even just a nudge in the right direction—I’d really appreciate it!

Welcome to the Hailo Community!

You can find the different versions of our software in the Developer Zone. You need to select the “Search in all version” or “Archive” filters to find older versions.

Also HailoRT and the HailoRT PCIe driver are open-source and available in our GitHub repositories. Select the Tags for the different version.

GitHub - HailoRT v4.23.0
GitHub - HailoRT PCIe Drivers v4.23.0

Check the Hailo AI Software Suite User Guide for a table with the Release Versions Compatibility. Hailo SW products are compatible with each other on specific versions.

Thanks a lot for the tips and links! I’ll check out the repos like you suggested. Really appreciate your help!

1 Like

Did you have any joy, I’m in the same boat and cannot get it working. When I use the drivers off the Hailo website, it then ‘breaks’ my connection to my HAT +

I've tried a bunch of options to roll back from 4.23.0 to the old 4.21.0 driver, but nothing works. Is there a link to a working instruction?

Well, as soon as I posted, I took a break and upon returning, I didn’t want to downgrade my hailort driver, so I decided to kick off a custom Frigate container build.

I earlier had download from Github the Frigate repo. So I just did a git swtich dev to get the branch where the HailoRT 4.23.0 branch is located. As part of my earlier research I had read, in
frigate/docker/main/install_hailort.sh that it download hailort drivers. itt was a simple change to modifiy hailot_version to hailo_version=“4.23.0”.

A quick Grok prompt to determine custom Frigate build steps:

  1. cd frigate
  2. make local (default target)

That was it, so I started the build.

The build took ~ 2449.8s / 41m on my Rpi 5 8mb, with Hailo8 attached. I had no expectation on how long it would take

make local
echo ‘VERSION = “0.17.0-b5d2f86a”’ > frigate/version.py
echo ‘VITE_GIT_COMMIT_HASH=b5d2f86a’ > web/.env
docker buildx build --target=frigate --file docker/main/Dockerfile .
–tag frigate:latest
–load
[+] Building 2449.8s (78/78) FINISHED docker:default

Caveat Emptor: I have not tested, all I have done is build Frigate with HailoRT 4.23.0.

Overall I am happy it just built with no errors.

I verified image:

docker images | grep frigate
WARNING: This output is designed for human readability. For machine-readable output, please use --format.
frigate:latest 6b6eb00e77bc 5.92GB 1.33GB
ghcr.io/blakeblackshear/frigate:stable cf4305d9f1c6 3.37GB 866MB U

I modified Frigate compose image to run Frigate:latest.

services:
frigate:
image: frigate:latest

I brought the custom docker container up:
docker compose -f /opt/frigate/standalone_compose.yml -p frigate up -d
NAME STATUS CONFIG FILES
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[+] up 2/2
NAME STATUS CONFIG FILES 0.8s
frigate running(1) /opt/frigate/standalone_compose.yml
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c0e0bee38e1a frigate:latest “/init” 6 seconds ago Up 5 seconds (health: starting) 127.0.0.1:5000->5000/tcp, 0.0.0.0:8554-8555->8554-8555/tcp, [::]:8554-8555->8554-8555/tcp, 0.0.0.0:8555->8555/udp, [::]:8555->8555/udp frigate

Here is log file on startup, still some errors /config issues to work through but no driver mismatch errors:

docker container logs frigate
s6-rc: info: service s6rc-fdholder: starting
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-fdholder successfully started
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service prepare: starting
s6-rc: info: service log-prepare: starting
s6-rc: info: service log-prepare successfully started
s6-rc: info: service nginx-log: starting
s6-rc: info: service go2rtc-log: starting
s6-rc: info: service frigate-log: starting
s6-rc: info: service certsync-log: starting
s6-rc: info: service go2rtc-log successfully started
s6-rc: info: service prepare successfully started
s6-rc: info: service go2rtc: starting
s6-rc: info: service nginx-log successfully started
s6-rc: info: service frigate-log successfully started
s6-rc: info: service certsync-log successfully started
s6-rc: info: service go2rtc successfully started
s6-rc: info: service go2rtc-healthcheck: starting
s6-rc: info: service frigate: starting
s6-rc: info: service go2rtc-healthcheck successfully started
s6-rc: info: service frigate successfully started
s6-rc: info: service nginx: starting
2026-01-01 17:10:06.438439860 [INFO] Starting NGINX…
2026-01-01 17:10:06.502308100 [INFO] No TLS certificate found. Generating a self signed certificate…
2026-01-01 17:10:06.834847338 [INFO] Preparing Frigate…
2026-01-01 17:10:07.173326237 [INFO] Preparing new go2rtc config…
2026-01-01 17:10:07.479155176 [INFO] Starting Frigate…
2026-01-01 17:10:07.903339596 [INFO] Starting go2rtc…
2026-01-01 17:10:08.448054581 17:10:08.447 INF go2rtc platform=linux/arm64 revision=df95ce3 version=1.9.10
2026-01-01 17:10:08.448097026 17:10:08.448 INF config path=/config/go2rtc_homekit.yml
2026-01-01 17:10:08.448825652 17:10:08.448 INF [api] listen addr=:1984
2026-01-01 17:10:08.450743570 17:10:08.449 INF [rtsp] listen addr=:8554
2026-01-01 17:10:08.450749811 17:10:08.449 INF [webrtc] listen addr=:8555
2026-01-01 17:10:08.451306346 17:10:08.451 ERR github.com/AlexxIT/go2rtc/internal/homekit/homekit.go:128 > error=“no interfaces for listen”
s6-rc: info: service nginx successfully started
s6-rc: info: service certsync: starting
2026-01-01 17:10:12.921007102 [INFO] Starting certsync…
s6-rc: info: service certsync successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
2026-01-01 17:10:15.314158539 [2026-01-01 17:10:15] frigate.util.config INFO : Checking if frigate config needs migration…
2026-01-01 17:10:15.333891440 [2026-01-01 17:10:15] frigate.util.config INFO : frigate config does not need migration…
2026-01-01 17:10:15.364925740 [2026-01-01 17:10:15] frigate.app INFO : Starting Frigate (0.17.0-b5d2f86a)
2026-01-01 17:10:15.386560152 [2026-01-01 17:10:15] peewee_migrate.logs INFO : Starting migrations
2026-01-01 17:10:15.387397537 [2026-01-01 17:10:15] peewee_migrate.logs INFO : There is nothing to migrate
2026-01-01 17:10:15.420268959 [2026-01-01 17:10:15] frigate.app INFO : Recording process started: 452
2026-01-01 17:10:15.449080823 [2026-01-01 17:10:15] frigate.app INFO : Review process started: 465
2026-01-01 17:10:15.452425791 [2026-01-01 17:10:15] frigate.app INFO : go2rtc process pid: 124
2026-01-01 17:10:15.846956832 [2026-01-01 17:10:15] frigate.app INFO : Embedding process started: 475
2026-01-01 17:10:15.924725386 [2026-01-01 17:10:15] frigate.app INFO : Output process started: 532
2026-01-01 17:10:16.009745891 [2026-01-01 17:10:16] frigate.camera.maintainer INFO : Camera processor started for frontcam: 573
2026-01-01 17:10:16.136506319 [2026-01-01 17:10:16] frigate.camera.maintainer INFO : Capture process started for frontcam: 631
2026-01-01 17:10:16.229906772 [2026-01-01 17:10:16] frigate.api.fastapi_app INFO : Starting FastAPI app
2026-01-01 17:10:16.264170725 [HailoRT] [warning] HEF was compiled for Hailo8L device, while the device itself is Hailo8. This will result in lower performance.
2026-01-01 17:10:16.264563446 [HailoRT] [warning] HEF was compiled for Hailo8L device, while the device itself is Hailo8. This will result in lower performance.
2026-01-01 17:10:16.335357028 2026/01/01 17:10:16 [error] 226#226: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: “GET /api/version HTTP/1.1”, subrequest: “/auth”, upstream: “http://127.0.0.1:5001/auth”, host: “localhost:5000”
2026-01-01 17:10:16.335541120 2026/01/01 17:10:16 [error] 226#226: *1 auth request unexpected status: 502 while sending to client, client: 127.0.0.1, server: , request: “GET /api/version HTTP/1.1”, host: “localhost:5000”
2026-01-01 17:10:16.426038732 [INFO] Starting go2rtc healthcheck service…
2026-01-01 17:10:16.533351129 [2026-01-01 17:10:16] frigate.api.fastapi_app INFO : FastAPI started

Have fun

What is current status of expemintation on this thread?

Background:
I am running RPI5, on Ubuntu Desktop 25.10. I compiled hailoRT drivers from source. I also compiled HailoRT from source, and have the Python and gstreams Bindings compiled from source as well. I was able to run a few of the examples, and my Hailo8 devices is being recognized and running example interferences.

I modified my Frigate compose file to accomodate Hailo8. This is where I ran into the Hailo8 Driver Mismatch issue. I am battling with this currently.

Good news:
4 days ago ~12/24/25, HailoRT 4.23.0 driver was updated in Frigate container. Releases · frigate-nvr/hailort · GitHub

I dl’d an tried to mount via compose volume but no joy yet. I thought I would check in here.
I have download the Frigate Dev branch from github, looked at the Dockerfile, as next stop is to try and build a custom Frigate, but I really don’t want to do that. I did see in the frigate/docker/main dir a install_hailort.sh. I dl’d files and tried to use those files in my existing Frigate container but no joy either.

Has anyone got any further?