VFIO 2023 / Radeon 7000 Edition [WIP]

Hey, i’m following the guide on arch wiki and after setting up “virtualization technology” on the bios and editing the kernel parameter i got this log for dmesg | grep -i -e DMAR -e IOMMU, is it joever? I’m using an asrock 670e steel legend and a rizen 7900 cpu. GPU is asrock phantom gaming 6800XT.

[    0.025411] Kernel command line: initrd=\amd-ucode.img initrd=\initramfs-linux.img root=PARTUUID=15968a6a-9471-4cf8-88e2-0ce79becfd56 zswap.enabled=0 rw rootfstype=ext4 iommu=pt
[    0.373199] iommu: Default domain type: Passthrough (set via kernel command line)
[    0.453115] AMD-Vi: AMD IOMMUv2 functionality not available on this system - This is not a bug.

EDIT: I found it. Besides the virtualization on the CPU area, you should go into advanced → AMD CBS → NBIO → Iommu

I had this issue on 7900 XTX, after VM exit passed gpu was unusable and libvirt gave this same error.

echo "0" > "/sys/bus/pci/devices/${VIRSH_GPU_VIDEO}/d3cold_allowed"
In vm start script fixed it for me. (I’m changing it back with echo "1" after vm exit but before rebinding to amdgpu)

1 Like