iGPU Passthrough NUC7i3BNH (Intel(R) HD Graphics 620, Code 43)

Minionguyjpro

New Member
Oct 24, 2023
24
1
3
Hello!

I am trying to passthrough the single iGPU in this Intel NUC, but it always gives error code 43 in my Windows 8 VM.
The config file is as the following:
agent: 1 bios: ovmf boot: order=scsi0;ide2;net0 cores: 2 cpu: host efidisk0: local-lvm:vm-101-disk-0,efitype=4m,pre-enrolled-keys=1,size=4M hostpci0: 0000:00:02,pcie=1,romfile=iGPU.rom ide2: local:iso/virtio-win-0.1.229.iso,media=cdrom,size=522284K machine: pc-q35-6.2 memory: 2048 meta: creation-qemu=8.0.2,ctime=1698173603 name: Windows-8 net0: virtio=C6:10:38:7B:40:25,bridge=vmbr0,firewall=1 numa: 0 ostype: win8 scsi0: local-lvm:vm-101-disk-1,iothread=1,size=50G scsihw: virtio-scsi-single smbios1: uuid=2bf9fed8-d396-44f1-9a64-12a578531728 sockets: 1 tpmstate0: local-lvm:vm-101-disk-2,size=4M,version=v2.0 vga: none vmgenid: b3964b71-4c4d-4baa-80f1-4e66bb10ef73
My kernel parameters:
BOOT_IMAGE=/boot/vmlinuz-6.2.16-15-pve root=/dev/mapper/pve-root ro quiet intel_iommu=on iommu=pt pcie_acs_override=downstream,multifunction initcall_blacklist=sysfb_init video=simplefb:off video=vesafb:off video=efifb:off video=vesa:off disable_vga=1 vfio_iommu_type1.allow_unsafe_interrupts=1 kvm.ignore_msrs=1 modprobe.blacklist=radeon,nouveau,nvidia,nvidiafb,nvidia-gpu,snd_hda_intel,snd_hda_codec_hdmi,i915
I also did all other steps like blacklisting the iGPU from loading in the modprobe.d folder, and let it load all VFIO modules. IOMMU is enabled. My GPU is an Intel(R) HD Graphics 620 as I said.
 
Strange, I just tried it on a Linux virtual machine with Fedora, and it does show output on a monitor!
Did you get it working on windows

On Ubuntu 22 (pop os), working fine also get the monitor output it's just that on windows got code 43 when checking with RDP and on hdmi got black screen
 
Did you get it working on windows

On Ubuntu 22 (pop os), working fine also get the monitor output it's just that on windows got code 43 when checking with RDP and on hdmi got black screen
I didn't unfortunately, although using GVT-g did work by creating multiple shared parts of the GPU, but it wasn't as good as I hoped. I heard it may have worked in Proxmox VE versions before 8.0, e.g. 7.4. Don't know if someone can test it on 7.4 and see if it's true?
 
I didn't unfortunately, although using GVT-g did work by creating multiple shared parts of the GPU, but it wasn't as good as I hoped. I heard it may have worked in Proxmox VE versions before 8.0, e.g. 7.4. Don't know if someone can test it on 7.4 and see if it's true?
Ohh sorry I forgot to update the thread

Now got it working on windows vm too on pve 8.2 with latest kernel

but not on q35

Need rom and some args to run on windows
 
Ohh sorry I forgot to update the thread

Now got it working on windows vm too on pve 8.2 with latest kernel

but not on q35

Need rom and some args to run on windows
Interesting, do you have the same iGPU? If so, can you link me the VBIOS ROM you used and the args?
 
Interesting, do you have the same iGPU? If so, can you link me the VBIOS ROM you used and the args?
source: https://yangwenqing.com/archives/1768/

On proxmox 8 we don’t need any changes on grub or load modules

Romfile path: /usr/share/kvm

Rom file I used:

wget -O igd.rom https://yangwenqing.com/files/pve/rom/intel_6-10th.rom

args: -set device.hostpci0.x-igd-gms=0x2
Model: i440fx
BIOS: OVMF
hostpci0: 0000:00:02.0,legacy-igd=1,romfile=igd.rom


Only these are important one for windows and if you need help then ping me
Also check source for more clarification.
 
source: https://yangwenqing.com/archives/1768/

On proxmox 8 we don’t need any changes on grub or load modules

Romfile path: /usr/share/kvm

Rom file I used:

wget -O igd.rom https://yangwenqing.com/files/pve/rom/intel_6-10th.rom

