Proxmox PVE: passthrough of non-GPU + split IOMMUs
Posted: Wed May 08, 2024 11:59 am
I'm passing through a Blackmagic Decklink SDI video capture card to a virtual machine on Proxmox PVE.
The mainboard is an MSI Mortar B450M Max.
Using any of the available 2 PCIe slots always put my Decklink card into a shared IOMMU group - that also contained many other onboard devices, such as network and disk-controller.
Therefore it was necessary to enable the `pcie_acs_override` kernel option in `/etc/default/grub`:
The other "iommu" parameters were required to passthrough the nvidia GPU (had its separate IOMMU even without ACS override).
After setting the ACS override parameter according to Documentation from ArchLinux Wiki to `downstream,multifunction` - I now have all devices on the machine in separate IOMMU groups.
The simply add "PCI device" as hardware to the desired VM and you're good to go!
The mainboard is an MSI Mortar B450M Max.
Using any of the available 2 PCIe slots always put my Decklink card into a shared IOMMU group - that also contained many other onboard devices, such as network and disk-controller.
Therefore it was necessary to enable the `pcie_acs_override` kernel option in `/etc/default/grub`:
Code: Select all
GRUB_CMDLINE_LINUX_DEFAULT="iommu=pt amd_iommu=on pcie_acs_override=downstream,multifunction"
After setting the ACS override parameter according to Documentation from ArchLinux Wiki to `downstream,multifunction` - I now have all devices on the machine in separate IOMMU groups.
The simply add "PCI device" as hardware to the desired VM and you're good to go!