Proxmox проброс видеокарты ошибка 43

To summarize:

1. Trying to passthrough the GPU so that I can have a Linux host to manage the computer while the users only see Windows.

2. Hardware is the following:

— AMD Athlon X4 845 CPU
— ASRock FM2A88M PRO3+ Motherboard
— 8GB of DDR3 Kingston RAM
— 120GB SSD
— Nvidia GT 710 GPU​

3. Config file for the VM on ProxMox is the following:

Code:

        bios: ovmf
        bootdisk: virtio0
        cores: 4
        cpu: host
        efidisk0: local-lvm:vm-100-disk-2,size=128K
        hostpci0: 02:00,pcie=1,x-vga=on,romfile=GK208_BIOS_FILE.bin
        machine: q35
        memory: 7168
        name: Test-Windows
        net0: virtio=96:24:CF:B4:AA:A2,bridge=vmbr0
        numa: 0
        ostype: win10
        scsihw: virtio-scsi-pci
        smbios1: uuid=f675c872-c390-4668-9c48-423f5b4ff239
        sockets: 1
        usb0: host=6-1.2 # Mouse & Keyboard
        usb1: host=2-4 # Other
        usb2: host=3-1.2.3.4 # Physical
        usb3: host=1-1.2.3.4 # USB Ports
        virtio0: local-lvm:vm-100-disk-1,cache=writeback,size=90G

4. The BIOS bin file is parsed correctly and UEFI capable. The rom parsing instructions comes from the ProxMox Wiki.

Code:

        root@pve-001:~/rom-parser# ./rom-parser /usr/share/kvm/GK208_BIOS_FILE.bin
            Valid ROM signature found @600h, PCIR offset 190h
                PCIR: type 0 (x86 PC-AT), vendor: 10de, device: 128b, class: 030000
                PCIR: revision 0, vendor revision: 1
            Valid ROM signature found @fc00h, PCIR offset 1ch
                PCIR: type 3 (EFI), vendor: 10de, device: 128b, class: 030000
                PCIR: revision 3, vendor revision: 0
                    EFI: Signature Valid, Subsystem: Boot, Machine: X64
            Last image

The Motherboard has the issue where it shadows the BIOS of the GPU in the first PCI-e slot. As far as I’m aware, providing a rom file is required in this situation for GPU passthrough.

5. I’ve followed the following guides trying a mix and match of settings:

https://forum.proxmox.com/threads/gpu-passthrough-tutorial-reference.34303/

https://forum.proxmox.com/threads/nvidia-gpu-passthrough-assistance.27237/

https://pve.proxmox.com/wiki/Pci_passthrough

https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF

Any other reasons for Nvidia driver code 43?
by u/daynomate in VFIO

I realize this isn’t Fedora 26 or RyZen, but useful info regardless:

https://level1techs.com/article/ryzen-gpu-passthrough-setup-guide-fedora-26-windows-gaming-linux

I could’ve easily missed a step in one of them given all the information I’m trying to combine here.

6. I have the latest Nvidia Drivers installed (version 388).

7. IOMMU is working:

Code:

root@pve-001:~# dmesg | grep -e IOMMU
[    0.615425] AMD-Vi: IOMMU performance counters supported
[    0.617069] AMD-Vi: Found IOMMU at 0000:00:00.2 cap 0x40
[    0.618547] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).

root@pve-001:~# find /sys/kernel/iommu_groups/ -type l
/sys/kernel/iommu_groups/7/devices/0000:00:13.2
/sys/kernel/iommu_groups/7/devices/0000:00:13.0
/sys/kernel/iommu_groups/5/devices/0000:00:11.0
/sys/kernel/iommu_groups/3/devices/0000:00:09.0
/sys/kernel/iommu_groups/11/devices/0000:00:15.2
/sys/kernel/iommu_groups/11/devices/0000:00:15.0
/sys/kernel/iommu_groups/11/devices/0000:05:00.0
/sys/kernel/iommu_groups/1/devices/0000:00:03.0
/sys/kernel/iommu_groups/1/devices/0000:02:00.1
/sys/kernel/iommu_groups/1/devices/0000:00:03.1
/sys/kernel/iommu_groups/1/devices/0000:02:00.0
/sys/kernel/iommu_groups/8/devices/0000:00:14.2
/sys/kernel/iommu_groups/8/devices/0000:00:14.0
/sys/kernel/iommu_groups/8/devices/0000:00:14.3
/sys/kernel/iommu_groups/6/devices/0000:00:12.2
/sys/kernel/iommu_groups/6/devices/0000:00:12.0
/sys/kernel/iommu_groups/4/devices/0000:00:10.0
/sys/kernel/iommu_groups/12/devices/0000:00:18.4
/sys/kernel/iommu_groups/12/devices/0000:00:18.2
/sys/kernel/iommu_groups/12/devices/0000:00:18.0
/sys/kernel/iommu_groups/12/devices/0000:00:18.5
/sys/kernel/iommu_groups/12/devices/0000:00:18.3
/sys/kernel/iommu_groups/12/devices/0000:00:18.1
/sys/kernel/iommu_groups/2/devices/0000:00:08.0
/sys/kernel/iommu_groups/10/devices/0000:00:14.5
/sys/kernel/iommu_groups/0/devices/0000:00:02.2
/sys/kernel/iommu_groups/0/devices/0000:00:02.0
/sys/kernel/iommu_groups/0/devices/0000:01:00.0
/sys/kernel/iommu_groups/9/devices/0000:00:14.4

