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.
I have a GTX 1660 works with this fix?
now the VM Windows Server 2019 does not start and from this error:
TASK ERROR: timeout waiting on systemd
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.
Please check this gist. I just tested it this morning.
https://gist.github.com/MakiseKurisu/21b08e5f6537a5b0a08a34c2382dd244
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