12 Years GPU Passthrough

Time flies. 12 years have passed since I built my first PC with GPU passthrough. Back in the old days there was little documentation on how to do it. I found a tutorial written for Fedora, plus some messages here and there. VGA passthru, as it was often called, was very restrictive. You had to have the right hardware to make it work, including a graphics card that was supported (like the Nvidia Quadro series).

Continue reading “12 Years GPU Passthrough”

Sharing Files between the Linux Host and a Windows VM using virtiofs

I often transfer files between my Windows virtual machine (VM) and my Linux host. Up until now I used a Samba server on the Linux host, with the Windows guest connected via a network bridge. That worked great and never gave me any problems.

Recently I tried out the new virtio-fs shared file system that allows you to share a folder on the Linux host with a Windows or Linux guest. Before you rush and follow my tutorial below, check out the “Performance” and “Conclusion” sections at the end. Here is my tutorial:

Continue reading “Sharing Files between the Linux Host and a Windows VM using virtiofs”

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”

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”

Windows 10 Virtual Machine Benchmarks

Benchmarking Performance of a Virtual Machine

I have run  a number of benchmarks to document the performance of Windows 10 running as a virtual machine on Linux, in the hope other PC users will dive into the fascinating world of virtualization (VFIO).

Benchmarks are helpful in comparing one system with another, and one configuration with another. I use them to optimize my Windows 10 performance and to make sure that updates/upgrades haven’t produced unwanted side effects.

Continue reading “Windows 10 Virtual Machine Benchmarks”

Low 2D Graphics Benchmark with Windows 10 (1803) KVM VM

Problem: bad 2D performance in Windows VM versus Windows on bare metal

For the past few months I noticed sluggish 2D graphics in my Windows 10 VM, something that hadn’t happened before. Below are the Passmark 8 results and comparisons between different configurations/releases:

Continue reading “Low 2D Graphics Benchmark with Windows 10 (1803) KVM VM”

Upgrade to Linux Mint 19 – Windows 10 VM Benchmark

I just upgraded my Linux Mint Mate 18.3 installation to Linux Mint Mate 19, using the mintupgrade utility. It required some manual fixes, but all in all it went smooth.

Below the first UserBenchmark using Linux Mint 19 with updated qemu/kvm packages:

UserBenchmarks: Game 60%, Desk 76%, Work 67%
CPU: Intel Core i7-3930K – 86.8%
GPU: Nvidia GTX 970 – 58.5%
SSD: Red Hat VirtIO 140GB – 72.1%
HDD: Red Hat VirtIO 2.5TB – 87.1%
HDD: Red Hat VirtIO 2TB – 51.7%
RAM: QEMU 1x16GB – 77.3%
MBD: QEMU Standard PC (Q35 + ICH9, 2009)

Prime95 Benchmark: Linux Host versus Windows VM

This is yet another benchmark of my Windows 10 VM. This time I used the free Mersenne Prime Search software Prime95 (mprime under Linux) available at www.mersenne.org. I wanted to see if there is a significant difference between running the benchmark on the Linux host, versus the Windows virtual machine.

Continue reading “Prime95 Benchmark: Linux Host versus Windows VM”