Skip to content

IOMMU Support in Linux Kernel

In addition to enabling the IOMMU hardware extensions in the UEFI/BIOS, the IOMMU support must be enabled in the host kernel.

Check whether the IOMMU support is enabled in the Linux kernel by running the virt-host-validate command:

If the IOMMU support is enabled, the command output will look similar to this:

.    
.
.
QEMU: Checking for cgroup 'blkio' controller support               : PASS
QEMU: Checking for device assignment IOMMU support                 : PASS
QEMU: Checking if IOMMU is enabled by kernel                       : PASS
.
.
.

If the IOMMU support is disabled, the command output will look similar to this:

.
.
.
QEMU: Checking for cgroup 'blkio' controller support               : PASS
QEMU: Checking for device assignment IOMMU support                 : PASS
QEMU: Checking if IOMMU is enabled by kernel                       : WARN (IOMMU appears to be disabled in kernel.
.
.
.

Enabling IOMMU in Linux Kernel

Follow the steps below to enable the IOMMU support in the Linux kernel.

  1. Regenerate the GRUB configuration with the intel_iommu=on and iommu=pt parameters using one of the following commands:

    • On Intel-based hosts, run:

      sudo grubby --args="intel_iommu=on iommu=pt" --update-kernel DEFAULT

    • On AMD-based hosts, run:

      sudo grubby --args="iommu=pt" --update-kernel DEFAULT

  2. Reboot the system for the changes to take effect.