IGD passthrough for Intel NUC8i7BEH

Host Configuration

Virtualization Environment: Proxmox 7.0 (GRUB)
Hardware: Intel NUC NUC8i7BEH
BIOS: UEFI Mode

Proxmox Configuration

Enable IOMMU

Update /etc/default/grub.
Find the line with GRUB_CMDLINE_LINUX_DEFAULT. Set to

1
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=efifb:off,vesafb:off"

Then save the changes and update grub by calling update-grub

Load VFIO module

Add the following to /etc/modules:

1
2
3
4
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

Blacklist the drivers

Add the following to /etc/modprobe.d/pve-blacklist.conf

1
2
3
blacklist snd_hda_intel
blacklist snd_hda_codec_hdmi
blacklist i915

Enable VFIO for IGD

Run the following command to get the device ID of iGPU

1
2
$ lspci -n | grep -E "0300"
00:02.0 0300: 8086:3ea5 (rev 01)

Copy the value 8086:3ea5. Add this line to /etc/modprobe.d/vfio.conf:
options vfio-pci ids=8086:3ea5

Verification

Reboot. If the booting freeze at Loading initial ramdisk ... means the IGD driver has been blacklisted.

Extract IGD ROM

TLDR: here is the premake ROM file.

Following the guide from this link https://github.com/tmbeck/nuc-passthrough. Generate and copy the ROM file to /usr/share/kvm of the host.

Configure VM configuration

  • Set Machine to Default (i440fx). Legacy IGD is not compatible with q35.
  • Set Display to none. Legacy IGD requires VGA mode to be none.

Update VM configuration

Edit /etc/pve/qemu-server/<vmid>.conf. <vmid> refer to VM ID.
Add this line to the end of the file:

1
hostpci0: 0000:00:02.0,legacy-igd=1,romfile=<rom-file>.rom

<rom-file> is the ROM file name copied into /usr/share/kvm.

Booting the Windows VM

Make sure remote access is working properly. There will be no signal output from HDMI.

Go to the Device Manager. Ensure the IGD driver is working properly with no error code like 43.
You can also pass through USB controller 0000:00:14.0 to use USB devices like keyboards and mouses.

Reference

https://pve.proxmox.com/wiki/Pci_passthrough
https://github.com/tmbeck/nuc-passthrough
https://blog.timzhong.top/2020/09/27/pve-direct-pcie/
https://www.10bests.com/win10-htpc-on-pve/