

grub, systemd, rEFInd), you'll have to modify a specific configuration file. For our purposes, it makes the most sense to enable this feature at boot-time. Now you're going to need to pass the hardware-enabled IOMMU functionality into the kernel as a kernel parameter. Once you've booted into the host, make sure that IOMMU is enabled:Īlso check that CPU virtualization is enabled: Save any changes and restart the machine. My motherboard is unique so I had to enable a feature called SVM Mode. For AMD, look for something called AMD-Vi. For Intel processors, look for something called VT-d. You'll also need to enable CPU virtualization.

$ sudo apt install libvirt-daemon-system libvirt-clients qemu-kvm qemu-utils virt-manager ovmf Samsung 970 EVO Plus SSD 1TB - M.2 NVMe (guest)īefore we begin, let's install some necessary packages:.Samsung 970 EVO Plus SSD 500GB - M.2 NVMe (host).Corsair Vengeance LPX DDR4 3200 MHz 32GB (2x16).If you haven't built a PC yet but want it to be KVM/VFIO-focused, check out this list of parts suggested by The Passthrough Post. A monitor with two inputs 3 or multiple monitors.You're going to need the following to achieve a high-performance VM: You could easily substitute an iGPU for the host but I chose to use a dGPU for performance reasons. Specifically, I will be passing through an NVIDIA GPU to my guest VM while using an AMD GPU for my host. In this tutorial, I will create a GPU passthrough setup. Performance wise, there are pros and cons to each approach. On the other hand, a GPU passthrough setup utilizes KVM as a hypervisor to launch individual VMs with specific hardware attached to them. Gaming on Linux requires the use of tools like Wine which act as a compatabilty layer for translating Windows system calls to Linux system calls. Why not just game on Linux? This is definitely an option for many people, but not one that suited my particular needs. I wanted to launch a Windows VM specifically for gaming while still being able to use my Linux host for development work (simultaneously).Īt this point, you might be wondering. The main reason I wanted to get this setup working was because I found myself tired of using a dual-boot setup. Source: Open Virtualization Alliance (Jollans, IBM, Kadera, Intel)