args: -set device.hostpci0.x-igd-gms=0x2
Model: i440fx
BIOS: OVMF
hostpci0: 0000:00:02.0,legacy-igd=1,romfile=igd.rom


Only these are important one for windows and if you need help then ping me
Also check source for more clarification.
I have done this but it's still not working and giving code 43.

Config of the VM:
Code:
agent: 1
args: -set device.hostpci0.x-igd-gms=0x2
bios: ovmf
boot: order=scsi0;ide0;ide2;net0
cores: 2
cpu: host
efidisk0: local-lvm:vm-102-disk-0,efitype=4m,pre-enrolled-keys=1,size=4M
hostpci0: 0000:00:02.0,legacy-igd=1,romfile=igd.rom
ide0: local:iso/virtio-win-0.1.229.iso,media=cdrom,size=522284K
ide2: none,media=cdrom
machine: pc-i440fx-9.0
memory: 4096
meta: creation-qemu=9.0.2,ctime=1727542482
name: Windows-11-IoT-Enterprise-LTSC
net0: virtio=BC:24:11:32:35:E6,bridge=vmbr0
numa: 0
ostype: win11
scsi0: PVSH128GBStorage:102/vm-102-disk-0.qcow2,aio=threads,cache=writethrough,discard=on,iothread=1,size=48G,ssd=1
scsihw: virtio-scsi-single
smbios1: uuid=97cd0d4e-eef5-41f8-9d6b-5836daefaec2
sockets: 1
tpmstate0: local-lvm:vm-102-disk-1,size=4M,version=v2.0
vga: none
vmgenid: d2ca8754-e21e-4255-a78e-23e1bd9b9c92
This shows:
remmina_Windows-11-IoT-Enterprise-LTSC_192.168.1.123_20241124-120719.png
 
Last edited:
I have done this but it's still not working and giving code 43.

Config of the VM:
Code:
agent: 1
args: -set device.hostpci0.x-igd-gms=0x2
bios: ovmf
boot: order=scsi0;ide0;ide2;net0
cores: 2
cpu: host
efidisk0: local-lvm:vm-102-disk-0,efitype=4m,pre-enrolled-keys=1,size=4M
hostpci0: 0000:00:02.0,legacy-igd=1,romfile=igd.rom
ide0: local:iso/virtio-win-0.1.229.iso,media=cdrom,size=522284K
ide2: none,media=cdrom
machine: pc-i440fx-9.0
memory: 4096
meta: creation-qemu=9.0.2,ctime=1727542482
name: Windows-11-IoT-Enterprise-LTSC
net0: virtio=BC:24:11:32:35:E6,bridge=vmbr0
numa: 0
ostype: win11
scsi0: PVSH128GBStorage:102/vm-102-disk-0.qcow2,aio=threads,cache=writethrough,discard=on,iothread=1,size=48G,ssd=1
scsihw: virtio-scsi-single
smbios1: uuid=97cd0d4e-eef5-41f8-9d6b-5836daefaec2
sockets: 1
tpmstate0: local-lvm:vm-102-disk-1,size=4M,version=v2.0
vga: none
vmgenid: d2ca8754-e21e-4255-a78e-23e1bd9b9c92
This shows:
View attachment 78178
I don’t know about ltsc

Try on fresh windows 11 vm not ltsc

And install driver from exe directly intel 7th to 10th gen driver that will work

Give it a try and let me know

Here is my config


agent: 1
args: -set device.hostpci0.x-igd-gms=0x2 -cpu 'host,kvm=off'
balloon: 0
bios: ovmf
boot: order=scsi0;net0
cores: 3
cpu: x86-64-v2-AES
efidisk0: local-lvm:vm-201-disk-0,efitype=4m,pre-enrolled-keys=1,size=4M
hostpci0: 0000:00:02.0,legacy-igd=1,romfile=gen_6_10_igd.rom
hostpci1: 0000:00:1f.3
machine: pc-i440fx-9.0
memory: 8192
meta: creation-qemu=9.0.2,ctime=1730456239
name: W11
net0: virtio=BC:24:11:F5:1E:AB,bridge=vmbr0,firewall=1
numa: 0
ostype: win11
scsi0: local-lvm:vm-201-disk-1,discard=on,iothread=1,size=100G,ssd=1
scsihw: virtio-scsi-single
smbios1: uuid=e0d13d2e-797d-4e18-b797-3b45d2b7d591
sockets: 1
tpmstate0: local-lvm:vm-201-disk-2,size=4M,version=v2.0
usb0: host=1-6,usb3=1
usb1: host=1-7,usb3=1
vga: none
vmgenid: 976adefa-7e88-44ca-9bdd-d719340d21f2
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!