IOMMU Groups – What You Need to Consider


In this post I present some of the challenges you might face with IOMMU and provide tools to identify and perhaps solve the issues.

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”

Running Windows 10 on Linux using KVM with VGA Passthrough

The Need

You want to use Linux as your main operating system, but still need Windows for certain applications unavailable under Linux. You need top notch (3D) graphics performance under Windows that you can’t get from VirtualBox or similar virtualization solutions. And you do not want to dual-boot into Linux or Windows. In that case read on.

Many modern CPUs have built-in features that improve the performance of virtual machines (VM), up to the point where virtualized systems are indistinguishable from non-virtualized systems. This allows us to create virtual machines on a Linux host platform without compromising performance of the (Windows) guest system. Continue reading “Running Windows 10 on Linux using KVM with VGA Passthrough”

Glossary of Virtualization Terms

For those of you not (yet) familiar with VGA passthrough, here some common terms used in the how-to: Continue reading “Glossary of Virtualization Terms”

qemu-system-x86_64 -drive options

In an attempt to make the qemu -drive command line options more accessible, here is an extract from the qemu-system-x86_64 man page. You can get the complete man page by entering the following in a terminal window:
man qemu-system-x86_64

The options below are valid for qemu-system-x86_64 version 2.5.0. Newer versions of qemu will likely have some syntax changes. A more complete explanation is available here. Continue reading “qemu-system-x86_64 -drive options”

Define a network bridge using Ubuntu’s / Linux Mint’s Network Manager application

I’m regularly passing large amounts of data between my Windows VM and my Linux host. To avoid bottlenecks, I use a virtual network bridge that creates a 10 GBit link between the guest and the host, enough to challenge the fastest SSD on the market.

When running Ubuntu 16.04 or Linux Mint 18.2, Network Manager offers a convenient way to configure a network bridge.

Here is how you set up a virtual network bridge for connecting a Virtual Machine to the Linux Host. Please note that this will not work with a wireless network connection, at least not without some modifications: Continue reading “Define a network bridge using Ubuntu’s / Linux Mint’s Network Manager application”