Hello. Very new to Incus and attempting to jump in at the deep end with IncusOS.
I’ve seen a few posts referencing Frigate on the forums but nothing concrete - folks who are running Frigate on Incus - what is your setup? What is best practice?
I’ve attempted OCI instance and I can get it running with a CPU detector but can’t seem to get GPU settings right or any form of hardware accelleration.
I also attempted first as a debian container install but didn’t get too far, I put this down to lack of knowledge and learning curve for me with this system.
Would greatly appreciate if others could share details or examples of their setups with Frigate so I might figure out which tree to bark up.
Perhaps I should give some context myself:
Latest IncusOS 6.19.1 on a Beelink EQi12(Intel Core i3-1220P (Alder Lake-P) + UHD Graphics 1.10GHz
Frigate as OCI container from “ghcr.io/blakeblackshear/frigate:stable”
Have set to privileged while troubleshooting but also attempted without.
GPU added and seems to be visible in the container:
Thank you for sharing your config, this lets me know that the way I am trying to run it is at least possible. However I am still having no luck with GPU.
With the container privileged I’m seeing the following dmesg output across multiple boots:
Sorry if I’m not following but - my distribution is IncusOS?
Which I dont believe I can install packages on and I don’t believe installing firmware inside the container will fix it?
We’re looking at adding an extra application for gpu-support which will then bring in all the firmware bits. Doing that in the base install would literally double the entire OS size for everyone (some of those firmware files are huge).
Thank you for the response and attention. I’ll follow the linked issue on github.
In the meantime is there a recommended hardware for an incusOS homelab type setup?
Despite the hiccups i’m enjoying the platform.
Anything that supports UEFI Secure Boot, has a TPM 2.0 module, some reliable storage and networking should be fine and when not, we’ve tried to be pretty quick to track down missing drivers and such and get things added as needed.
On the GPU front, currently none of them have working firmware so it’s a generic issue. Once that’s resolved, I suspect Intel and AMD will be the frontrunners as we can’t ship the binary NVIDIA driver, meaning that NVIDIA cards will have to contend with the nouveau driver.
I gather from the linked github issue that a fix is planned for early next year? So for now I think I will run frigate in a VM to get full gpu support and migrate to OCI hopefully later.
I see the github issue closed now and GPU support application added, although the documentation is a little sparse, I’m wondering is there anything I can look to for guidance on how to get up and running with GPU support?
Thanks Stéphane, I’d gotten as far as adding the application and it appears to be running, but I still seem to be encountering issues. Running frigate priviledged while I troubleshoot. Some info below, not sure if I have something setup incorrectly or if there is perhaps timing issues where the driver attempts to load before the gpu application.
Any insights greatly appreciated.
WARNING: The IncusOS API and configuration is subject to change
config: {}
state:
initialized: true
version: “202601100100”
incus admin os application list
WARNING: The IncusOS API and configuration is subject to change
±------------+
| NAME |
±------------+
| gpu-support |
±------------+
| incus |
±------------+
incus admin os debug log -b0 | grep -E “i915|firmware|sysext|sd-merge|gpu-support” | head -40
WARNING: The IncusOS API and configuration is subject to change
[2026/01/12 14:42:18 GMT] kernel: faux_driver regulatory: Direct firmware load for regulatory.db failed with error -2
[2026/01/12 14:42:19 GMT] systemd: Listening on systemd-sysext.socket - System Extension Image Management.
[2026/01/12 14:42:19 GMT] systemd: systemd-sysext.service - Merge System Extension Images into /usr/ and /opt/ was skipped because no trigger condition checks were met.
[2026/01/12 14:42:20 GMT] systemd: systemd-sysext.socket: Deactivated successfully.
[2026/01/12 14:42:20 GMT] systemd: Closed systemd-sysext.socket - System Extension Image Management.
[2026/01/12 14:42:21 GMT] systemd: systemd-hibernate-clear.service - Clear Stale Hibernate Storage Info was skipped because of an unmet condition check (ConditionPathExists=/sys/firmware/efi/efivars/HibernateLocation-8cf2644b-4b0b-428f-9387-6d876050dc67).
[2026/01/12 14:42:21 GMT] kernel: iwlwifi 0000:ad:00.0: Direct firmware load for iwlwifi-cc-a0-77.ucode failed with error -2
[2026/01/12 14:42:21 GMT] kernel: iwlwifi 0000:ad:00.0: no suitable firmware found!
[2026/01/12 14:42:21 GMT] kernel: iwlwifi 0000:ad:00.0: check git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
[2026/01/12 14:42:23 GMT] kernel: Bluetooth: hci0: Minimum firmware build 1 week 10 2014
[2026/01/12 14:42:23 GMT] kernel: Bluetooth: hci0: Failed to load Intel firmware file intel/ibt-20-1-3.sfi (-2)
[2026/01/12 14:42:23 GMT] kernel: i915 0000:00:02.0: [drm] Found alderlake_p (device ID 46b3) integrated display version 13.00 stepping D0
[2026/01/12 14:42:23 GMT] kernel: i915 0000:00:02.0: [drm] VT-d active for gfx access
[2026/01/12 14:42:23 GMT] kernel: i915 0000:00:02.0: vgaarb: deactivate vga console
[2026/01/12 14:42:23 GMT] kernel: i915 0000:00:02.0: [drm] Using Transparent Hugepages
[2026/01/12 14:42:23 GMT] kernel: i915 0000:00:02.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[2026/01/12 14:42:23 GMT] kernel: i915 0000:00:02.0: Direct firmware load for i915/adlp_dmc.bin failed with error -2
[2026/01/12 14:42:23 GMT] kernel: i915 0000:00:02.0: Direct firmware load for i915/adlp_dmc_ver2_16.bin failed with error -2
[2026/01/12 14:42:23 GMT] kernel: i915 0000:00:02.0: [drm] Failed to load DMC firmware i915/adlp_dmc.bin (-ENOENT). Disabling runtime power management.
[2026/01/12 14:42:23 GMT] kernel: i915 0000:00:02.0: [drm] DMC firmware homepage: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
[2026/01/12 14:42:23 GMT] kernel: i915 0000:00:02.0: [drm] *ERROR* GT0: GuC firmware i915/adlp_guc_70.bin: fetch failed -ENOENT
[2026/01/12 14:42:23 GMT] kernel: i915 0000:00:02.0: [drm] GT0: GuC firmware(s) can be downloaded from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915
[2026/01/12 14:42:23 GMT] kernel: i915 0000:00:02.0: [drm] GT0: GuC firmware i915/adlp_guc_70.bin version 0.0.0
[2026/01/12 14:42:23 GMT] kernel: i915 0000:00:02.0: [drm] *ERROR* GT0: GuC initialization failed -ENOENT
[2026/01/12 14:42:23 GMT] kernel: i915 0000:00:02.0: [drm] *ERROR* GT0: Enabling uc failed (-5)
[2026/01/12 14:42:23 GMT] kernel: i915 0000:00:02.0: [drm] *ERROR* GT0: Failed to initialize GPU, declaring it wedged!
[2026/01/12 14:42:23 GMT] kernel: i915 0000:00:02.0: [drm] CI tainted: 0x9 by intel_gt_set_wedged_on_init+0x34/0x50 [i915]
[2026/01/12 14:42:23 GMT] kernel: [drm] Initialized i915 1.6.0 for 0000:00:02.0 on minor 0
[2026/01/12 14:42:25 GMT] kernel: i915 0000:00:02.0: [drm] Cannot find any crtc or sizes
[2026/01/12 14:42:25 GMT] kernel: snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops intel_audio_component_bind_ops [i915])
[2026/01/12 14:42:26 GMT] systemd: Listening on systemd-sysext.socket - System Extension Image Management.
[2026/01/12 14:42:26 GMT] systemd: Starting systemd-sysext.service - Merge System Extension Images into /usr/ and /opt/...
[2026/01/12 14:42:26 GMT] (sd-merge): Using extensions 'gpu-support.raw', 'incus.raw'.
[2026/01/12 14:42:26 GMT] (sd-merge): Merged extensions into '/usr'.
[2026/01/12 14:42:26 GMT] (sd-merge): Merged extensions into '/opt'.
[2026/01/12 14:42:26 GMT] systemd: Finished systemd-sysext.service - Merge System Extension Images into /usr/ and /opt/.
[2026/01/12 14:42:26 GMT] kernel: i915 0000:00:02.0: [drm] Cannot find any crtc or sizes
[2026/01/12 14:42:27 GMT] systemd: Startup finished in 12.373s (firmware) + 5.053s (loader) + 1.145s (kernel) + 2.401s (initrd) + 5.943s (userspace) = 26.916s.
[2026/01/12 14:42:32 GMT] kernel: r8169 0000:ab:00.0: Unable to load firmware rtl_nic/rtl8168h-2.fw (-2)
[2026/01/12 14:42:32 GMT] kernel: r8169 0000:ac:00.0: Unable to load firmware rtl_nic/rtl8168h-2.fw (-2)
Hopefully my last question here, but I’m wondering is it possible to get GPU stats in container?
The solution with proxmox lxc containers was CAP_PERFMON so I’ve tried adding:
raw.lxc: |
lxc.cap.keep = perfmon
to the config but that seems to cause further issues.
Any references to such I can find in the forums here seem to point to running privileged as the solution which is less ideal.