Skip to content

Instantly share code, notes, and snippets.

@vadimstasiev
Last active March 29, 2024 10:01
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vadimstasiev/fee3decb3d397ab806f46e9c6c6da82c to your computer and use it in GitHub Desktop.
Save vadimstasiev/fee3decb3d397ab806f46e9c6c6da82c to your computer and use it in GitHub Desktop.
ProxMox - Enable IOMMU using systemd

ProxMox - Enable IOMMU using systemd

You found that you are using systemd, adding bits to GRUB will not work. Instead, follow these steps:

Edit the kernel command line

Open the /etc/kernel/cmdline file for editing:

nano /etc/kernel/cmdline

Add the following line for AMD CPUs:

root=ZFS=rpool/ROOT/pve-1 boot=zfs amd_iommu=on iommu=pt pcie_acs_override=downstream,multifunction

note: For intel, just replace amd with intel, like so: intel_iommu=on

Refresh the boot tool

After editing the /etc/kernel/cmdline file, refresh the boot tool by running:

proxmox-boot-tool refresh

With these steps, you should have successfully enabled IOMMU and ACS patch using systemd for your Proxmox installation.

@sanchez1337
Copy link

If anyone wants to make sure if systemd is indeed used, check Proxmox VE Administration Guide

@DSDV
Copy link

DSDV commented Mar 29, 2024

i think amd dont has "on" for amd_iommu=
https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html?highlight=amd_iommu

amd_iommu= [HW,X86-64]
Pass parameters to the AMD IOMMU driver in the system.
Possible values are:
fullflush - Deprecated, equivalent to iommu.strict=1
off - do not initialize any AMD IOMMU found in
the system
force_isolation - Force device isolation for all
devices. The IOMMU driver is not
allowed anymore to lift isolation
requirements as needed. This option
does not override iommu=pt
force_enable - Force enable the IOMMU on platforms known
to be buggy with IOMMU enabled. Use this
option with care.
pgtbl_v1 - Use v1 page table for DMA-API (Default).
pgtbl_v2 - Use v2 page table for DMA-API.
irtcachedis - Disable Interrupt Remapping Table (IRT) caching.

"on" is a intel thing.

Also the Proxmox Wiki Mentions:
https://pve.proxmox.com/wiki/PCI(e)_Passthrough#_general_requirements

For AMD CPUs it should be enabled automatically.

so i guess for AMD iommu=pt is enough (:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment