GPU Passthrough in Proxmox

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

Navy_BOFH

Active Member
Aug 2, 2013
184
75
28
This might be something discussed before - but I have gone through every corner of the internet looking for answers including here.

I have a Dell T1700 SFF with the following specs:
Core i7-4790, 32GB RAM, 256GB SSD, Quad-port gigabit NIC, Quadro P620
Attached to that is a Drobo 5D with 5x 4TB drives which was a DAS I was using for some time now laying dormant. I decided this can be used as a quick and dirty "server" to let Plex and pfSense/OPNsense work on their own and leave the rest of my server equipment to tinkering.

I installed Proxmox and followed a Reddit post for GPU passthrough step by step, including dumping the VBIOS and loading it into Proxmox as well. No matter what I did - Code 43 error for the GPU. I Decided "maybe this is just Proxmox" - and same issue on ESXI.

I found a GitHub page (sk1080/nvidia-kvm-patcher) discussing patching the drivers themselves and then blacklisting Windows Update from hitting the drivers again. My question is: who else has run into this issue? I am trying to get this specific hardware running because I do not want to buy MORE hardware just to try again. This was all equipment laying around hence the concept.
 

Navy_BOFH

Active Member
Aug 2, 2013
184
75
28
Update:

Re-installed Proxmox and did the following:
1: Remove subscription nag (Remove Proxmox 6.0/5.1+ Subscription Notice)
2: Add community repo and update (How to setup a community version of Proxmox VE 5.x-6.x)
3: Install Docker/Portainer to off-load some containers into their own instead of a VM (https://www.servethehome.com/creati...ion-and-container-setup-with-management-guis/)
-- Added the '--restart always' flag to Portainer so it will bring the container back up with every power cycle
4: Created OPNsense Firewall VM and configured Quad-Port NIC into bridges of their own to pass off to the VM
5: Created Windows 10 2019 LTSB x64 VM and passed through GPU and Drobo (The Ultimate Beginner's Guide to GPU Passthrough (Proxmox, Windows 10) : homelab)
-- Drobo is passed through by Device ID - not by port
-- GPU has been passed through per link, including installing ROM into VM config
-- Using Quadro package 419.67 and the keylase transcoding driver patch (keylase/nvidia-patch) with no effect. Tried latest driver package originally.

Only thing I have not done is the step(s) to patch the VBIOS file (Matoking/NVIDIA-vBIOS-VFIO-Patcher) or install DEV drivers and change some Windows driver flags to allow self-signed/unsigned drivers (sk1080/nvidia-kvm-patcher) because I am unsure of if any of these would be applicable in this instance... especially the VBIOS trick.

I *could* switch to Linux and try my hand there - but I was wanting to run Windows since the Drobo Dashboard to monitor the DAS is Windows or Mac. There is an open-source Linux app that gives most of the functionality (Using A Drobo on Linux), however the project seems to be a bit old.

I have seen plenty of tutorials of people passing over GeForce 10xx series cards, and this is a Pascal generation as well akin to a 1050 - so I am really at a loss as to how I am the unlucky one right now.
 

ttabbal

Active Member
Mar 10, 2016
747
207
43
47
I haven't tried in Proxmox, just Ubuntu/KVM. But I chose AMD GPUs to avoid NVidia's stupidity. I also don't need a ton of GPU power, so the latest stuff doesn't matter for me. As I understand it, Code 43 is NVidia's drivers refusing to work in a VM unless you buy a Quadro card. I know there are hacks to make it work, but NVidia can block most anything if they want to.

I would suggest running a Linux VM with it just to validate your configuration. Passthrough is tricky and a lot of little things can foul it up. At least the Linux install would run the card if everything else works. Then you can focus on Windows or Proxmox as needed.

If you're just planning to run an admin app, do you need a GPU? It doesn't seem like something that would benefit from one, though you could have other plans for the VM.
 

Navy_BOFH

Active Member
Aug 2, 2013
184
75
28
If you're just planning to run an admin app, do you need a GPU? It doesn't seem like something that would benefit from one, though you could have other plans for the VM.
There is to be a Plex server in the mix as well - And the Quadro P620 was there for transcodes because it was the smallest half-height single slot GPU I could find with good performance.

I will try spinning up an Ubuntu VM and passing it through and see what it does. Maybe I will be pleasantly surprised and it is only the "vendor lock" causing the Code 43.
 

WhosTheBosch

Member
Dec 20, 2016
41
4
8
I just set this up for myself with Proxmox 6.1 and an Nvidia 1660. The fact you get the error with both Proxmox and VMware means it's likely the driver issue as ttabbal mentioned. The part that you have to be careful of when creating the VM is to use a different hardware ID.

Here's my vm configuration for Proxmox that works with a Windows 10 2019H2 Image. Note the vendor_id which is what you likely need so the drivers don't see you're running a VM. I also recommend installing the latest Windows 10 VirtIO Drivers for best performance.

cat 100.conf
agent: 1
args: -cpu 'host,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=NV43FIX,kvm=off'
bios: ovmf
bootdisk: scsi0
cores: 4
cpu: host,hidden=1,flags=+pcid
efidisk0: local-zfs:vm-100-disk-1,size=1M
hostpci0: 65:00,pcie=1
ide0: none,media=cdrom
ide2: none,media=cdrom
machine: q35
memory: 8192
name: windows
net0: virtio=2A:E9:50:3E:A9:E2,bridge=vmbr0,firewall=1
numa: 0
ostype: win10
parent: Windows_2020_01_19
scsi0: local-zfs:vm-100-disk-0,discard=on,size=32G
scsihw: virtio-scsi-pci
smbios1: uuid=random guid
sockets: 1
usb0: host=1-7
vga: none
vmgenid: random id