Enable IOMMU in Bootloader
nano /boot/loader/entries/arch.conf
add amd_iommu=on iommu=pt
to the end of the options
Save and Reboot
check IOMMU
sudo dmesg | grep -e DMAR -e IOMMU
look for amd_IOMMU:Detected"
check PCI iommu groups
iommuamd.sh
run this script, look for your GPU, make sure they are in their own group
IOMMU group 16
0a:00.0 VGA compatible controller \[0300\]: Advanced Micro Devices, Inc. \[AMD/ATI\] Baffin \[Radeon RX 550 640SP / RX 560/560X\] \[1002:67ff\] (rev cf)
Driver: amdgpu
0a:00.1 Audio device \[0403\]: Advanced Micro Devices, Inc. \[AMD/ATI\] Baffin HDMI/DP Audio \[Radeon RX 550 640SP / RX 560/560X\] \[1002:aae0\]
Driver: snd\_hda\_intel
copy it and save it somewhere.
add modprobe module:
sudo nano /etc/modprobe.d/vfio.conf
in vfio.conf add:
options vfio-pci ids=1002:67ff,1002:aae0
options vfio-pci disable_idle_d3=1
options vfio-pci disable_vga=1
ids should be your pci parts ids with ,
in between
Install required packages
sudo pacman -S qemu libvirt edk2-ovmf virt-manager dnsmasq ebtables iptables bridge-utils
Enable them in init system
sudo systemctl enable libvirtd
sudo systemctl enable virtlogd.socket
Start services
"sudo systemctl start libvirtd"
`sudo systemctl start virtlogd.socket
enable virtual network
sudo virsh net-start default
sudo virsh net-autostart default
open virt-manager and setting up an basic virtual machine without passthrough