GTX 1030 Passthrough on Windows 11 Virtual Machine (Error 43)

issa2020

Active Member
Sep 9, 2020
83
4
28
Hello,

I am trying to pass through my GTX 1030 to a Windows 11 virtual machine on Proxmox, but I am running into an issue. When I start the VM, the GPU is not recognized and I get an error 43 in the Device Manager.

I have followed the Proxmox documentation on GPU passthrough --> https://pve.proxmox.com/wiki/Pci_passthrough

some information about my configuration proxmox :

Code:
Proxmox Virtual Environment 7.3-4

Code:
root@proxmox2:~# cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-5.15.83-1-pve root=/dev/mapper/pve-root ro quiet intel_iommu=on iommu=pt kvm.ignore_msrs=1 video=vesafb:off video=efifb:off intremap=no_x2apic_optout

Code:
root@proxmox2:~# lsmod | grep vfio
vfio_pci               16384  1
vfio_pci_core          73728  1 vfio_pci
vfio_virqfd            16384  1 vfio_pci_core
irqbypass              16384  37 vfio_pci_core,kvm
vfio_iommu_type1       40960  1
vfio                   45056  5 vfio_pci_core,vfio_iommu_ty


Code:
root@proxmox2:~# for d in /sys/kernel/iommu_groups/*/devices/*; do n=${d#*/iommu_groups/*}; n=${n%%/*}; printf 'IOMMU group %s ' "$n"; lspci -nns "${d##*/}"; done
IOMMU group 0 00:00.0 Host bridge [0600]: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers [8086:191f] (rev 07)
IOMMU group 10 03:00.0 Ethernet controller [0200]: Intel Corporation 82575EB Gigabit Network Connection [8086:10a7] (rev 02)
IOMMU group 11 03:00.1 Ethernet controller [0200]: Intel Corporation 82575EB Gigabit Network Connection [8086:10a7] (rev 02)
IOMMU group 1 00:01.0 PCI bridge [0604]: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) [8086:1901] (rev 07)
IOMMU group 1 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP108 [GeForce GT 1030] [10de:1d01] (rev a1)
IOMMU group 1 01:00.1 Audio device [0403]: NVIDIA Corporation GP108 High Definition Audio Controller [10de:0fb8] (rev a1)
IOMMU group 2 00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 530 [8086:1912] (rev 06)
IOMMU group 3 00:14.0 USB controller [0c03]: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller [8086:a12f] (rev 31)
IOMMU group 3 00:14.2 Signal processing controller [1180]: Intel Corporation 100 Series/C230 Series Chipset Family Thermal Subsystem [8086:a131] (rev 31)
IOMMU group 4 00:16.0 Communication controller [0780]: Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1 [8086:a13a] (rev 31)
IOMMU group 5 00:17.0 SATA controller [0106]: Intel Corporation Q170/Q150/B150/H170/H110/Z170/CM236 Chipset SATA Controller [AHCI Mode] [8086:a102] (rev 31)
IOMMU group 6 00:1c.0 PCI bridge [0604]: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #5 [8086:a114] (rev f1)
IOMMU group 7 00:1c.6 PCI bridge [0604]: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #7 [8086:a116] (rev f1)
IOMMU group 8 00:1f.0 ISA bridge [0601]: Intel Corporation H110 Chipset LPC/eSPI Controller [8086:a143] (rev 31)
IOMMU group 8 00:1f.2 Memory controller [0580]: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller [8086:a121] (rev 31)
IOMMU group 8 00:1f.3 Audio device [0403]: Intel Corporation 100 Series/C230 Series Chipset Family HD Audio Controller [8086:a170] (rev 31)
IOMMU group 8 00:1f.4 SMBus [0c05]: Intel Corporation 100 Series/C230 Series Chipset Family SMBus [8086:a123] (rev 31)
IOMMU group 9 02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)

Code:
root@proxmox2:~# cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

Code:
root@proxmox2:~# pveversion -v
proxmox-ve: 7.3-1 (running kernel: 5.15.83-1-pve)
pve-manager: 7.3-4 (running version: 7.3-4/d69b70d4)
pve-kernel-5.15: 7.3-1
pve-kernel-helper: 7.3-1
pve-kernel-5.13: 7.1-9
pve-kernel-5.4: 6.4-7
pve-kernel-5.15.83-1-pve: 5.15.83-1
pve-kernel-5.15.64-1-pve: 5.15.64-1
pve-kernel-5.15.53-1-pve: 5.15.53-1
pve-kernel-5.15.39-4-pve: 5.15.39-4
pve-kernel-5.15.39-1-pve: 5.15.39-1
pve-kernel-5.15.35-1-pve: 5.15.35-3
pve-kernel-5.13.19-6-pve: 5.13.19-15
pve-kernel-5.13.19-2-pve: 5.13.19-4
pve-kernel-5.13.19-1-pve: 5.13.19-3
pve-kernel-5.4.143-1-pve: 5.4.143-1
pve-kernel-5.4.73-1-pve: 5.4.73-1
ceph-fuse: 15.2.17-pve1
corosync: 3.1.7-pve1
criu: 3.15-1+pve-1
glusterfs-client: 9.2-1
ifupdown: residual config
ifupdown2: 3.1.0-1+pmx3
ksm-control-daemon: 1.4-1
libjs-extjs: 7.0.0-1
libknet1: 1.24-pve2
libproxmox-acme-perl: 1.4.3
libproxmox-backup-qemu0: 1.3.1-1
libpve-access-control: 7.3-1
libpve-apiclient-perl: 3.2-1
libpve-common-perl: 7.3-1
libpve-guest-common-perl: 4.2-3
libpve-http-server-perl: 4.1-5
libpve-storage-perl: 7.3-1
libqb0: 1.0.5-1
libspice-server1: 0.14.3-2.1
lvm2: 2.03.11-2.1
lxc-pve: 5.0.0-3
lxcfs: 4.0.12-pve1
novnc-pve: 1.3.0-3
proxmox-backup-client: 2.3.2-1
proxmox-backup-file-restore: 2.3.2-1
proxmox-mini-journalreader: 1.3-1
proxmox-offline-mirror-helper: 0.5.0-1
proxmox-widget-toolkit: 3.5.3
pve-cluster: 7.3-1
pve-container: 4.4-2
pve-docs: 7.3-1
pve-edk2-firmware: 3.20220526-1
pve-firewall: 4.2-7
pve-firmware: 3.6-2
pve-ha-manager: 3.5.1
pve-i18n: 2.8-1
pve-qemu-kvm: 7.1.0-4
pve-xtermjs: 4.16.0-1
qemu-server: 7.3-2
smartmontools: 7.2-pve3
spiceterm: 3.2-2
swtpm: 0.8.0~bpo11+2
vncterm: 1.7-1
zfsutils-linux: 2.1.7-pve2

