[SOLVED] IGD passtrhough working - Intel UHD 770

Sep 21, 2025
3
3
3
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:
  • MB: ASRock Rack W680D4U
  • CPU: Intel i7-14700
  • Bios settings: default settings + disable resizable PCIe bar for the IGD.
I downloaded the 6-14-qemu10.rom from here:

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

1758462685183.png
 
Great work!
Just one note:
As you are passing through the whole graphics device, and your chosen motherboard still features a real COM-port, it might be a good idea to enable serial console on the Proxmox system. Just in case something ever goes wrong with the pass-through and you would like to see what's going on, without much reconfiguration. Might come in handy.
 
Great work!
Just one note:
As you are passing through the whole graphics device, and your chosen motherboard still features a real COM-port, it might be a good idea to enable serial console on the Proxmox system. Just in case something ever goes wrong with the pass-through and you would like to see what's going on, without much reconfiguration. Might come in handy.
A COM port on a windows machine is pretty useless, unless you want to use remote kernel debugging via WinDBG.
If something goes wrong my best advice is to temporarily add a VGA device and use that for rescue mode
 
A COM port on a windows machine is pretty useless, unless you want to use remote kernel debugging via WinDBG.
If something goes wrong my best advice is to temporarily add a VGA device and use that for rescue mode

Please re-read what I wrote. Did I say he should add the COM-port to the Windows VM?
Th buzz-word is "serial console redirection" of the Linux Kernel messages from the Proxmox host.
In case something does not work as intended, at some point, this can be really helpful.
 
  • Like
Reactions: uzumo
Please re-read what I wrote. Did I say he should add the COM-port to the Windows VM?
Th buzz-word is "serial console redirection" of the Linux Kernel messages from the Proxmox host.
In case something does not work as intended, at some point, this can be really helpful.
Aaah sorry I see what you meant now

Thankfully AsRock Rack motherboards have a Aspeed BMC (IPMI) controller which acts as a secondary VGA device over KVM.
These boards are beautiful: you can just VNC into the machine thanks to a dedicated ethernet port, log in, even tweak the bios remotely.
 
Thanks. Just would like to seek for Proxmox official to see the ROM and whether possible to apply this fix officially instead of using some third parties ROM to avoid any security concerns

Thanks