[SOLVED] GPU PASSTHROUGH ( Error 43 while there is output from the gpu's hdmi )

teokoul

New Member
Mar 23, 2021
21
3
3
30
Hello,

I am new on the proxmox.
I am trying to make gpu passthrough on a windows 10 vm.

I followed many guides like :
--> https://www.reddit.com/r/homelab/comments/b5xpua/the_ultimate_beginners_guide_to_gpu_passthrough/
--> https://pve.proxmox.com/wiki/Pci_passthrough

I am thinking that I am in a good way because in device manager of windows10 vm I can see the graphic card.
Also, I can see the windows home screen in my monitor.

The problem is that i got error43 in device manager.

I install the nvidia drivers with geforce experience.
**If i disable the device and enable it again the error 43 gone. After 1 minute the error43 come back again.**

What should I do to fix this?
Code:
args: -cpu 'host,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=proxmox,hv_spinlocks=0x1fff,hv_vapic,hv_time,hv_reset,hv_vpindex,hv_runt$
bios: ovmf
bootdisk: scsi0
cores: 2
cpu: host,hidden=1,flags=+pcid
efidisk0: local-lvm:vm-100-disk-1,size=4M
hostpci0: 09:00,pcie=1,romfile=gtx.rom,x-vga=1
ide2: none,media=cdrom
machine: q35
memory: 4096
net0: virtio=FE:FD:B1:C0:CC:6E,bridge=vmbr0,firewall=1
numa: 0
ostype: win10
scsi0: local-lvm:vm-100-disk-0,cache=writeback,size=60G
scsihw: virtio-scsi-pci
smbios1: uuid=b0ae49ae-37be-46c1-88bd-b6d51c867051
sockets: 1
vga: none
vmgenid: 7e41a4cf-0112-4072-8591-ed7246ac3b82
 
Remove the -args line from your config, it is not necessary. Also, do you actually need the romfile= parameter? Usually it is not necessary, and might even break things.

Can you please also post the output of the following commands:

Bash:
pveversion -v
cat /proc/cmdline
lsmod | grep nvidia
 
Remove the -args line from your config, it is not necessary. Also, do you actually need the romfile= parameter? Usually it is not necessary, and might even break things.

Can you please also post the output of the following commands:

Bash:
pveversion -v
cat /proc/cmdline
lsmod | grep nvidia
Hello Stefan,

Thank you for the reply. I do not saw your answer before. I made a fresh install and now I am not able to run the VM when I try the GPU passthrough.

-----------------------------------------------------------------------
For the new install,

The output of preversion -v is :

Code:
proxmox-ve: 6.3-1 (running kernel: 5.4.73-1-pve)
pve-manager: 6.3-2 (running version: 6.3-2/22f57405)
pve-kernel-5.4: 6.3-1
pve-kernel-helper: 6.3-1
pve-kernel-5.4.73-1-pve: 5.4.73-1
ceph-fuse: 12.2.11+dfsg1-2.1+b1
corosync: 3.0.4-pve1
criu: 3.11-3
glusterfs-client: 5.5-3
ifupdown: 0.8.35+pve1
ksm-control-daemon: 1.3-1
libjs-extjs: 6.0.1-10
libknet1: 1.16-pve1
libproxmox-acme-perl: 1.0.5
libproxmox-backup-qemu0: 1.0.2-1
libpve-access-control: 6.1-3
libpve-apiclient-perl: 3.0-3
libpve-common-perl: 6.2-6
libpve-guest-common-perl: 3.1-3
libpve-http-server-perl: 3.0-6
libpve-storage-perl: 6.3-1
libqb0: 1.0.5-1
libspice-server1: 0.14.2-4~pve6+1
lvm2: 2.03.02-pve4
lxc-pve: 4.0.3-1
lxcfs: 4.0.3-pve3
novnc-pve: 1.1.0-1
proxmox-backup-client: 1.0.5-1
proxmox-mini-journalreader: 1.1-1
proxmox-widget-toolkit: 2.4-3
pve-cluster: 6.2-1
pve-container: 3.3-1
pve-docs: 6.3-1
pve-edk2-firmware: 2.20200531-1
pve-firewall: 4.1-3
pve-firmware: 3.1-3
pve-ha-manager: 3.1-1
pve-i18n: 2.2-2
pve-qemu-kvm: 5.1.0-7
pve-xtermjs: 4.7.0-3
qemu-server: 6.3-1
smartmontools: 7.1-pve2
spiceterm: 3.1-1
vncterm: 1.6-2
zfsutils-linux: 0.8.5-pve1

-----------------------------------------------------------------------

The output of cat /proc/cmdline is:

Code:
BOOT_IMAGE=/boot/vmlinuz-5.4.73-1-pve root=/dev/mapper/pve-root ro quiet intel_iommu=on iommu=pt pcie_acs_override=downstream,multifunction nofb nomodeset video=vesafb:off,efifb:off

-----------------------------------------------------------------------

There is no output from the lsmod | grep nvidia

-----------------------------------------------------------------------

What do you think?

I will give a try again with the rom file.

Thank you for your time!
 
Last edited:
There is no output from the lsmod | grep nvidia

was going through thread, to understand GPU pass through .
It looks strange for me, why you lsmod not giving nvdia results back, when you did the re-install was the card fixed properly
I have been trying out proxmox in 4 machines, all of them has nvdia and lsmod shows the results correctly
root@server-4:~# lsmod | grep nvidia
i2c_nvidia_gpu 16384 0
root@server-4:~#
Mine is default installation, me have not done any command line to enable NVIDIA drives
As said in all the 4 machines it shows NVIDIA entry for lsmod
thanks
Joseph John
 
was going through thread, to understand GPU pass through .
It looks strange for me, why you lsmod not giving nvdia results back, when you did the re-install was the card fixed properly
I have been trying out proxmox in 4 machines, all of them has nvdia and lsmod shows the results correctly

Mine is default installation, me have not done any command line to enable NVIDIA drives
As said in all the 4 machines it shows NVIDIA entry for lsmod
thanks
Joseph John

Hello John,

Thank you for the reply.

I am not sure what is going on. The lsmod | grep nvidia has no output.

I don't know if that helps but the lspci | grep NVIDIA has output:

Code:
09:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] (rev a1)
09:00.1 Audio device: NVIDIA Corporation GP107GL High Definition Audio Controller (rev a1)

