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
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="amd_iommu=on vfio-pci.ids=10de:2482,10de:228b,1912:0015"
Install OVMF package
yay -S ovmf
Then you can create the vm using virt-manager and editing the following xml file :
The result :