2025-08-22 16:11:48 +03:00
|
|
|
#!/bin/bash
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
|
|
# Download the MxAccl for Frigate github release
|
2025-11-03 23:23:51 +03:00
|
|
|
wget https://github.com/memryx/mx_accl_frigate/archive/refs/tags/v2.1.0.zip -O /tmp/mxaccl.zip
|
2025-08-22 16:11:48 +03:00
|
|
|
unzip /tmp/mxaccl.zip -d /tmp
|
2025-11-03 23:23:51 +03:00
|
|
|
mv /tmp/mx_accl_frigate-2.1.0 /opt/mx_accl_frigate
|
2025-08-22 16:11:48 +03:00
|
|
|
rm /tmp/mxaccl.zip
|
|
|
|
|
|
|
|
|
|
# Install Python dependencies
|
|
|
|
|
pip3 install -r /opt/mx_accl_frigate/freeze
|
|
|
|
|
|
|
|
|
|
# Link the Python package dynamically
|
|
|
|
|
SITE_PACKAGES=$(python3 -c "import site; print(site.getsitepackages()[0])")
|
|
|
|
|
ln -s /opt/mx_accl_frigate/memryx "$SITE_PACKAGES/memryx"
|
|
|
|
|
|
|
|
|
|
# Copy architecture-specific shared libraries
|
|
|
|
|
ARCH=$(uname -m)
|
|
|
|
|
if [[ "$ARCH" == "x86_64" ]]; then
|
|
|
|
|
cp /opt/mx_accl_frigate/memryx/x86/libmemx.so* /usr/lib/x86_64-linux-gnu/
|
|
|
|
|
cp /opt/mx_accl_frigate/memryx/x86/libmx_accl.so* /usr/lib/x86_64-linux-gnu/
|
|
|
|
|
elif [[ "$ARCH" == "aarch64" ]]; then
|
|
|
|
|
cp /opt/mx_accl_frigate/memryx/arm/libmemx.so* /usr/lib/aarch64-linux-gnu/
|
|
|
|
|
cp /opt/mx_accl_frigate/memryx/arm/libmx_accl.so* /usr/lib/aarch64-linux-gnu/
|
|
|
|
|
else
|
|
|
|
|
echo "Unsupported architecture: $ARCH"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Refresh linker cache
|
|
|
|
|
ldconfig
|