proxmox 6 NVIDIA GPU passthrough fix

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.

4 thoughts on “proxmox 6 NVIDIA GPU passthrough fix”

  1. Hi! Could you post your cfg for this machine? I have been trying for *days* to get an nvidia card to pass through correctly and no avail. I would love to see your secret.

    1. MakiseKurisu’s gist probably handles it all for you better than I could. But as you asked here is my current working config:

      agent: 1
      audio0: device=ich9-intel-hda,driver=spice
      bios: ovmf
      boot: dcn
      bootdisk: scsi0
      cores: 8
      cpu: host,hidden=1
      efidisk0: optimus-nvme:vm-104-disk-1,size=4M
      hostpci0: 43:00,pcie=1,x-vga=1
      hostpci1: 0a:00.3
      ide2: none,media=cdrom
      machine: pc-q35-3.1
      memory: 16384
      name: optimus-win10
      net0: virtio=52:54:00:82:f0:82,bridge=vmbr0
      numa: 1
      ostype: win10
      scsi0: optimus-nvme:vm-104-disk-0,discard=on,size=80G,ssd=1
      scsihw: virtio-scsi-pci
      smbios1: uuid=7fb35cef-…-896e2bf75b2e
      sockets: 1
      vga: qxl

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.