Kernel 6.0 and VFIO

Kernel 6 not booting with VFIO – workaround

Recently I upgraded to kernel 6.0 on my Manjaro rig, but that didn’t go well. The PC booted but there was no screen output. I was able to ssh into the Manjaro host, though.

Searching for an answer led me to the “Linux Kernel 6 seems to be incompatible with the vfio_pci module needed for PCI passthrough” on Level1Techs. If you go further down the thread, you’ll see how someone posted a working solution “Using the driver_override feature“.

Continue reading “Kernel 6.0 and VFIO”

Why Long Tutorials?

Anyone who follows this website will notice that the tutorials are rather long. In these long tutorials I usually give reference specs, explain basic terms or processes, and expand on the how and why.

I wish I could write short, easy, step by step tutorials titled “GPU passthrough made easy” or the “Quick guide to VFIO bliss”. In fact, there are plenty of those out there in the great Internet. Some of the most popular ones are on Youtube, showing you how to get your Windows gaming VM up and running in no time.

Continue reading “Why Long Tutorials?”

Nvidia And The “hidden state”

No more need to hide the hypervisor

Ever since I started to run a Microsoft Windows VM with GPU passthrough, Nvidia graphics drivers would only support their professional Quadro line of graphics cards in a virtual machine. Ten years ago I bit the bullet and bought an outrageously expensive Nvidia Quadro 2000 GPU. Truth be told – it’s been and still is a great GPU and I currently use it for my Linux host. Back then the Quadro was passed through to a Windows 7 VM running on Xen. It worked great.

Continue reading “Nvidia And The “hidden state””

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

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.

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 December 7, 2021

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 VGA Passthrough

Last updated: January 6, 2022

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 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”