Skip to content

Windows 10 Setup and Install

Ryan Bishop Mayobre edited this page Jun 19, 2020 · 2 revisions

Coming soon!

I apologize for those who have been waiting for me to set up a proper Wiki page instructions on setting up Windows 10 for VFIO passthrough. Hopefully I can get my setup ready soon for screen shots and provide you with a step-by-step process.

Nvidia Graphics Issues

If you are providing a non-quadro Nvidia GPU for your Windows VM, you will get the Error 43 error. This is because Nvidia doesn't want their Non-enterprise GPUs used for virtualization, so they force the drivers to stop working if it detects virtualization. To solve this, you will have to edit your Windows VM after you have created it. Run the following command:

sudo virsh edit [WINDOWS-VM-NAME]

Replace [WINDOWS-VM-NAME] with your VM's name. You will have to add the following fields to the current file presented in the terminal:

<kvm>
    <hidden state='on'/>
</kvm>

The field above will hide the VM state from the GPU (making Nvidia think this is the host computer).

<vendor_id state='on' value='whatever'/>

The field above will make the VM create a vendor id for your "hardware".

Place all these fields in the proper locations. Use the snippet below to give you an idea where to place these fields.

<domain>
    ...
        <features>
            ...
            <kvm>
                <hidden state='on'/>
            </kvm>
            ...
            <hyperv>
                ...
                <vendor_id state='on' value='whatever'/>
            </hyperv>
            ...
        </features>
    ...
</domain>

Video instructions

In the mean-time here are some video I think will help you will the process...

Chris Titus Tech - link

Chris Titus Tech channel goes in dept from start to finish with the whole VFIO process on Linux, however, he is using Debian 10 (yes Pop!_OS is based from Ubuntu, which is based from Debian; using this tutorial I chose to use the custom and native tools of Pop!_OS that Debian or Ubuntu do not come with). Do NOTE that the link I provided is his part 2 video, setting up the KVM and not the VFIO configurations in the linux kernel.

Pavol Elsig - link

This was someone I found skimming through YouTube that does a tutorial on VFIO for Manjaro (do NOT follow the VFIO kernel section of the video if you are using Pop!_OS). In his video, he mentions the issue Nvidia Graphic Cards have for virtualization and how to solve this. If you are providing your Windows KVM an Nvidia GPU, do make note of how he hides the virtualization from the GPU.