I was able to get over this issue by being explicit with versions, I took the example from Canonical but had to do this
# checkout the latest stable version
git clone https://github.com/hailo-ai/hailort-drivers.git
git checkout v4.20.0
Then, inside my containers entrypoint script, I tied the libs to these versions
echo "📦 Installing Hailo-all"
apt-get update && \
apt-get install -y \
hailo-all=4.20.0 \
hailo-tappas-core=3.31.0+1-1 \
hailofw=4.20.0-1 \
hailort=4.20.0-1 \
python3-hailort=4.20.0-1 \
rpicam-apps-hailo-postprocess=1.7.0-1 \
&& apt-mark hold hailo-all hailo-tappas-core hailofw hailort python3-hailort rpicam-apps-hailo-postprocess
That seems to be all I needed to do so far, I can now see the hailonet
, hailooverlay
and hailofilter
gstreamer elements.
I had a few red-herrings that took me down a dark path… on the host it would randomly “lose” the device, especially after a reboot, but I found another post on here saying to run hailortcli scan
, then if devices have vanished, run
sudo modprobe -r hailo_pci
sudo modprobe hailo_pci
I’m going in a slightly different direction than the Canonical example, I’m using the container headless, it’ll just do the inferrence, it’ll be a gstreamer pipeline sourcing from one tcp and sinking to another tcp outside the container. When I eventually get it working I’ll come back here with some links