Hailo supports both Ubuntu 20.04 and Raspberry Pi OS, our recommendation is to install TAPPAS on Raspberry Pi OS.
This guide focuses on the installation of TAPPAS on Raspberry Pi OS.
- Device: Raspberry Pi Compute Module 4
- Camera: Raspberry Pi Camera V2
- Operating System: Debian GNU/Linux 11 (bullseye)
- Kernel: Linux 5.15.32-v8+
- Architecture: arm64
Burn Debian GNU/Linux 11 (bullseye) Image Download Raspberry Pi Imager
Install Raspberrypi kernel headers
sudo apt-get install raspberrypi-kernel-headers
Read through on how to pre build docker image for Raspberry Pi or installing TAPPAS manually
Note
Raspberry Pi we limit the number of cpu cores to 1 during compilation (more cores accelerates the compilation process, but may cause 'out of swap memory' issue on weak machines like Raspberry Pi)
g++-9: fatal error: Killed signal terminated
After installing TAPPAS and HailoRT, A known issue regarding working with display connected via HDMI requires the following steps:
- Add the HailoRT PCIe driver to blacklist:
# open rpi blacklist configuration file with sudo privileges
sudo vim /etc/modprobe.d/raspi-blacklist.conf
# add new line to the file
blacklist hailo_pci
- Reboot the machine
- Install the module manually:
sudo modprobe hailo_pci
Note
installing the module manually is required on every boot of the raspberry-pi.
We tested our applications with Raspberry Pi Camera Module 2
To support TAPPAS apps, enable camera features that support v4l by doing the following steps:
- Configure Raspicam:
sudo wget https://datasheets.raspberrypi.com/cmio/dt-blob-cam1.bin -O /boot/dt-blob.bin
- Enable Legacy camera features:
sudo raspi-config
- Reboot the machine
- Check Raspicam output:
vcgencmd get_camera
To read further and learn more more details about each application refer to the link This section
In some sceneraios, you might face the following error:
(gst-plugin-scanner:15): GStreamer-WARNING **: 13:58:20.557: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstlibav.so': /lib/aarch64-linux-gnu/libgomp.so.1: cannot allocate memory in static TLS block
The solution is to export an enviroment variable:
export LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libgomp.so.1