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”

Creating a Windows 10 Virtual Machine Using the Virtual Machine Manager (virt-manager)

Before you get your hopes high, this post is not (yet?) a tutorial on creating a Windows 10 virtual machine using the Virtual Machine Manager (virt-manager) GUI. It should have been, though. I spent the better part of a week trying to configure and install a Windows 10 VM that delivers the performance that I’m used to.

As it turns out, it was a failure. Don’t get me wrong, I did manage to configure and run Windows using virt-manager and virsh. I even installed it multiple times, changing the configuration to what I hoped would improve performance. But whatever I tried, I never got even near the speed and snappiness that I achieve by following my tutorial using a start script.

Continue reading “Creating a Windows 10 Virtual Machine Using the Virtual Machine Manager (virt-manager)”

New PC Build

Back in 2012 I built a PC around the Intel i7 3930K 6-core/12HT processor which I have been using ever since. While it’s still a strong PC, especially with the upgrades (GPU, SSD) I made, I’m starting to feel that editing photos isn’t as snappy as it used to be. I am also curious in how well the new generation of CPUs lend themselves to VGA passthrough. In short, I’m considering building a new PC. Continue reading “New PC Build”

Linux Virtual Gaming Machine

You may wonder what’s wrong with this fellow (meaning me, the author). Has he completely lost his mind when he proposes a Linux virtual gaming machine? Before you discredit the idea, let me explain. Continue reading “Linux Virtual Gaming Machine”

Installing a Linux Mint 19 (Ubuntu 18.04) VM with VGA Passthrough

Introduction

Installing a Linux Mint 19 VM (or Ubuntu 18.04) with VGA passthrough is surprisingly straightforward. This tutorial follows the Running Windows 10 on Linux using KVM with VGA Passthrough almost step-by-step. I will therefore focus on what’s different from the above tutorial.

While booting the Linux Mint 19 life installation media (ISO) as a VM was easy, the installation of Linux Mint invariably ended with the following error:

The ‘grub-efi-amd64-signed’ package failed to install target/

The following tutorial will describe the steps to overcome this problem (bug?). Continue reading “Installing a Linux Mint 19 (Ubuntu 18.04) VM with VGA Passthrough”

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.

Benchmarks are helpful in comparing one system with another, and one configuration with another. I use them for optimizing my Windows 10 performance and for making sure that updates/upgrades haven’t produced unwanted side effects. Continue reading “Windows 10 Virtual Machine Benchmarks”

Virtual Machines on UserBenchmark

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.

Continue reading “Virtual Machines on UserBenchmark”

Developments in Virtualization

I haven’t had much time in recent months to follow up on what’s happening in the KVM or virtualization world. That much bigger was my surprise to find that things are moving on quickly. When I started out 6 years ago to virtualise Windows and run it on Xen using VGA passthrough, I thought I would be forever marked as a geek.

Today I’m looking at dozens if not hundreds of tutorials and websites dealing with VGA passthrough, and an ever increasing number of followers. It seems to me this technology or concept is gaining momentum, at least among Linux users.

Continue reading “Developments in Virtualization”

IOMMU Groups – What You Need to Consider

Summary

In this post I present some of the challenges you might face with IOMMU and provide tools to identify and perhaps solve the issues. Your best friend is the pciutils package and the lspci command (see here for examples).

What is IOMMU and why do I need it?

In my tutorial on how to run Windows 10 on Linux using KVM with VGA Passthrough the first and most important hardware requirement is the support for IOMMU – VT-d in Intel jargon, AMD-v or SVM in AMD talk. But what does IOMMU support mean? Continue reading “IOMMU Groups – What You Need to Consider”