Proxmox Windows 11 with iGPU Passtrhough
I'm using intel 4th gen cpu with intel HD4600.
- Add this line to /etc/kernel/cmdline next to
boot:zfs
quiet intel_iommu=on iommu=pt irqpool video=vesafb:off video=efifb:off initcall_blacklist=sysfb_init
If you not using zfs then edit file in /etc/default/grub
Look for this line:
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
And add after quiet line.
Update proxmox boot tool:
proxmox-boot-tool refresh
- Edit
/etc/modules
and add VFIO module
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
- IOMMU interrupt remaping
echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf
echo "options kvm ignore_msrs=1" > /etc/modprobe.d/kvm.conf
- Blacklisting driver
echo "blacklist i915" >> /etc/modprobe.d/blacklist.conf
- Adding GPU to VFIO
lspci -v
You will see output like this
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06) (prog-if 00 [VGA controller])
Make note of the first set of numbers (e.g. 00:02.0). We'll need them for the next step.
Run the command below. Replace 01:00 with whatever number was next to your GPU when you ran the previous command:
lspci -n -s 00:02
Doing this should output your GPU card's Vendor IDs. It'll look a little something like this:
00:02.0 0300: 8086:0416 (rev 06)
What we want to keep, are these vendor id codes: 8086:0416.
Now we add the GPU's vendor id's to the VFIO (remember to replace the id's with your own!):
echo "options vfio-pci ids=8086:0416 disable_vga=1"> /etc/modprobe.d/vfio.conf
Finally, we run this command:
update-initramfs -u
And reboot:
reboot
Now your Proxmox host should be ready to passthrough GPUs!
Edit VM configuration
micro /etc/pve/qemu-server/100.conf