Enable IOMMU on Proxmox, Plus Real IOMMU Groups

Updated /Compute & Orchestration /

This is how I turn on IOMMU in Proxmox before trying PCIe passthrough.

Enable IOMMU in GRUB

vi /etc/default/grub
Find the line with "GRUB_CMDLINE_LINUX_DEFAULT"
Add `intel_iommu=on` or `amd_iommu=on`
Save
update-grub

PCIe ACS Override

There are motherboards that bundle peripherals together (does not support ACS).

A workaround is to override PCIe ACS by adding pcie_acs_override=downstream,multifunction in GRUB_CMDLINE_LINUX_DEFAULT.

This flags the kernel that a device can be “isolated”. It might have security and stability issues.

References:

IOMMU groups on real hardware

Whether passthrough works depends on how the board groups its devices. These are two machines I checked.

Asus Chromebox CN62

Linux device list showing IOMMU values for various hardware components on a Lenovo ThinkCentre.

It cannot passthrough the GPU

Lenovo ThinkCentre M920s

Proxmox PCI device selection menu showing various Intel Corporation devices and their IOMMU group IDs.

iGPU and SATA controller is in its own group

Related: Proxmox iGPU Passthrough only works on Windows guests and Attempted to make XFX RX 460 work on a macOS KVM.

Related posts