Code:
root@proxmox2:~# cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-5.15.83-1-pve root=/dev/mapper/pve-root ro quiet intel_iommu=on iommu=pt kvm.ignore_msrs=1 video=vesafb:off video=efifb:off intremap=no_x2apic_optout

There is no output from the lsmod | grep nvidia

this my configuration of my VM in proxmox :

1673375389241.png

and this is the error i got on windows 11 :

1673375420577.png


what do u think is wrong on my configuration please
Thank you!
 
Last edited:
Hello i found this :
Code:
root@proxmox2:~# dmesg | grep 'remapping'
[    0.146194] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[    0.147721] DMAR-IR: Enabled IRQ remapping in x2apic mode

maybe somethings going wrong on this line ?

[ 0.146194] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.


what do u think please ?
 
Hey, have you tried to add a patched ROM or at least the original one?

Here is a how-to that helped me a lot and there is a section about the rom file at the end: https://www.reddit.com/r/homelab/comments/b5xpua/the_ultimate_beginners_guide_to_gpu_passthrough/

In addition, maybe watch into this git repository, it‘s a patcher for gtx 10xx card‘s roms and there is a troubleshooting section about error 43. But first try to patch and add a rom file:
https://github.com/sk1080/nvidia-kvm-patcher#troubleshooting
 
Last edited:
Can you post the config of your vm?
Code:
args: -cpu 'host,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=NV43FIX,kvm=off'
bios: ovmf
boot: order=ide2;scsi0;net0
cores: 4
cpu: host,hidden=1,flags=+pcid
efidisk0: LUN012:vm-111-disk-0,efitype=4m,pre-enrolled-keys=1,size=4M
hostpci0: 01:00,pcie=1,romfile=1030.rom
ide2: local:iso/virtio-win.iso,media=cdrom,size=519172K
machine: pc-q35-7.1
memory: 4096
meta: creation-qemu=7.1.0,ctime=1673513543
name: Win11
net0: virtio=CE:12:E2:6B:A9:D2,bridge=vmbr1
numa: 0
ostype: win11
scsi0: LUN012:vm-111-disk-1,iothread=1,size=120G
scsihw: virtio-scsi-single
smbios1: uuid=9fc787fb-e510-4206-a844-edf3d64a8caa
sockets: 1
tpmstate0: LUN012:vm-111-disk-2,size=4M,version=v2.0
vga: none
vmgenid: 85594736-2eb9-499d-a803-c24b415e129b
 
(How) did you patch the rom?
whi don"'t do it

i don"t understand how to do that

i try to make it on my Virtual W11
i try this in my vm :

5. Open powershell and run patcher.ps1 C:/NVIDIA/DisplayDriver/Version/Win10_64/International/Display.Driver
6. Install Driver Through Extracted Installer (In C:/NVIDIA/DisplayDriver/Version)

and restart and nothing works :/
 
Nope that's not what I mean. You can either use this tool or send me your rom and I patch it for you. Nvidia breaks passthrough on purpose because, well, it's nvidia :/.
EDIT: what do you mean with "nothing works"? Still "just" error 43 or isn't it working at all anymore?
 
Last edited:
Hello, ok this my rom

and what do you mean with "nothing works"? Still "just" error 43 or isn't it working at all anymore?

My proxmox and all VM works, the only things is not working is the GPU ON virtual i got the code erreur 43


i push the rom in the post
 

Attachments

  • 1030.zip
    37.7 KB · Views: 8
Last edited:
Okay, you already patched it, right? Have you tried booting with GFX set to default (so you can use noVNC) and the GPU passed through but not as primary GPU? Then you can install the drivers and shut down the vm. Now set GFX to none and the GPU as primary. Maybe that helps. What is the manufactorer of the GPU? Have you tried updating the vBIOS of the card?
 
First, set graphic card to default and uncheck primary gpu for your gtx 1030 in the hardware tab. Then boot windows and install the official nvidia drivers. Now, shut down the vm and set graphic card to none and check primary gpu in the hardware tab for your GPU.
If that doesn't work, try to dump your gpu vbios yourself. Do you have a working windows installation outside of proxmox that you can boot native?
 
First, set graphic card to default and uncheck primary gpu for your gtx 1030 in the hardware tab. Then boot windows and install the official nvidia drivers. Now, shut down the vm and set graphic card to none and check primary gpu in the hardware tab for your GPU.
If that doesn't work, try to dump your gpu vbios yourself. Do you have a working windows installation outside of proxmox that you can boot native?
Another tip:
Set graphic card to default and uncheck primary gpu for your gtx 1030 in the hardware tab. Boot Windows and access with noVNC.
Disable and enable graphic card in device manager.
 

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!