Hey folks,
I'm new here. I spent a weekend trying to get full passtrhough of my IGD and wanted to share my configs in case they can be helpful to others.
There are few threads around, but none of them quite worked straight away with my hardware. It took a while until I managed to get the Intel drives working with any Code 43 errors. Ultimately it works and I'm getting displayport output. Youtube and everything else work like a breeze.
I can even stop/start the VM several times and nothing explodes (So far).
What I wanted: I wanted one of my proxmox VMs to be a Windows 11 vm, with full passtrhough of the IGD, so I can get DisplayPort/HDMI output.
My setup:
Then you need to follow the usual instructions (you can find in various places) to unbind the IGD from the host (See end of the thread)
/etc/pve/qemu-server/112.conf
Note: you can skip hostpci1: 0000:00:1f.3 if you don't care about HDMI audio
Various etc files to unbind the i915 driver from the host

I'm new here. I spent a weekend trying to get full passtrhough of my IGD and wanted to share my configs in case they can be helpful to others.
There are few threads around, but none of them quite worked straight away with my hardware. It took a while until I managed to get the Intel drives working with any Code 43 errors. Ultimately it works and I'm getting displayport output. Youtube and everything else work like a breeze.
I can even stop/start the VM several times and nothing explodes (So far).
What I wanted: I wanted one of my proxmox VMs to be a Windows 11 vm, with full passtrhough of the IGD, so I can get DisplayPort/HDMI output.
My setup:
- MB: ASRock Rack W680D4U
- CPU: Intel i7-14700
- Bios settings: default settings + disable resizable PCIe bar for the IGD.
- https://github.com/lixiaoliu666/intel6-14rom/releases/tag/v2.0-20250622-100999
- Save it into /usr/share/kvm
- root@vmm:~# shasum /usr/share/kvm/6-14-qemu10.rom
- 8a56648e10dc34bf76e02b79285abf277815f629 /usr/share/kvm/6-14-qemu10.rom
Then you need to follow the usual instructions (you can find in various places) to unbind the IGD from the host (See end of the thread)
/etc/pve/qemu-server/112.conf
Code:
agent: 1
args: -set device.hostpci0.x-igd-opregion=on -set device.hostpci0.x-igd-legacy-mode=on -set device.hostpci0.x-igd-gms=0x2
bios: ovmf
boot: order=scsi0;ide0;net0
cores: 16
cpu: host,hidden=1,flags=+pcid
cpuunits: 50
efidisk0: zfs-vm:vm-112-disk-0,efitype=4m,size=4M,pre-enrolled-keys=0
vga: none
machine: pc-i440fx-10.0+pve1
hostpci0: 0000:00:02.0,legacy-igd=1,romfile=6-14-qemu10.rom
hostpci1: 0000:00:1f.3
hotplug: 0
memory: 32768
meta: creation-qemu=9.2.0,ctime=1758317594
name: win
net0: virtio=BC:24:11:AA:AC:BD,bridge=vmbr0
numa: 0
ostype: win11
scsi0: zfs-vm:vm-112-disk-1,iothread=1,size=128G,ssd=1
scsihw: virtio-scsi-single
sockets: 1
tpmstate0: zfs-vm:vm-112-disk-2,size=4M,version=v2.0
Note: you can skip hostpci1: 0000:00:1f.3 if you don't care about HDMI audio
Various etc files to unbind the i915 driver from the host
Code:
root@vmm:~# cat /etc/modprobe.d/vfio.conf
options vfio-pci ids=8086:a780
root@vmm:~# cat /etc/modprobe.d/blacklist-i915.conf
blacklist i915
root@vmm:~# grep CMDLINE_LINUX_DEFAULT /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset video=efifb:off video=vesafb:off intel_iommu=on iommu=pt vfio-pci.ids=8086:a780"
update-initramfs -u -k all
update-grub
