I have an AMD Ryzen 7 5800X CPU and a AMD ATI Radeon RX 6700 XT GPU, and I’d like to take advantage of them in a Windows virtual machine for certain videogames and software. My motherboard is an ASRock B550 Phantom Gaming 4/ac, but I can’t find any way to enable IOMMU on it.
Running dmesg | grep -e IOMMU outputs:
[ 2.956817] AMD-Vi: AMD IOMMUv2 functionality not available on this system - This is not a bug.
but I’ve been told my setup should support it. For what it’s worth, I’m running Gentoo with the sys-kernel/gentoo-kernel-bin kernel. Any advice is much appreciated.
After temporarily removing the vfio kernel parameters from my rEFInd config and /etc/modprobe.d/vfio.conf so I can boot into my desktop again, I was at least able to prove that IOMMU was enabled (dmesg | grep -e IOMMU):
While I’m not competent enough to help further I’d suggest you create a dedicated thread to specifically lure in the crowd that knows about Linux VM hosts.
Normally you not only have the file in /etc/modprobe.d/vfio.conf, but also load the modules in /etc/mkinitcpio.conf or via a *.conf file in /etc/modules-load.d/. I mean the place where you load the modules vfio_pci vfio vfio_iommu_type1 vfio_virqfd. Can you please post this file?
I don’t have a /etc/mkinitcpio.conf (I remember looking it up and coming away with the idea that it was Arch-specific), but neither do I have even a /etc/modules-load.d/ directory! I guess I should make it, but I don’t know what to put inside…
I figured it out, but, after re-adding my VFIO configuration in /boot/refind_linux.conf and /etc/modprobe.d/vfio.conf before making /etc/modules-load.d/vfio.conf:
root@pve:~# cat /boot/config-`uname -r` | grep -i vfio
CONFIG_KVM_VFIO=y
CONFIG_VFIO_IOMMU_TYPE1=m
CONFIG_VFIO_VIRQFD=m
CONFIG_VFIO=m
CONFIG_VFIO_NOIOMMU=y
CONFIG_VFIO_PCI=m
CONFIG_VFIO_PCI_VGA=y
CONFIG_VFIO_PCI_MMAP=y
CONFIG_VFIO_PCI_INTX=y
CONFIG_VFIO_PCI_IGD=y
CONFIG_VFIO_MDEV=m
CONFIG_VFIO_MDEV_DEVICE=m
# CONFIG_SAMPLE_VFIO_MDEV_MTTY is not set
# CONFIG_SAMPLE_VFIO_MDEV_MDPY is not set
# CONFIG_SAMPLE_VFIO_MDEV_MDPY_FB is not set
# CONFIG_SAMPLE_VFIO_MDEV_MBOCHS is not set