Passing Through a Nvidia RTX 2070 Super GPU

Tutorial for passing through a Nvidia RTX graphics card to a Windows 10 virtual machine using a modified VBIOS

Recently I replaced my old NEC MultiSync 2690 HD screen for a HP DreamColor wide gamut screen with a 2560 x 1440 pixel resolution. The Nvidia GTX 970 GPU I used, though still perfectly capable at HD resolution, is likely to get challenged by higher resolutions. Moreover, the new Nvidia Studio driver doesn’t support models before the Geforce 1000 series, and I do want the 30 bpp (bit-per-pixel) support that this driver provides. Time for an upgrade – the Gigabyte RTX 2070 Super GPU.

This post is about passing through a Nvidia RTX 2070 Super GPU or any other modern Nvidia GPU to a Windows 10 guest. Continue reading “Passing Through a Nvidia RTX 2070 Super GPU”

Remote Backup Script for Windows NTFS Partitions on LVM Volumes

Linux bash script to mount and backup / synchronize a Windows 10 partition inside a LVM volume to a remote backup server using rsync and SSH

I run the bash script below to backup my Windows NTFS partitions residing on LVM volumes to a remote backup server. It uses SSH and public key authentication to authenticate at the remote side.

The script mounts an NTFS partition inside a LVM raw volume. It performs a file-based backup using rsync. It is NOT suitable for system backups!

Please carefully read the “Requirements”, “How it Works”, and “Usage” sections before attempting to use it.

Continue reading “Remote Backup Script for Windows NTFS Partitions on LVM Volumes”

Windows 10 VFIO Passthrough Configuration

I’ve been tweaking my configuration for my needs and it performs very well. As a reference, I’m posting my:

    • hardware configuration
    • Linux distro, kernel, etc.
    • Windows VM configuration (XML)

Continue reading “Windows 10 VFIO Passthrough Configuration”

Graphics Cards: AMD vs Nvidia

Updated on November 19, 2020

A question that frequently pops up in VFIO or GPU passthrough forums is which graphics card to buy: AMD or Nvidia? And the answer often depends on whom you ask.

Some people will tell you to stay clear of Nvidia graphics cards since their driver detects the virtual machine and quits.

Others mention the “reset bug” that’s been haunting AMD graphics cards for the last couple of years (see Wendells video interview of Linux kernel maintainer Greg Kroah-Hartman). So what’s the story?

Continue reading “Graphics Cards: AMD vs Nvidia”

Creating a Windows 10 kvm VM on the AMD Ryzen 9 3900X using Qemu 4.0 and VGA Passthrough

Last updated: February 7, 2021

Introduction

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. Continue reading “Creating a Windows 10 kvm VM on the AMD Ryzen 9 3900X using Qemu 4.0 and VGA Passthrough”

Upgrading my PC to an AMD Ryzen 9 3900X System – Benchmarks

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):

PassMark Rating

Continue reading “Upgrading my PC to an AMD Ryzen 9 3900X System – Benchmarks”

Upgrading my PC to an AMD Ryzen 9 3900X System

Introduction

I’ve been contemplating a PC upgrade for more than a year (see my post here). At first I considered staying with Intel and getting an i9-9900K CPU with integrated GPU on a Z390 motherboard.

Along came the AMD Ryzen 9 3900X that topped the benchmarks, including the Adobe Lightroom and Photoshop benchmarks (to be precise, it ranked #4 in the Adobe Lightroom benchmark, and a narrow #1 in the Adobe Photoshop benchmark). These good news about the AMD Ryzen 3900X were soon followed by reports about BIOS issues and VFIO incompatibility. At the very least, it looked like VGA passthrough was more challenging.

Then I read Bryan Steiner’s GPU passthrough tutorial for the AMD Ryzen 9 3900X and an Ubuntu-based Pop!_OS Linux host. Several users on the VFIO Reddit forum reported successful VFIO VGA passthrough with the AMD Ryzen 9. Continue reading “Upgrading my PC to an AMD Ryzen 9 3900X System”

Impact of Spectre and Meltdown Protection on Virtual Machine Performance

A year ago I wrote about the 2D graphics performance impact of the Windows 10 (1803) update inside a virtual machine. As it turned out, the performance impact was related to the Spectre vulnerability patch that Microsoft had introduced. However, the same patch had practically no performance impact on a Windows 10 bare-metal installation.

Time has passed and I wanted to see if there has been any progress. Right now I’m running Windows 10 (1903) with Nvidia driver release 431.36. Windows 10 is up-to-date, Nvidia however already offers a newer version (431.60). Continue reading “Impact of Spectre and Meltdown Protection on Virtual Machine Performance”

Blacklisting Graphics Driver

When running a VM with GPU passthrough, that GPU should be bound to the VFIO driver. To make this happen, we need to prevent the regular graphics driver from binding to the passthrough GPU and instead bind the vfio-pci driver.

The most common way to do this is by blacklisting the graphics driver. This works in most cases, but what if you need the graphics driver for another GPU, e.g. the host GPU? Continue reading “Blacklisting Graphics Driver”

Tuning VM Disk Performance

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.

In this post I like to show some configuration options that have worked well for me. For an in-depth presentation on the latest developments and features, with hands-on examples, see Storage Performance Tuning for FAST! Virtual Machines. Continue reading “Tuning VM Disk Performance”