8. The vfio-pci driver is being used correctly:

Code:

root@pve-001:~# lspci -k
02:00.0 VGA compatible controller: NVIDIA Corporation GK208B [GeForce GT 710] (rev a1)
Subsystem: eVga.com. Corp. GK208 [GeForce GT 710B]
Kernel driver in use: vfio-pci
Kernel modules: nvidiafb, nouveau

Other relevant information:

Code:

root@pve-001:~# pveversion -v
    proxmox-ve: 5.1-25 (running kernel: 4.13.4-1-pve)
    pve-manager: 5.1-35 (running version: 5.1-35/722cc488)
    pve-kernel-4.13.4-1-pve: 4.13.4-25
    libpve-http-server-perl: 2.0-6
    lvm2: 2.02.168-pve6
    corosync: 2.4.2-pve3
    libqb0: 1.0.1-1
    pve-cluster: 5.0-15
    qemu-server: 5.0-17
    pve-firmware: 2.0-3
    libpve-common-perl: 5.0-20
    libpve-guest-common-perl: 2.0-13
    libpve-access-control: 5.0-7
    libpve-storage-perl: 5.0-16
    pve-libspice-server1: 0.12.8-3
    vncterm: 1.5-2
    pve-docs: 5.1-12
    pve-qemu-kvm: 2.9.1-2
    pve-container: 2.0-17
    pve-firewall: 3.0-3
    pve-ha-manager: 2.0-3
    ksm-control-daemon: 1.2-2
    glusterfs-client: 3.8.8-1
    lxc-pve: 2.1.0-2
    lxcfs: 2.0.7-pve4
    criu: 2.11.1-1~bpo90
    novnc-pve: 0.6-4
    smartmontools: 6.5+svn4324-1
    zfsutils-linux: 0.7.2-pve1~bpo90

But after all that, I still get Error Code 43. Note that the Microsoft Basic Display Adapter is not listed under Display Adapters.

Is it because I’m using VirtIO? All the guides seem to be using SCSI without VirtIO. I’d like as much performance as possible, but if it’s just not happening with VirtIO, I can use SCSI.

I am getting this error when I run the VM:

Code:

kvm: -device vfio-pci,host=02:00.0,id=hostpci0,bus=ich9-pcie-port-1,addr=0x0,romfile=/usr/share/kvm/GK208_BIOS_FILE.bin: Failed to mmap 0000:02:00.0 BAR 3. Performance may be slow

I have disabled the Framebuffer in the kernel settings:

Code:

GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on video=vesafb:off,efifb:off"

But I am still seeing BIOS messages, up to a point, on the display.

Learn how to remove the error proxmox gpu passthrough code 43. Our Proxmox support services at Bobcares can help you remove the error easily.

Error: proxmox gpu passthrough code 43

proxmox gpu passthrough code 43

Proxmox GPU passthrough enables virtual machines (VMs) to directly access GPU hardware, resulting in better performance for graphics-intensive applications. However, while attempting to use GPU passthrough in Proxmox, users may face a “code 43” error.

The “code 43” issue usually shows a problem with the GPU drivers or the virtual machine’s settings. This error can arise due to a variety of factors, such as incompatible drivers, faulty device setup, or conflicts with other devices or drivers inside the virtual system.

Torubleshoot Error: gpu passthrough code 43

We can take many action to fix the “code 43” error:

  1. Firstly, check if Proxmox and the virtual machine suites with the GPU and host operating system.
  2. After that, Examine the virtual machine’s setup to confirm that the GPU is correct.
  3. Check that the virtual machine has the right drivers and software setups.
  4. After that, Ddisable or delete any devices or drivers from the virtual computer that might cause issues.
  5. Finally, check that the GPU is working good on the host machine.

There are guides and fixing instructions for GPU passthrough, including solutions to issues like the “code 43” error. Resolving the problem may need further hardware or software settings or upgrades in some circumstances.

[Need assistance with similar queries? We are here to help]

Conclusion

