Magic Q35/OVMF Intel iGPU Passthrough Incantation (Proxmox 8.2)

2024/04/25

Finding information on potential pitfalls and problems with this sort of setup is kind of difficult and contradictory, since it heavily depends on your hardware and OS platform. I’ve got it working, so I’m documenting my exact setup. I’ve tried around a half dozen times to get this to work, and this is the first time I’ve succeeded. Just to clarify, this is not the GVT-g mediated device stuff, this is full GPU passthrough to a single virtual machine.

CPU/GPU: i5-8400T, UHD 630

Motherboard/base system: Lenovo m720q

/etc/modules

vfio_pci
vfio
vfio_iommu_type1
vfio_virqfd

/etc/modprobe.d/vfio.conf

blacklist i915
blacklist snd_hda_intel
blacklist snd_hda_codec_hdmi
options vfio-pci ids=8086:3e92 disable_vga=1
alias pci:v0000144Dd0000A808sv0000144Dsd0000A801bc01sc08i02 vfio-pci
options kvm ignore_msrs=1

added to /etc/pve/qemu-server/$vmid.conf

args: -device vfio-pci,host=00:02.0,addr=0x02,x-vga=off,x-igd-opregion=on,x-igd-gms=1,rombar=0

I am passing through the GPU with a QEMU -device argument instead of adding it via the web interface / Proxmox conf hostdev option because some of these options did not seem to be exposed by Proxmox’s config setup, namely the x-igd-opregion and x-igd-gms options. Don’t ask me which of this is necessary and which of it isn’t. I don’t really know at this point. I have not had these damn issues doing iGPU passthrough on like, AMD thin clients.

Edited 4/27/24 - Shortly after setting this up on my Proxmox installation, GRUB died hard and I couldn’t end up fixing it. I have no idea why that is (I fucking hate GRUB) but just.. be warned, I may have been affected by a bug in Proxmox and/or GRUB here, so it might be nothing, but I might have also screwed it up doing this. I fucking hate GRUB. Why does Proxmox use GRUB on EFI? Choosing ZFS gets you systemd-boot, as far as I know, why not let LVM UEFI installations have that choice? Okay, rant over.

>> Home