I want to get IOMMU working on my machine but I am having some issues. I have an Intel 6600k that I would like to power my host graphics and I also have an Nvidia GTX 950 that I would like to pass onto my VM. I was following the IOMMU guide on the Arch wiki and made sure all the relevant files are in order as I have outlined below:

In terms of IOMMU groups, I have my PCI controller, GPU and GPU audio in one group, so that’s all in order.

This is my /etc/modprobe.d/vfio.conf:

options vfio-pci ids=10de:1402,10de:0fba

This is my /etc/mkinitcpio.conf:

# MODULES
# The following modules are loaded before any boot hooks are
# run.  Advanced users may wish to specify all system modules
# in this array.  For instance:
#     MODULES=(piix ide_disk reiserfs)
MODULES="vfio_pci vfio vfio_iommu_type1 vfio_virqfd"

# BINARIES
BINARIES=()

# FILES
FILES=""

# HOOKS
HOOKS="base udev autodetect modconf block keyboard keymap resume filesystems fsck"

And finally, this is how my boot entry is setup at /boot/loader/entries/antegeros.conf:

title	Antergos
linux	/vmlinuz-linux
initrd	/intel-ucode.img
initrd	/initramfs-linux.img
options	root=UUID=21f0fd80-fc01-44d8-a565-416d152d66b4 rw intel_iommu=on iommu=pt

After I reboot and turn on IGD in my BIOS and switch over my monitor to the DVI port on my motherboard instead of my dGPU, my system does not boot up entirely, it gets stuck at

[ OK ] Reached target Graphical Interface

But fortunately, I can still boot into my machine after I reconnect my monitor to my dGPU, switch off IGD in my BIOS and choose the fallback bootloader entry while booting which still makes use of the Nvidia card instead of the Intel iGPU. After I booted up there, I checked dmesg using dmesg | grep -i vfio and its output was

[    0.887325] VFIO - User Level meta-driver version: 0.3
[    0.888371] vfio-pci: probe of 0000:01:00.0 failed with error -22
[    0.888373] vfio_pci: add [10de:1402[ffff:ffff]] class 0x000000/00000000
[    0.888377] vfio-pci: probe of 0000:01:00.0 failed with error -22
[    0.888379] vfio-pci: probe of 0000:01:00.1 failed with error -22
[    0.888380] vfio_pci: add [10de:0fba[ffff:ffff]] class 0x000000/00000000

The biggest takeaway I can get from this is error -22 but I haven’t yet been able to find any information on it, has anyone ever faced this issue before and know of a possible solution?