Passing GPU and USB Hub to a VM with VFIO on ARCH Linux

I will document my settings on Arch Linux on how pass a USB 3.0 card and a NVIDIA GPU to a Virtual machine running Windows 10.

My Setup is a Ryzen 3900x with an ASUS TUF Gaming x570-plus

The addition of a USB PCI-Epress Card is in order to use a full KVM switch.

So, first we have to get the ids for the cards, I’m passing a 750Ti GPU card and a Renesas USB 3.0 Hub:

lspci -k

GRUB_CMDLINE_LINUX_DEFAULT="usbcore.autosuspend=-1 amd_iommu=on vfio-pci.ids=10de:1380,10de:0fbc,1912:0015"

You get 10de:1380 and 10de:0fbc for GPU id, and 1912:0015 for USB card.

Create the file /etc/modprobe/kvm.conf and add :

options vfio_iommu_type1 allow_unsafe_interrupts=1
options kvm ignore_msrs

on /etc/default/grub :

GRUB_CMDLINE_LINUX_DEFAULT="usbcore.autosuspend=-1 amd_iommu=on vfio-pci.ids=10de:1380,10de:0fbc,1912:0015"

Then you can create the vm using virt-manager and editing the following xml file :

The result :

Publicada el
Categorizado como Poesía