Why do your drivers fail to install? What is error 43, and why do you experience it? Do you need a new gpu? — All common questions among Nvidia-based newcomers to passthrough gaming. Hopefully, we can provide an adequate explanation of these issues.
Applying the Workaround Manually
sudo EDITOR=vim virsh edit win10
First, set a vendor ID as shown below, the string under
value= can be anything you want. Insert the following line in the hyperv section:
<vendor_id state='on' value='123456789ab'/>
Second, instruct kvm to hide it’s state by adding the following code under the hyperv section:
<kvm> <hidden state='on'/> </kvm>
UPDATE: On qemu 4.0 using the q35 chipset, you also need to add
<ioapic driver='kvm'/> to the
<features> section of your xml
save the xml file and exit out of your text editor.
you can restart libvirt, in case the change doesn’t take effect, using:
sudo systemctl restart libvirtd
Applying the Workaround: Virsh-Patcher
Easy as the manual method may seem once you’ve gotten it to work, there is an easier to way to achieve the same result as above. Our virsh-patcher package, available on our github, facilitates the application of this workaround. The use of a more friendly user interface is more appealing to those not familiar with a command line.
you can launch it and apply the fix using:
sudo virshpatcher --error43 --vendor-id 123456789ab win10
Of course, swap out win10 with the name of your virtual machine.
The owners of consumer nvidia cards can enjoy a virtualized gaming experience with a few simple tweaks, and while the error 43 workaround resembles a hack, without official support it’s all we’ve got. So, go ahead and apply the fix without fear and keep on gaming.
Featured image courtesy of PixaBay