Saturday, 9 May 2020

Solving the -43 issue for GPU passthrough

I've usually built my VMs with AMD GPUs when passthrough was needed. I happened to have an old GeForce GTX770 lying around, but found it frustratingly difficult to get it working in a Windows 10 VM. nVidia drivers apparently really, really don't like running in a VM and cause the display device to show a -43 error.

For me, after a significant amount of tweaking and trying, I finally found a combination that worked;

Machine Type: Q35 4.2
Bios: OVMF

Graphic ROM Bios (techpowerup download, hexedited to remove header)

And the following edits to the </features> section of the XML. ˜The highlighted lines are added in addition to the standard unRAID config;

  <features>
    <acpi/>
    <apic/>
    <hyperv>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
      <vendor_id state='on' value='1234567890ab'/>
    </hyperv>
    <kvm>
      <hidden state='on'/>
    </kvm>
    <ioapic driver='kvm'/>
  </features>