Jan Taplick Architektur

IOMMU-Aktivierung

Um PCIe-Geräte wie Grafikkarten, Netzwerkkarten oder USB-Controller direkt an eine virtuelle Maschine durchzureichen, ist die Aktivierung der IOMMU-Unterstützung im Kernel notwendig.


1. Prozessor-Typ und Virtualisierungsfähigkeit prüfen

Im Terminal ausführen:

lscpu | grep Virtualization

Die Ausgabe sollte enthalten:

Mit folgendem Befehl prüfen, ob IOMMU aktivierbar ist:

dmesg | grep -i iommu

2. IOMMU im GRUB aktivieren

Öffne die GRUB-Konfigurationsdatei:

sudo nano /etc/default/grub

Füge in der Zeile GRUB_CMDLINE_LINUX_DEFAULT folgende Einträge hinzu:

Beispiel:

GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"

3. GRUB-Konfiguration neu generieren

sudo grub-mkconfig -o /boot/grub/grub.cfg

4. Reboot

sudo reboot

5. IOMMU-Gruppen prüfen

Nach dem Neustart kannst du mit folgendem Skript deine IOMMU-Gruppen analysieren:

#!/bin/bash
shopt -s nullglob
for g in /sys/kernel/iommu_groups/*; do
  echo "IOMMU-Gruppe ${g##*/}:"
  for d in $g/devices/*; do
    echo -e "\t$(lspci -nns ${d##*/})"
  done
done

Speichere das Skript z. B. als iommu.sh und führe es aus:

chmod +x iommu.sh
./iommu.sh

Jedes Gerät, das durchgereicht werden soll, sollte in einer eigenen Gruppe sein.


Hinweis

Wenn Geräte (z. B. GPU und Audio-Device) in einer gemeinsamen Gruppe sind, kann ein ACS-Override notwendig werden – dies ist jedoch experimentell und nur fortgeschrittenen Nutzer:innen empfohlen.


Weiter mit: VFIO-Bindung