Tutorial for passing through a Nvidia RTX graphics card to a Windows 10 virtual machine using a modified VBIOS
Last update: September 14, 2021
Starting with the GeForce 1000 series, vfio passthrough of a Nvidia GPU has become a little more complicated. If, when starting the VM, you get a black screen, chances are you need to pass along a VBIOS file to the VM so the GPU can properly initialize.
This post is about passing through a Nvidia RTX 2070 Super GPU or any other modern Nvidia GPU to a Windows 10 guest.
I’ve already written a detailed tutorial on Windows 10 kvm VGA passthrough based on QEMU version 2.11. Years have passed and recent distributions like Ubuntu 20.04, Linux Mint 20, or Manjaro come with QEMU 4.0, 4.2 or 5.1.
A lot has happened since version 2.11. QEMU 4.0 includes numerous changes and improvements such as trim support in the virtio-blk driver, pcie-root-port with PCIe 4.0 support (with Q35-4.0 machine type), as well as improved audio.
It wasn’t easy this time. Don’t get me wrong – the VFIO passthrough part, though challenging in some ways, went quite well. All in all I’m pleased now with the results. Here the Passmark 9.0 benchmark as uploaded onto their database (for more details, click the frame below):
Qemu/kvm provides you with a plethora of ways to configure your storage devices. Yet no other type of device shows such a variance in its performance, with disk I/O throughput anywhere from stellar to abysmal using the very same hardware.
I’m running Linux Mint 18.3 which is based on Ubuntu 16.04 Xenial. Until yesterday I used the Personal Packet Archive ppa:jacob/virtualisation to get more up-to-date releases of Qemu, libvirt, and virt-manager.
For some years I have encouraged benchmarking of Windows virtual machines (VM), to help users fine-tune the configuration and to get a general idea of how efficient virtualisation with Xen or KVM actually is. My benchmarks – posted under the username “powerhouse” – and those of other users can be found on the Linux Mint forum under Post your Passmark results of your Windows VM and UserBenchmark – post your results. When reviewing some of my benchmarks on the UserBenchmark website, it occurred to me that the information on that website can be put to practical use.