To sum up, our Proxmox support services team at Bobcares have now demonstrated how to remove the error “code 43” error in Proxmox GPU passthrough.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

GET STARTED


Go to Proxmox


solve the problem of error 43 (gpu passthrough)

Excuse me for my English, I used deepl to help me.

I followed this tutorial to the letter but without success (https://www.reddit.com/r/homelab/comments/b5xpua/the_ultimate_beginners_guide_to_gpu_passthrough/) then I started to follow this tutorial (https://mathiashueber.com/windows-virtual-machine-gpu-passthrough-ubuntu/) which miraculously works (Ubuntu 19.10 for distribution).

I noticed for this last tutorial that I had a lot of crashes at the beginning but that by going in the bios and switching from «auto» mode to «IGPU» mode, you force the server to use only the Intel GPU of the motherboard.

And that was the key to the process, I was able to get the video signal coming out of mmon gpu nvidia after that.

So I thought «if it works with libvirt/virtual manager, there’s no reason it can’t work with Proxmox».

So I went back to the first part of the tutorial and I got the arguments added in the .xml file to add them to the VM configuration file

Here is the content of my configuration file :

args: -machine type=q35,kernel_irqchip=on, -cpu 'host,kvm=off,hv_vendor_id=null
bios: ovmf
bootdisk: scsi0
cores: 4
cpu: host
efidisk0: local-lvm:vm-102-disk-1,size=4M
hostpci0: 04:00,pcie=1,x-vga=1
ide0: local:iso/virtio-win-0.1.173.iso,media=cdrom,size=385322K
ide2: local:iso/en_windows_10_consumer_editions_version_1909_x64_dvd_be09950e.iso,media=cdrom
machine: q35
memory: 8192
name: W10
net0: virtio=6E:96:C1:8E:93:CC,bridge=vmbr0
numa: 0
ostype: win10
parent: test
sata0: /dev/sdc,size=488386584K
scsi0: local-lvm:vm-102-disk-0,cache=writeback,size=40G
scsihw: virtio-scsi-pci
smbios1: uuid=20d73db3-1f06-4ec8-b8ec-af8a2d35c700
sockets: 1
usb0: host=3-4.1
usb1: host=3-4.2
usb2: host=3-4.3
usb3: host=3-3
vga: none
vmgenid: 50e05f5f-5847-4d2c-a60d-5f3a99d0e2a2

By connecting in DVI (no signal in HDMI except after installation of the drivers nvidia), I had immediately the video signal on the screen and miracle, more error 43 during the installation of the drivers.

On the other hand there is this problem of sound when I connect in HDMI but I prefer the headset usb and streaming games via Steam so it’s not a problem for me.

If you need more information, I am at your disposal but I really want to insist on this detail. Without the change of video mode in the bios, I would have been stuck with this damn error 43 for a while. This is really the element that unblocked everything for me.

I upgraded to ProxMox 6.0 and to my dismay my Windows VM suddenly began receiving the dreaded Code 43 error. After much digging I finally found this post on the ProxMox forums which outlines what needs to happen.

In my case, all I needed to do was tweak my machine type. There is no GUI option to do this, so it had to be done in the command line:

qm set <VM_ID> -machine pc-q35-3.1

That was all it took!

The forum also suggested a few other things if that didn’t work. I didn’t end up needing them but I’ll put them here in case it’s helpful:

Add args to your VM config file:

args: -cpu 'host,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=NV43FIX,kvm=off'

Add a few options to the CPU line:

cpu: host,hidden=1,flags=+pcid,hv-vendor-id=proxmox

With the above settings I also discovered there is no need to have x-vga=on anymore. This allows you to have both the regular VM console and your graphics card if you so desire.

Nick’s technical musings

I’ll try and provide as much info as I can here. Host machine is as follows:

Asrock
H97m-ITX/ac Motherboard
i7 4790
16GB non-ECC DDR3
2GB Gigabyte GTX 950

Currently running Proxmox 5.2-10, Qemu/KVM version 2.12.1. Confirmed IOMMU is available and enabled with all the documented steps to get that functional.

Guest OS is a nearly stock Win10 Pro 1803 install. Used Shutup10 to turn off the recommended options for this specific VM. Somewhere along the line of trying to troubleshoot getting the VM to even boot earlier I managed to get it reliably booting to where I can RDP in but now get the code 43 error. Here’s my VM conf file as well as the process command line Proxmox is running with:

#args: -cpu host,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=Nvidia43FIX,kvm=off
hostpci0: 01:00.0,pcie=1,x-vga=1,romfile=Gigabyte.GTX950.2048.150806.rom
hostpci1: 01:00.1,pcie=1
agent: 1
bios: ovmf
boot: c
bootdisk: virtio0
cores: 4
cpu: host,hidden=1
cpuunits: 256
efidisk0: local-lvm:vm-100-disk-1,size=128K
ide0: local:iso/virtio-win-0.1.160.iso,media=cdrom,size=315276K
ide2: local:iso/Win10_Edu_1803_English_x64.iso,media=cdrom
machine: q35
memory: 6144
name: w10
net0: virtio=D6:07:4D:CD:BF:D2,bridge=vmbr0
numa: 1
ostype: win10
scsihw: virtio-scsi-pci
smbios1: uuid=f050c7d6-6ac2-4d7e-badb-2a2da01c7d6f
sockets: 1
virtio0: local-lvm:vm-100-disk-0,cache=writeback,size=128G
vmgenid: 0264bdbf-e2f6-4eae-ba9c-946568b7cfcf
root      2317 47.5 39.1 7988556 6329140 ?     SLl  10:45  36:57 /usr/bin/kvm -id 100 -name w10 -chardev socket,id=qmp,path=/var/run/qemu-server/100.qmp,server,nowait -mon chardev=qmp,mode=control -chardev socket,id=qmp-event,path=/var/run/qemu-server/100-event.qmp,server,nowait -mon chardev=qmp-event,mode=control -pidfile /var/run/qemu-server/100.pid -daemonize -smbios type=1,uuid=f050c7d6-6ac2-4d7e-badb-2a2da01c7d6f -drive if=pflash,unit=0,format=raw,readonly,file=/usr/share/pve-edk2-firmware//OVMF_CODE.fd -drive if=pflash,unit=1,format=raw,id=drive-efidisk0,file=/dev/pve/vm-100-disk-1 -smp 4,sockets=1,cores=4,maxcpus=4 -nodefaults -boot menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg -vga none -nographic -no-hpet -cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=proxmox,hv_spinlocks=0x1fff,hv_vapic,hv_time,hv_reset,hv_vpindex,hv_runtime,hv_relaxed,hv_synic,hv_stimer,enforce,kvm=off -m 6144 -object memory-backend-ram,id=ram-node0,size=6144M -numa node,nodeid=0,cpus=0-3,memdev=ram-node0 -device vmgenid,guid=0264bdbf-e2f6-4eae-ba9c-946568b7cfcf -readconfig /usr/share/qemu-server/pve-q35.cfg -device usb-tablet,id=tablet,bus=ehci.0,port=1 -device vfio-pci,host=01:00.0,id=hostpci0,bus=ich9-pcie-port-1,addr=0x0,romfile=/usr/share/kvm/Gigabyte.GTX950.2048.150806.rom -device vfio-pci,host=01:00.1,id=hostpci1,bus=ich9-pcie-port-2,addr=0x0 -chardev socket,path=/var/run/qemu-server/100.qga,server,nowait,id=qga0 -device virtio-serial,id=qga0,bus=pci.0,addr=0x8 -device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 -iscsi initiator-name=iqn.1993-08.org.debian:01:e87aa99ef667 -drive file=/var/lib/vz/template/iso/virtio-win-0.1.160.iso,if=none,id=drive-ide0,media=cdrom,aio=threads -device ide-cd,bus=ide.0,unit=0,drive=drive-ide0,id=ide0 -drive file=/var/lib/vz/template/iso/Win10_Edu_1803_English_x64.iso,if=none,id=drive-ide2,media=cdrom,aio=threads -device ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2 -drive file=/dev/pve/vm-100-disk-0,if=none,id=drive-virtio0,cache=writeback,format=raw,aio=threads,detect-zeroes=on -device virtio-blk-pci,drive=drive-virtio0,id=virtio0,bus=pci.0,addr=0xa,bootindex=100 -netdev type=tap,id=net0,ifname=tap100i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on -device virtio-net-pci,mac=D6:07:4D:CD:BF:D2,netdev=net0,bus=pci.0,addr=0x12,id=net0 -rtc driftfix=slew,base=localtime -machine type=q35 -global kvm-pit.lost_tick_policy=discard

I originally tried the oldest driver I could find that supported this card which, according to Nvidia’s own old drivers page, is 388.43. Also tried 391.35 per confirmation from other users here that it worked. Both times I’ve done a full DDU run between attempts. Windows’ own auto driver install has been disabled via DDU so I haven’t run into issues with it making attempts to interfere.

With all that said, both driver versions above that I’ve attempted have not been successful with this patch. Not sure if there’s something I’m potentially missing.

Понравилась статья? Поделить с друзьями:
  • Proxmox ошибка 401 permission denied invalid pve ticket
  • Proxmox novnc ошибка подключения к серверу
  • Provisional headers are shown ошибка
  • Provider sql network interfaces error 26 ошибка при обнаружении
  • Protherm lynx 24 коды ошибок