In need of help with VFIO passthrough

At this point I have been messing with this for almost two days and I am not sure what I am doing wrong, I am following a guide as I am new to VFIO pass through, and so far I have added iommu=pt amd_iommu=on rd.driver.pre=vfio-pci video=vesafb:off,efifb:off
to /etc/default/grub, blacklisted nvidia and noveau drivers, enabled these modules

echo “vfio” >> /etc/modules

echo “vfio_iommu_type1” >> /etc/modules

echo “vfio_pci” >> /etc/modules

echo “vfio_virqfd” >> /etc/modules

and added my device to /etc/modprobe.d/vfio.conf by running

echo “options vfio-pci ids=10de:128b,10de:0e0f disable_vga=1” > /etc/modprobe.d/vfio.conf

I then ran sudo update-grub2 and sudo update-initramfs -k all -u

After all of that, I rebooted and attempted to start my vm, however I get the error:

(qemu) qemu-system-x86_64: -device vfio-pci,host=01:00.0,bus=port.1,multifunction=on: vfio 0000:01:00.0: failed to open /dev/vfio/13: No such file or directory

and when I run lspci -nnk I see that the vfio-pci driver has not grabbed the gpu.

My computer is a Ryzen 5 2600, and 2060 I’m using as my main gpu for video display and a GT 710 that I’m trying to passthrough, and I’m running POP_OS 20.04, and I am using grub2 instead of systemd-boot

If you trying to use nvidia as your host GPU you should only blacklist noveau, not nvidia.

This should be enough in GRUB_CMDLINE_LINUX_DEFAULT:
amd_iommu=on iommu=pt

Also you may consider moving vfio-pci ids to kernel line
GRUB_CMDLINE_LINUX="vfio-pci.ids=10de:128b,10de:0e0f"

I find it easier to troubleshoot, and gives you ability to change it on boot without need to rebuild initrd.

Also stuffing modules into /etc/modules isn’t best idea in some modern distros…
/etc/modprobe.d/*.conf and /etc/modules-load.d/*.conf are better for that.
But regardless vfio-pci should load other modules automatically if they are present.