Intel 13gen or 14gen iGPU full passthrough to Win?

icehq

Member
Nov 24, 2021
9
0
6
39
Hi. question as above - is it possible to do a full iGPU passthrough to Win11? up to 10gen without a problem, later I skipped upgrading the hardware, but now I'm thinking about 14gen, but what matters to me is whether passthrough is possible.
 
If anyone else follows this thread, could they please post the exact make and model of whatever (minipc?) device that they have successfully applied iGPU passthrough to?

I've got a Minisforum HM90 (AMD) and have had no luck, trying every few months after a PVE update. I figure if "we" compare notes on various hardware combinations, then "we" might be able to cobble together one or more reliable iGPU passthrough guides.
 
@markc I think it is a Windows Issue with the driver. I managed to pass it through, but it isn't working (device manager shows error 43).
On Ubuntu it worked with no issues. Hardware:
13900K / Asus Proart z790-Creator Wifi
 
  • Like
Reactions: Ovidiu
@Xclsd Thanks for the heads-up on that beast of a mobo working with Ubuntu. I actually want to use a linux desktop myself, so that is encouraging. I have been mainly testing with a Win10 image because I thought that would be the most likely to work. I will go through the procedure again with an early Ubuntu 24.04 mantic desktop on my HM90 Minisforum and see how I go, and report back.
 
Interesting, I've never managed to get any kind of GPU passthrough to work to even know what SRIOV has to offer. I googled it and found this page which lists a few NUC models that could be potential iGPU passthrough hardware targets... I obviously have a lot to learn.

https://projectceladon.github.io/celadon-documentation/getting-started/on-vm.html

FWIW my use case is to run my main daily driver desktop (Manjaro/KDE) in a VM on a mid to high end miniPC (hence the need for iGPU passthrough) so I can take advantage of effortless back-ups to my Proxmox Backup Server, and a trouble free bootable ZFS file system. I could handle a 5% performance hit from a VM, but SPICE gfx, for instance, is just not good enough for all day desktop usage.
 
Well, it depends on what you want to achieve: For desktop usage a VM with SPICE is enough for my need. But if you need accelerated GPUs for some reason, you might end up needing GVT-G, SRIOV or GPU passthrough. GVT-G worked somehow for me in testing scenarios.
 
@markc I think it is a Windows Issue with the driver. I managed to pass it through, but it isn't working (device manager shows error 43).
On Ubuntu it worked with no issues. Hardware:
13900K / Asus Proart z790-Creator Wifi
Hello,
I'm thinking about the nuc13 (raptor lake 13th gen with iris xe). There ale a lot of posts about the poblems with the full igpu passthrough to windows VM. Two questions:
- is linux VM (e.g. ubuntu) simply working for such setup, so I did not find similar posts?
- does the full igpu passthrough give the full hdmi audio/video output beside the gpu access, and so the VM can be used as a desktop on external monitor? Maybe it's so obvious, but the posts I found cover windows VM only in relation to similar doubts.
 
