Frigate with MemryX on Proxmox

Introduction

This guide is intended for Frigate users looking to integrate the MemryX detector into their Proxmox-hosted setups.

VM Setup

To get started, you’ll need to configure your VM settings to allow PCIe pass-through between your VM and host system. We recommend that you create a Proxmox VM with Ubuntu 24.04, and use these settings for the VM hardware:

  • Machine type: Q35
  • BIOS: OVMF UEFI
  • PCIe host devices (duplicate this to add multiple connected MX3s):
    • Raw device
    • Device: select your MX3’s ID from the dropdown
    • All functions: true
    • ROM-bar: false
    • PCI-Express: true

Once the VM is created and Ubuntu 24.04 is installed, inside the VM you can follow the usual SDK install process, followed by setting up the Frigate docker container.

Troubleshooting & Potential Issues

If you see the MX3 device does exist in the container and the driver loads (acclBench --hello should show your installed device(s)), but Frigate is failing to start and has errors around the MemryX detector, the issue may be firmware-related, e.g., the auto-update during driver install in the VM might have failed.

You can perform a manual firmware update inside the Ubuntu VM using the following commands in a terminal:

sudo rmmod memx_cascade_plus_pcie
sudo mxfw_pcie_update_flash -f /lib/firmware/cascade_4chips_flash.bin

When the update completes, restart both the Proxmox host and the Ubuntu VM.

Final Thoughts

We hope this guide is helpful to the Frigate community. If you have any questions or encounter an issue with your setup, the MemryX team is here to help!