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 https://3os.org/infrastructure/proxmox/gpu-passthrough/igpu-passthrough-to-vm/#proxmox-configuration-for-igpu-full-passthrough 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 https://github.com/patmagauran/i915ovmfPkg to re-initiate the GPU, result are the same.
- Copied the rom file to
/usr/share/kvm/
and addingromfile=<vbios>.rom
to hostpci0 in/etc/pve/qemu-server/<VMID>.conf
SR-IOV
I briefly considered using SR-IOV https://github.com/strongtz/i915-sriov-dkms 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
- https://www.reddit.com/r/VFIO/comments/innriq/successful_macos_catalina_with_intel_gvtg/
- https://xpenology.com/forum/topic/69865-i915-driver-for-sa6400/
- https://github.com/intel-gpu/intel-gpu-i915-backports
- https://3os.org/
- https://xpenology.com/forum/topic/63410-develop-and-refine-the-dva1622-loader/page/31/
- https://hsve.org/passthrough/
- https://forum.proxmox.com/threads/cannot-passthrough-nic-in-proxmox-to-opnsense-vm.119213/#post-517214
- https://github.com/Aterfax/relax-intel-rmrr
- https://github.com/brunokc/pve-kernel-builder#configuration
Leave a Reply