Last edited:
- is linux VM (e.g. ubuntu) simply working for such setup, so I did not find similar posts?
It should be working. You don't need too passthrough anything to use a VM. You would just have to use a virtua GPU then.
IF the passthrough is possible (I don't know if it is): Linux will just work, if mesa / kernel is as new as needed for the GPU.
IF SR/IOV is working(I don't know if it is):: Linux will just work as well.
- does the full igpu passthrough give the full hdmi audio/video output beside the gpu access, and so the VM can be used as a desktop on external monitor?
IF the passthrough is possible (I don't know if it is): You can use HDMI + Audio output as a usual Desktop. You'll just need to power on the device somehow via the Interface / a Script / whatever solution is possible to power on the VM.
 
It should be working. You don't need too passthrough anything to use a VM. You would just have to use a virtua GPU then.
IF the passthrough is possible (I don't know if it is): Linux will just work, if mesa / kernel is as new as needed for the GPU.
IF SR/IOV is working(I don't know if it is):: Linux will just work as well.

IF the passthrough is possible (I don't know if it is): You can use HDMI + Audio output as a usual Desktop. You'll just need to power on the device somehow via the Interface / a Script / whatever solution is possible to power on the VM
I can confirm, AV over HDMI works well with the full gpu passtrhough for NUC13 i7 with linux VM.
 
  • Like
Reactions: Jumpstart1981
I can confirm, AV over HDMI works well with the full gpu passtrhough for NUC13 i7 with linux VM.
Hey,

Hooow? I've been scratching my head for a few days trying to get HDMI to my Debian VM. SR-IOV or full GPU passthrough, I haven't gotten it working.
Got GPU passthrough for use with plex and whatnot, yeah. But HDMI for my VM seem impossible...

You have a guide or something?
 
  • Like
Reactions: Jumpstart1981
Sure, a few days to dig my config out.

These are my configs, the other commands are added manually (all this comes from that other thread).
You must run with the hdmi already connected. That simply works, both audio and video from VM.
I've just noticed I have duplicates in cmdline and in blacklist.

Code:
root@pve:~# grep _CMDLINE_LINUX_ /etc/default/grub
#GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on iommu=pt module_blacklist=i915,snd_hda_intel,snd_hda_codec_hdmi,snd_sof_pci_intel_tg1"

root@pve:~# update-grub

root@pve:~# grep vfio /etc/modules
vfio
vfio_iommu_type1
vfio_pci


root@pve:~# cat /etc/modprobe.d/blacklist.conf 
blacklist i915
blacklist snd_hda_intel
blacklist snd_hda_codec_hdmi
blacklist snd_sof_pci_intel_tg1

root@pve:~# cat /etc/modprobe.d/vfio.conf 
options vfio-pci ids=8086:a7a0,8086:51ca
options vfio_iommu_type1 allow_unsafe_interrupts=1

root@pve:~# update-initramfs -u -k all
root@pve:~# systemctl reboot

root@pve:~# mkdir /usr/share/kvm/nuc13
root@pve:~# wget -P /usr/share/kvm/nuc13/ https://github.com/gangqizai/igd/raw/refs/heads/main/gen12_gop.rom
root@pve:~# wget -P /usr/share/kvm/nuc13/ https://github.com/gangqizai/igd/raw/refs/heads/main/gen12_igd.rom
root@pve:~# md5sum /usr/share/kvm/nuc13/*
d4a9ba02ddd8134be5abafa6dfd699cf  /usr/share/kvm/nuc13/gen12_gop.rom
42abaea033982f2b2d1b616ae6062936  /usr/share/kvm/nuc13/gen12_igd.rom

root@pve:~# sed 's/[-0-9a-fA-F:]\{12,\}/xxx/' /etc/pve/local/qemu-server/100.conf
agent: 1
args: -set device.hostpci0.addr=02.0 -set device.hostpci0.x-igd-gms=0x2 -set device.hostpci0.x-igd-opregion=on -debugcon file:/root/igd_debug.log -global isa-debugcon.iobase=0x402
bios: ovmf
boot: order=scsi0
cores: 4
cpu: x86-64-v2-AES
efidisk0: local-btrfs:100/vm-100-disk-0.raw,efitype=4m,pre-enrolled-keys=1,size=528K
hostpci0: 0000:00:02.0,romfile=nuc13/gen12_igd.rom
hostpci1: 0000:00:1f.3,romfile=nuc13/gen12_gop.rom
ide2: local-btrfs:iso/Fedora-Workstation-Live-x86_64-39-1.5.iso,media=cdrom,size=2079836K
machine: q35
memory: 8192
meta: creation-qemu=8.1.2,ctime=1705861785
name: fedora
net0: virtio=xxx,bridge=vmbr0,firewall=1
numa: 1
ostype: l26
scsi0: local-btrfs:100/vm-100-disk-1.raw,discard=on,iothread=1,size=20G,ssd=1
scsihw: virtio-scsi-single
smbios1: uuid=xxx
sockets: 2
usb0: host=1-7
usb1: host=1-1
vga: none
vmgenid: xxx
 
Last edited: