There are many guides out there, but this one is version specific. Some things have changed.
First, follow this guide:
It may be necessary to add the following boot options if you’re passing through the only GPU in the system:
#nano /etc/kernel/cmdline
root=ZFS=rpool/ROOT/pve-1 boot=zfs amd_iommu=on iommu=pt pcie_acs_override=downstream,multifunction nofb nomodeset video=vesafb:off video=efifb:off
There are guides for older versions of Proxmox that combine the “video=” lines into 1 statement. This won’t work on 7.1. Otherwise:
- pcie_acs_overrise=downstream,multifunction
- Breaks large IOMMU groups into individual groups per device. Use if you’re attempting to pass through a GPU that’s sharing an IOMMU group with bus devices or other critical stuff.
- Check that with the following command:
#for d in /sys/kernel/iommu_groups/*/devices/*; do n=${d#*/iommu_groups/*}; n=${n%%/*}; printf 'IOMMU group %s ' "$n"; lspci -nns "${d##*/}"; done
- nofb, nomodeset, video=vesafb:off, video=efifb:off
- Things to keep the primary GPU from being utilized by Proxmox, therefore not allowing passthrough to a VM