Proxmox iGPU Passthrough only works on Windows guests

I wanted to passthrough UHD 630 to a DSM guest. I thought that PCIe passthrough in Proxmox has matured enough that it will be a straightforward task to assign my iGPU Intel UHD 630 to a Linux guest.

This was not the case.

I’m getting the following errors on a Linux and Mac guests:

Host error log

DMAR: [DMA Write NO_PASID] Request device [c7:00.0] fault addr 0x27af3000 [fault reason 0x05] PTE Write access is not set

DSM error log

[    4.093363] i915 0000:01:00.0: Invalid ROM contents
[    4.095707] [drm:gen9_set_dc_state [i915]] *ERROR* DC state mismatch (0x0 -> 0x2)
[    4.103321] [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)
[    5.754708] i915 0000:01:00.0: Resetting rcs0 after gpu hang
[    5.755644] i915 0000:01:00.0: Resetting bcs0 after gpu hang
[    5.756533] i915 0000:01:00.0: Resetting vcs0 after gpu hang
[    5.757376] i915 0000:01:00.0: Resetting vecs0 after gpu hang
[    7.707272] i915 0000:01:00.0: Resetting chip after gpu hang
[    7.708617] i915 0000:01:00.0: GPU recovery failed
[    7.716928] [drm] Initialized i915 1.6.0 20171222 for 0000:01:00.0 on minor 0
[    8.107294] i915 0000:01:00.0: fb0: inteldrmfb frame buffer device
[    8.702947] i915 0000:01:00.0: HDMI-A-1: EDID is invalid:
[   42.201199] i915 0000:01:00.0: HDMI-A-2: EDID is invalid:

Things I tried

Blacklisting iGPU on boot

I followed with all the modification to Proxmox host, result are the same.

  • Blacklisting iGPU so the host won’t initialize it

Use a vbios file

I tried using a vbios romfile to re-initiate the GPU, result are the same.

  • Copied the rom file to /usr/share/kvm/ and adding romfile=<vbios>.rom to hostpci0 in /etc/pve/qemu-server/<VMID>.conf


I briefly considered using SR-IOV but it looks like a lot of work. Host and guest has to support it. I have limited control over DSM.

Probably in the future if I have a use-case of passing through iGPU to a guest.

Other useful resources



Leave a Reply

Your email address will not be published. Required fields are marked *