After upgrading Proxmox from version 8 to 9 (or after a kernel upgrade), Intel iGPU passthrough for Frigate running in a Docker container inside an LXC container suddenly stopped working. OpenVINO would detect the GPU but hang indefinitely when trying to use it, forcing fallback to CPU inference.
System Configuration
- Hardware: Intel NUC12WSHi5 (12th Gen Alder Lake with Intel UHD Graphics)
- Host OS: Proxmox 9 with kernel 6.14.11-4-pve
- Setup: Frigate running in Docker container inside LXC container
- Goal: Hardware acceleration using Intel iGPU (OpenVINO + VAAPI)
Symptoms
- OpenVINO detects GPU but can’t use it
- Critical kernel errors in dmesg
- FFmpeg VAAPI errors
Root Cause
The kernel upgrade broke the i915-sriov-dkms module that enables Intel iGPU virtualization and SR-IOV support. DKMS modules need to be rebuilt when kernels are upgraded, but this didn’t happen automatically, leaving the GPU driver in a broken state.
The Solution
Step 1: Check DKMS Status
First, identify the problem on your Proxmox host:
Step 2: Rebuild the i915-sriov-dkms Module
If the module exists but isn’t built for your current kernel:
| |
Step 3: If Module is Missing, Reinstall It
| |
Step 4: Verify Kernel Parameters
Ensure your kernel boot parameters are correct:
Step 5: Verify the Fix
After reboot, verify everything is working:
| |
Conclusion
Intel iGPU passthrough on Proxmox requires the i915-sriov-dkms module for SR-IOV support. When upgrading kernels, this module must be rebuilt. If you encounter GPU hangs or TLB timeout errors after a kernel upgrade, rebuilding or reinstalling the DKMS module will restore GPU functionality.
Remember: DKMS modules are kernel-version specific. Always rebuild them after kernel upgrades to maintain hardware passthrough functionality.