I am searching online for solutions.

Thank you for your time!
 
Last edited:
Try the latest drivers. Nvidia has added "Beta" support for PCIE Passthrough on Geforce cards now.
 
Try the latest drivers. Nvidia has added "Beta" support for PCIE Passthrough on Geforce cards now.
The NVIDIA driver change has nothing to do with PVE. We always applied the necessary workaround before, so from a user perspective everything works exactly the same. The infamous "error 43" never occured on PVE anyway - or rather, it can occur, but always indicates some other problem, not the "NVIDIA lockout" stuff.

I have been trying out proxmox in 4 machines, all of them has nvdia and lsmod shows the results correctly
First off, that output only shows the i2c driver loaded, not the graphics driver, which is entirely unrelated and can safely be ignored for PCIe passthrough. Second, if you want to pass through your card, you *want* the output to be empty (except for the i2c driver if your card comes with a USB-C port, as mentioned), anything else means that the host is potentially using the card thus breaking any passthrough scenarios.

I am not able to run the VM when I try the GPU passthrough.
Please, post exact error messages, or descriptions of the problem you observer (black screen, host output, is the VM reachable via network, does the VNC show something, etc...), as well as any log files (task log from the GUI, 'journalctl -e' output, etc...).
 
Please, post exact error messages, or descriptions of the problem you observer (black screen, host output, is the VM reachable via network, does the VNC show something, etc...), as well as any log files (task log from the GUI, 'journalctl -e' output, etc...).
Hello Stephan,

Thank you for the reply. I make a fresh install again and I follow the introductions from here --> https://www.reddit.com/r/homelab/comments/b5xpua/the_ultimate_beginners_guide_to_gpu_passthrough/ <--

(WITHOUT VBIOS ROM)

With the only difference I put the driver as IDE.

I MADE IT!

I show the gpu in the device manager. I had install the nvdia driver. I had output from the GPU to my monitor. I ran nvidia tests. I install SOLIDWORKS and test it.

I decide to make the same installation on a second 4TB HDD that I have. I pass to my proxmox storage the second drive. I delete the VM that the passthrough run correctly ( i dont know why i done this). And now I am getting error 43 with every setup.

I believe that the proxmox setup is correct (after the passthrough work correctly before) I believe that the problem is on the VM setup.

Maybe you have an idea?

Thank you.image_2021-04-13_173202.png
 
Last edited:
[SOLVED]

I fix the problem. Now I am ready to use SOLIDWORKS in my VM.

The fix came from stemann's answer :

https://forum.proxmox.com/threads/problem-with-gpu-passthrough.55918/post-361178

-----------------------------------------

I make a fresh proxmox install on my machine and then follow the introductions of this reddit post :

https://www.reddit.com/r/homelab/comments/b5xpua/the_ultimate_beginners_guide_to_gpu_passthrough/

-----------------------------------------

Then add this line in grub file :

GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on textonly video=astdrmfb video=efifb:off"

Thank you all!
 
I have tried this repeatedly, seriously like for 2 days now, and can not get passed error 43 on the gpu. It shows in device mgr of win10 vm, all virtio drivers installed after disabled driver signing in windows, installed nvidia drivers, no monitor output from card, and says error 43. any help?
 

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!