N100/N200 Alder Lake iGPU full passthrough to Win11(+)

user127

New Member
Jul 16, 2024
9
0
1
Does someone managed to make the subj work for the latest (8.2.4) PVE?
The only semi-working approach (random black screens after 30 mins of working guest VM) I have found is legacy based (https://github.com/gangqizai/igd?tab=readme-ov-file#readme). Any others (starting from the official manual of course) leads to the black screen from HDMI out just on attempt to run the guest VM.
Can someone point me to the proven (for N100/N200) working approach? Or does it simply not exist?
Thanks.
 
Last edited:
Looking for the same, did you make any progress?
Actually I lost my patience. Anyway it is impossible to achieve fully working system: e.g. waking up from sleeping mode, etc. It's just more cost effective to have dedicated hardware than to constantly spend time for troubleshooting.
 
Last edited:
There are many pci(e) passthrough threads on this forum. Use the search here or use google like "site:forum.proxmox.com search terms here".

Typical keywords being "pcie passthrough" "qemu" "iommu". Searching iommu results in several quite informative threads here.
 
i3 8100 with uhd 630
proxmox-ve: 8.2.0 (running kernel: 6.8.12-3-pve)

after alot of strugle i managed to run windows 11 with uhd 630 passthrough and the HDMI + DP output both working
so the workaround is legacy boot this method works with no problems been testing with no issues might work for you as well
check this as this guy did managed to run windowns 10 in legacy boot
so what i did was run windows 11 in legacy boot with the same args and settings
for the windows installation media i used rufus created the usb with these settings:
MBR partition option
remove requirement for 4GB+ ram,secure boot and TPM 2.0

cat /etc/default/grub

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on i915.enable_gvt=1 iommu=pt video=efif:bff video=vesaf:bff"
GRUB_CMDLINE_LINUX=""

cat /etc/modprobe.d/vfio.conf
options vfio-pci ids=8086:3e91,8086:a348
softdep i915 pre: vfio-pci
softdep snd_hda_intel pre: vfio-pci

cat /etc/pve/qemu-server/110.conf

agent: 1
args: -set device.hostpci0.x-igd-gms=1
balloon: 0
bios: seabios
boot: order=scsi0;ide0;net0
cores: 4
cpu: host
hookscript: local:snippets/gpu-hookscript.sh
hostpci0: 0000:00:02,romfile=i915ovmf.rom,legacy-igd=1
hostpci1: 0000:00:1f.3
ide0: WD500:iso/virtio-win-0.1.262.iso,media=cdrom,size=708140K
machine: pc-i440fx-9.0
memory: 8192
meta: creation-qemu=9.0.2,ctime=1731028216
name: win11
net0: e1000e=BC:24:11:8D:5C:32,bridge=vmbr0,firewall=1
numa: 0
ostype: win11
scsi0: nvme500:110/vm-110-disk-0.qcow2,discard=on,iothread=1,size=64G
scsihw: virtio-scsi-single
smbios1: uuid=3d3d94b1-b005-4b78-9deb-0218b1be1b94
sockets: 1
usb0: host=04a5:8001,usb3=1
usb1: host=04f3:0103,usb3=1
usb2: host=8087:0a2a,usb3=1
vga: none
vmgenid: 7626ddab-a83b-4dd8-8071-d78623cb19ec



hope this will help you..
 
Confirming that full passthrough (to HDMI + USB-C) works on the N97 using this guide: https://github.com/gangqizai/igd

Only change was using n100_gop.rom from the pull request.
Hey, merry Christmas and Happy New Year :)
I have Nucbox G5 - Alder Lake N97 CPU, 12 GB RAM, so I was excited to see that chinese guy had almost exactly same hardware. I did follow his tutorial but without success. At the very start, I got an error message
Code:
TASK ERROR: legacy IGD assignment requires VGA mode to be 'none'
. If I set display to 'none' then there is no signal on HDMI.
Here's my /etc/pve/qemu-server/100.conf config:
Code:
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;ide0;ide2;net0
cores: 4
cpu: host
efidisk0: local-lvm:vm-100-disk-0,efitype=4m,pre-enrolled-keys=1,size=4M
hostpci0: 0000:00:02.0,legacy-igd=1,romfile=gen12_igd.rom
hostpci1: 0000:00:1f.3,romfile=gen12_gop.rom
ide0: local:iso/virtio-win-0.1.266.iso,media=cdrom,size=707456K
ide2: local:iso/WIN11.PRO.24H2.U10.X64._WPE_.ISO,media=cdrom,size=4372096K
machine: pc-i440fx-9.0
memory: 4096
meta: creation-qemu=9.0.2,ctime=1735753443
name: VirtWin11
net0: virtio=BC:24:11:8B:9E:5B,bridge=vmbr0,firewall=1
numa: 0
ostype: win11
scsi0: local-lvm:vm-100-disk-1,iothread=1,size=50G
scsihw: virtio-scsi-single
smbios1: uuid=4511a129-9bd6-4c4f-974f-c02a6aa001fe
sockets: 1
tpmstate0: local-lvm:vm-100-disk-2,size=4M,version=v2.0
vga: none
vmgenid: aefb691c-8f1c-4e45-bb0f-154bbc296f5e
Can you please post your config files?
 
