Frigate on TrueNAS

Awesome work, glad to see you got it running on TrueNAS! :tada:

Regarding privileged, we are working on an improvement to our Frigate integration, which among other things will remove the need for privileged.

We’re adding an MX3 runner for face recognition models, so it can be used for both the detector and recognition simultaneously. We’ll switch from ‘local mode’ to ‘shared mode’, which will:

  1. Allow multiple models (detection + recognition) to run simultaneously.
  2. Remove the need for privileged. The device won’t need to be passed either, since all send/recv will happen over the mxa_manager socket.
  3. Loosen the SDK version requirements between container and host. The driver library (libmemx.so) and runtime (libmx_accl.so) change frequently, while the packet protocol between apps and mxa_manager usually stays backwards-compatible. So for example, it will be okay if the container image still uses SDK 2.1 runtime while the host has SDK 2.2 driver & manager.

The initial Frigate integration used Local because we were only running the detection model, and the data copy over the mxa_manager socket added overhead that slowed down weak host CPUs like Raspberry Pi. This overhead is still there, but we’ve improved the performance a lot in SDK 2.3 and consider the pros to outweigh the cons. But we also value community feedback, so let me know if you have concerns!