Debugging PCI (GPU) Passthrough for HA on Proxmox

I would like to use the host Graphic Adapter (Intel UHD 600) for the Frigate addon in HA.
There is only one post about this topic, but it is old and the VM is Ubuntu and not HAOS.
If someone has experience with that and the HAOS specific issues, help would be very welcome.
Note I got passthrough working on an LC container in Proxmox, but not yet used it for a VM.

I followed more or less this guide to install the kernel with graphic support on the host.

And according to a grep on IOMMU it should work.

root@pve:~# dmesg | grep -e DMAR -e IOMMU
[    0.008164] ACPI: DMAR 0x00000000799E2E30 0000A8 (v01 INTEL  GLK-SOC  00000003 BRXT 0100000D)
[    0.008234] ACPI: Reserving DMAR table memory at [mem 0x799e2e30-0x799e2ed7]
[    0.037826] DMAR: IOMMU enabled
[    0.149008] DMAR: Host address width 39
[    0.149010] DMAR: DRHD base: 0x000000fed64000 flags: 0x0
[    0.149019] DMAR: dmar0: reg_base_addr fed64000 ver 1:0 cap 1c0000c40660462 ecap 9e2ff0505e
[    0.149024] DMAR: DRHD base: 0x000000fed65000 flags: 0x1

Then I did add the PCI device to the VM.
image

image

After rebooting nothing happens and it doesn’t seem, that even the HAOS is getting to the boot process.

I’m running into similar issues with passing an Intel UHD 750 iGPU to Windows for Plex. Pretty much the same symptoms where the passthrough appears to be working but the guest VM has issues. In Windows, it gives an Error 43 (which is a generic driver failure) message.

In addition to the iGPU, I have an LSI HBA expander card being passed through to TrueNAS, so I know IOMMU as a whole is working.

I’m not sure if you subsequently resolved this issue but i just followed the same guide that you linked to in an attempt to pass through the iGPU and get Frigate to run with hardware acceleration.

Everything appeared to be working from the Proxmox host but i encountered an error when trying to open the console: “guest has not initialized the display (yet)”. Also, when trying to open the web address nothing would load.

I eventually managed to get it to work through trial and error by:

  • removing `Machine: q35’ from /etc/pve/qemu-server/.conf (if you had done that);
  • when adding the PCI device under the hardware tab, only checking the options: “All Functions” and “ROM-Bar” (ie don’t select “Primary GPU” or “PCI-Express”);
  • make sure the ‘Display’ option under the hardware tab is set to “Default” (not none).

After making these changes i was then able to get HA to run and i was also successful in getting Frigate to work with hardware acceleration (before doing this everytime i tried to add “hwaccel_args: preset-vaapi” Frigate would crash!)

Thanks

Tom