Last edited:
i3 8100 with uhd 630
proxmox-ve: 8.2.0 (running kernel: 6.8.12-3-pve)

after alot of strugle i managed to run windows 11 with uhd 630 passthrough and the HDMI + DP output both working
so the workaround is legacy boot this method works with no problems been testing with no issues might work for you as well
check this as this guy did managed to run windowns 10 in legacy boot
so what i did was run windows 11 in legacy boot with the same args and settings
for the windows installation media i used rufus created the usb with these settings:
MBR partition option
remove requirement for 4GB+ ram,secure boot and TPM 2.0

cat /etc/default/grub



cat /etc/modprobe.d/vfio.conf


cat /etc/pve/qemu-server/110.conf





hope this will help you..
Hey, Merry Christmas and Happy New Year :)

I have no signal on HDMI output
Can you please provide more details? What is
hookscript: local:snippets/gpu-hookscript.sh

Here is my config:
Code:
agent: 1
args: -set device.hostpci0.x-igd-gms=1
bios: seabios
boot: order=scsi0;ide0;ide2;net0
cores: 4
cpu: host
efidisk0: local-lvm:vm-101-disk-0,efitype=4m,pre-enrolled-keys=1,size=4M
hostpci0: 0000:00:02,romfile=i915ovmf.rom,x-vga=1
hostpci1: 0000:00:1f.3
ide0: local:iso/virtio-win-0.1.266.iso,media=cdrom,size=707456K
ide2: local:iso/WIN11.PRO.24H2.U10.X64._WPE_.ISO,media=cdrom,size=4372096K
machine: pc-i440fx-9.0
memory: 4096
meta: creation-qemu=9.0.2,ctime=1735766110
name: Wintest915
net0: virtio=BC:24:11:50:30:85,bridge=vmbr0,firewall=1
numa: 0
ostype: win11
scsi0: local-lvm:vm-101-disk-1,iothread=1,size=50G
scsihw: virtio-scsi-single
smbios1: uuid=b98cbffc-ac17-4716-add9-a91e349ca8b6
sockets: 1
tpmstate0: local-lvm:vm-101-disk-2,size=4M,version=v2.0
vga: none
vmgenid: 3b65966c-1271-4768-84b3-0cf50062a517
Can you please post your config files?
 
Last edited:
Can you please post your config files?
MC&HNY.
Code:
args: -set device.hostpci0.addr=02.0 -set device.hostpci0.x-igd-gms=0x2 -set device.hostpci0.x-igd-opregion=on
balloon: 0
bios: ovmf
boot: order=scsi0;ide0;ide2;net0
cores: 4
cpu: host
efidisk0: local-lvm:vm-100-disk-0,efitype=4m,pre-enrolled-keys=1,size=4M
hostpci0: 0000:00:02.0,legacy-igd=1,romfile=gen12_igd.rom
hostpci1: 0000:00:1f.3,romfile=n100_gop.rom
ide0: local:iso/virtio-win-0.1.240.iso,media=cdrom,size=612812K
ide2: local:iso/Windows.iso,media=cdrom,size=5374336K
machine: pc-i440fx-9.0
memory: 8192
meta: creation-qemu=9.0.0,ctime=1721508691
name: Win11HDMI
net0: virtio=BC:24:11:92:20:22,bridge=vmbr0,firewall=1
numa: 0
ostype: win11
scsi0: local-lvm:vm-100-disk-1,cache=writethrough,discard=on,iothread=1,size=64G,ssd=1
scsihw: virtio-scsi-single
smbios1: uuid=ada4d24e-99fc-47ad-9154-7b7e5ef9bfe0
sockets: 1
tpmstate0: local-lvm:vm-100-disk-2,size=4M,version=v2.0
usb0: host=046d:c534,usb3=1
usb1: host=1915:1025,usb3=1
vga: none
vmgenid: 13272135-0ad5-4159-afb8-1c2c96f1eb8f