Zum Hauptinhalt springen
S-EDV news
← Alle Anleitungen
📘 Anleitung Hardware 01.06.2026 · 9 min Lesezeit

GPU-Passthrough in Proxmox einrichten: NVIDIA/AMD von IOMMU bis zur VM (Anleitung)

GPU-Passthrough in Proxmox Schritt für Schritt: IOMMU im BIOS und Kernel aktivieren, GPU per vfio-pci binden und in einer VM mit NVIDIA- oder AMD-Treibern nutzen. Inklusive Verifikation und Troubleshooting.

Geprüft am 29.09.2026 · für Proxmox VE 9

WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Mehr dazu

Geöffnetes Servergehäuse mit eingebauter Grafikkarte im PCIe-Steckplatz neben Arbeitsspeicher und CPU-Kühler

Mit dieser GPU Passthrough Proxmox Anleitung deutsch reichen Sie eine NVIDIA- oder AMD-Grafikkarte vom Proxmox-Host direkt an eine virtuelle Maschine durch. Die VM erhält native Hardware-Performance für Rendering, Transcoding, KI-Workloads oder Gaming, ohne dass der Host-Kernel die Karte belegt. Die Anleitung führt von der IOMMU-Konfiguration im BIOS über das vfio-pci-Binding bis zur Treiber-Installation in der VM. Die Befehle gelten für Proxmox VE 8.x und 9.x auf Debian-Basis.

Was ist GPU-Passthrough und warum nutzen Sie es?

Beim GPU-Passthrough wird ein physisches PCIe-Gerät über die IOMMU (Input/Output Memory Management Unit) isoliert und exklusiv einer VM zugewiesen. Das Kernel-Framework heißt VFIO (Virtual Function I/O): Proxmox bindet die Karte statt an den Grafiktreiber an den Platzhalter-Treiber vfio-pci, die VM sieht die GPU als echtes Gerät und nutzt den Herstellertreiber.

So betreiben Sie etwa eine Windows-VM mit voller GPU-Beschleunigung, Stable Diffusion oder Jellyfin mit Hardware-Transcoding, während Proxmox headless weiterläuft. Voraussetzung ist saubere GPU Isolation in Proxmox über getrennte IOMMU-Gruppen, damit keine anderen Geräte mit durchgereicht werden.

Voraussetzungen

  1. Eine CPU mit IOMMU-Unterstützung: Intel mit VT-d oder AMD mit AMD-Vi (SVM/IOMMU).
  2. Ein Mainboard, dessen UEFI/BIOS VT-d bzw. IOMMU bereitstellt und das den ACS-/PCIe-ARI-Support für saubere Gruppen mitbringt.
  3. Proxmox VE 8.x oder 9.x auf einem x86-64-Host mit Root-Zugriff per SSH oder Konsole.
  4. Arbeitsspeicher: mindestens 2 GB für Proxmox selbst plus den RAM, den Sie der VM zuweisen. Eine VM mit durchgereichter GPU belegt ihren zugewiesenen RAM in der Regel vollständig.
  5. Eine dedizierte NVIDIA- oder AMD-GPU, die nicht die primäre Boot-/Konsolen-Karte des Hosts ist (idealerweise eine zweite GPU oder iGPU für den Host).
  6. Die PCI-Hersteller-IDs Ihrer Karte im Format 10de:xxxx (NVIDIA) bzw. 1002:xxxx (AMD).
  7. Ein aktuelles Backup Ihrer Proxmox-Konfiguration, bevor Sie Bootloader und Module veränderst.

Schritt 1: VT-d / IOMMU im BIOS aktivieren

Aktivieren Sie im UEFI/BIOS die Virtualisierungs- und IOMMU-Optionen; die Bezeichnungen unterscheiden sich je nach Hersteller.

  1. Intel: Aktivieren Sie Intel Virtualization Technology (VT-x) und Intel VT for Directed I/O (VT-d).
  2. AMD: Aktivieren Sie SVM Mode und IOMMU (manchmal unter „AMD-Vi“ oder „Advanced > AMD CBS“).

Speichern Sie und starten Sie neu. Ohne aktives VT-d/IOMMU im BIOS funktioniert keiner der folgenden Schritte.

Verifizieren: Nach dem Neustart liefert grep -c -E 'vmx|svm' /proc/cpuinfo einen Wert größer 0, und im BIOS-Menü stehen VT-d bzw. IOMMU auf „Enabled“.

Schritt 2: IOMMU im Kernel/Bootloader aktivieren

Aktivieren Sie IOMMU auf Kernel-Ebene. Bei AMD-CPUs ist IOMMU laut Proxmox-Dokumentation standardmäßig aktiv, bei Intel ab Kernel 6.8 ebenfalls (Proxmox VE 8.2 und neuer); intel_iommu=on schadet dort nicht, ist aber nur auf älteren Kerneln Pflicht. Sinnvoll bleibt iommu=pt. Prüfen Sie zuerst, ob GRUB oder systemd-boot aktiv ist.

proxmox-boot-tool status
# Zeigt der Output "Using ... systemd-boot"? -> systemd-boot, andernfalls GRUB

Variante A: GRUB

Bearbeiten Sie die Datei /etc/default/grub und ergänzen Sie die Kernel-Parameter in der Zeile GRUB_CMDLINE_LINUX_DEFAULT.

nano /etc/default/grub

Für Intel-CPUs:

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"

Für AMD-CPUs:

GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"

Anschließend GRUB neu schreiben:

update-grub

Variante B: systemd-boot

Bei systemd-boot tragen Sie dieselben Parameter in /etc/kernel/cmdline ein und aktualisieren den Bootloader.

nano /etc/kernel/cmdline
# Beispiel-Inhalt (Intel):
# root=ZFS=rpool/ROOT/pve-1 boot=zfs intel_iommu=on iommu=pt
proxmox-boot-tool refresh

iommu=pt (Passthrough-Modus) reduziert den Overhead, siehe FAQ. Starten Sie den Host anschließend neu.

reboot

Verifizieren: cat /proc/cmdline enthält nach dem Neustart die eingetragenen Parameter, etwa iommu=pt.

Schritt 3: IOMMU verifizieren

Nach dem Reboot prüfen Sie, ob IOMMU aktiv ist und Geräte in Gruppen aufgeteilt wurden.

dmesg | grep -e DMAR -e IOMMU
# Erwartet z. B.: "DMAR: IOMMU enabled" (Intel) bzw. "AMD-Vi: ... initialized"

Listen Sie anschließend die IOMMU-Gruppen auf. Ihre GPU sollte möglichst allein (oder nur mit ihrem HDMI-Audio-Teil) in einer Gruppe stehen:

for d in /sys/kernel/iommu_groups/*/devices/*; do
  n=${d#*/iommu_groups/*}; n=${n%%/*}
  printf 'IOMMU-Gruppe %s: ' "$n"
  lspci -nns "${d##*/}"
done

Hat die GPU eine eigene Gruppe, ist die GPU Isolation in Proxmox sauber. Teilt sie die Gruppe mit fremden Geräten, hilft oft ein BIOS-Update, ein anderer PCIe-Slot oder als letztes Mittel pcie_acs_override=downstream,multifunction (Sicherheitsabwägung beachten).

Verifizieren: dmesg zeigt eine Zeile wie „DMAR: IOMMU enabled“ bzw. „AMD-Vi“, und die Schleife listet GPU und HDMI-Audio in einer Gruppe ohne weitere fremde Geräte.

Schritt 4: VFIO-Module laden

Tragen Sie die VFIO-Module ein, damit der Host sie beim Booten bereitstellt. Bei Proxmox VE 8.x mit aktuellem Kernel sind sie meist eingebaut, der Eintrag stellt das Laden sicher.

nano /etc/modules
vfio
vfio_iommu_type1
vfio_pci

vfio_virqfd ist in aktuellen Proxmox-Kerneln integriert und muss nur auf älteren Kerneln separat aufgeführt werden.

Verifizieren: Nach dem nächsten Neustart (spätestens nach Schritt 5) zeigt lsmod | grep vfio die Module vfio_pci, vfio_iommu_type1 und vfio.

Schritt 5: GPU per vfio-pci binden

Kernstück ist das vfio-pci Binding. Ermitteln Sie die PCI-IDs Ihrer Karte: NVIDIA nutzt die Vendor-ID 10de, AMD 1002. Eine Grafikkarte hat meist zwei Funktionen, VGA-Einheit und HDMI-Audio-Controller.

lspci -nn | grep -e VGA -e Audio
# Beispiel:
# 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation ... [10de:2484]
# 01:00.1 Audio device [0403]: NVIDIA Corporation ... [10de:228b]

Tragen Sie beide IDs in /etc/modprobe.d/vfio.conf ein, damit vfio-pci die Geräte beim Boot beansprucht:

nano /etc/modprobe.d/vfio.conf
options vfio-pci ids=10de:2484,10de:228b

Bei AMD entsprechend mit 1002:xxxx. Verwenden Sie stets die echten IDs Ihrer Karte, nicht die Beispielwerte.

Host-Treiber blacklisten

Damit der Host-Kernel nicht zuerst den NVIDIA-/Nouveau- oder AMDGPU-Treiber lädt, setzen Sie diese auf die Blacklist:

nano /etc/modprobe.d/blacklist-gpu.conf
blacklist nouveau
blacklist nvidia
blacklist nvidiafb
blacklist radeon
blacklist amdgpu

Aktualisieren Sie danach die initramfs und starten Sie neu:

update-initramfs -u -k all
reboot

Greift das Blacklisting nicht, empfiehlt die Proxmox-Dokumentation eine Soft-Dependency, damit vfio-pci vor dem Grafiktreiber lädt, zum Beispiel softdep nouveau pre: vfio-pci in einer Datei unter /etc/modprobe.d/.

Verifizieren: cat /etc/modprobe.d/vfio.conf zeigt Ihre echten IDs, und lsinitramfs /boot/initrd.img-$(uname -r) | grep vfio listet die VFIO-Module in der neuen initramfs.

Schritt 6: Binding verifizieren

Nach dem Reboot prüfen Sie, ob die GPU tatsächlich an vfio-pci gebunden ist und nicht mehr am Host-Treiber hängt.

lsmod | grep vfio
lspci -nnk -d 10de:2484
# In der Zeile "Kernel driver in use:" muss "vfio-pci" stehen

Steht dort vfio-pci, ist die Karte sauber isoliert. Erscheint stattdessen nvidia, nouveau oder amdgpu, stimmt entweder die PCI-ID nicht oder das Blacklisting hat nicht gegriffen.

Verifizieren: lspci -nnk meldet für VGA- und Audio-Funktion der Karte „Kernel driver in use: vfio-pci“ (oder keine „in use“-Zeile).

Schritt 7: GPU an die VM durchreichen

Legen Sie eine VM an (für Windows mit Maschinentyp q35 und OVMF (UEFI)-BIOS) und fügen Sie unter Hardware > Hinzufügen > PCI Device die Raw-Device-Variante Ihrer GPU hinzu. Aktivieren Sie All Functions (Video und HDMI-Audio gemeinsam) sowie PCI-Express.

Alternativ per CLI in der VM-Konfiguration unter /etc/pve/qemu-server/<VMID>.conf bzw. per qm:

qm set 100 -hostpci0 01:00,pcie=1,x-vga=1

x-vga=1 markiert die Karte als primäre Anzeige der VM; bei reinem Compute-Passthrough (z. B. Transcoding ohne Monitor) lassen Sie es weg. Nur ältere NVIDIA-Treiber (vor Version 465) verlangten für Consumer-Karten in Windows-VMs, die Virtualisierung über das cpu-Argument zu verstecken, sonst meldete der Treiber Code 43. Aktuelle Treiber brauchen das laut Proxmox-Wiki nicht mehr:

qm set 100 -cpu host,hidden=1,flags=+pcid

hidden=1 setzt im Hintergrund kvm=off und blendet die KVM-Signatur für den NVIDIA-Treiber aus.

Verifizieren: qm config 100 | grep hostpci zeigt den Eintrag hostpci0: 01:00,pcie=1,…, und die VM startet ohne Fehlermeldung zur Gerätezuweisung.

Schritt 8: Treiber in der VM installieren und erster Test

Starten Sie die VM und installieren Sie den herstellereigenen Treiber im Gast.

  1. Windows-Gast: Laden Sie den aktuellen NVIDIA- bzw. AMD-Treiber von der offiziellen Hersteller-Seite und installieren Sie ihn. Im Geräte-Manager muss die GPU ohne Ausrufezeichen erscheinen.
  2. Linux-Gast (NVIDIA): Installieren Sie die Treiberpakete Ihrer Distribution, etwa per apt install nvidia-driver (Debian/Ubuntu mit aktivierten passenden Quellen), und prüfen Sie mit nvidia-smi.
  3. Linux-Gast (AMD): Der quelloffene amdgpu-Treiber ist meist im Kernel enthalten; prüfen Sie mit lspci -nnk den geladenen Treiber.

Erfolgreich ist der Test, wenn die GPU im Gast erkannt wird und Last anzeigt:

# Im Linux-Gast mit NVIDIA-Karte
nvidia-smi

Zeigt nvidia-smi die Karte mit Speicher und Auslastung, ist das GPU-Passthrough vollständig eingerichtet.

Verifizieren: Windows: Geräte-Manager zeigt die Karte ohne Warnsymbol. Linux: nvidia-smi listet GPU-Modell und Speicher bzw. lspci -nnk meldet „Kernel driver in use: amdgpu“.

Updates und Wartung

Halten Sie Proxmox und Gast-Treiber aktuell und prüfen Sie nach jedem Proxmox-Kernel-Update das VFIO-Binding, da neue Kernel gelegentlich Treiber-Reihenfolgen ändern.

apt update && apt full-upgrade
# Nach Reboot Binding kontrollieren:
lspci -nnk -d 10de:2484

Wenn Sie Kernel-Parameter oder vfio.conf ändern, immer update-initramfs -u -k all ausführen und neu booten. Die Gast-GPU-Treiber aktualisieren Sie regulär im Gastbetriebssystem.

Backup-Hinweis

Sichern Sie vor jeder Änderung an Bootloader und Modulen /etc/default/grub bzw. /etc/kernel/cmdline, /etc/modules und /etc/modprobe.d/, und erstellen Sie vor dem Anhängen von PCI-Devices ein VM-Backup über Datacenter > Backup oder Proxmox Backup Server. So rollen Sie nach einem fehlgeschlagenen Boot über die Proxmox-Konsole schnell zurück.

Troubleshooting

  1. Kein „IOMMU enabled“ in dmesg: VT-d/AMD-Vi ist im BIOS nicht aktiv oder der Kernel-Parameter fehlt. BIOS prüfen und intel_iommu=on bzw. amd_iommu=on korrekt setzen.
  2. „Kernel driver in use“ zeigt weiterhin nvidia/amdgpu: PCI-ID in vfio.conf kontrollieren, Blacklist-Datei prüfen und update-initramfs -u -k all nicht vergessen.
  3. Code 43 in Windows: Ein allgemeiner Treiberfehler. Bei aktuellen NVIDIA-Treibern meist nicht die Virtualisierungserkennung, sondern z. B. Resizable BAR im Host-BIOS (bei manchen AMD-Karten), ein fehlendes vBIOS oder die falsche Firmware. Bei alten NVIDIA-Treibern hilft hidden=1 am cpu-Parameter.
  4. GPU teilt sich eine IOMMU-Gruppe mit anderen Geräten: BIOS-Update einspielen, anderen PCIe-Slot testen oder als letztes Mittel pcie_acs_override erwägen (sicherheitskritisch in Multi-Tenant-Umgebungen).
  5. Host bootet nicht mehr / kein Bild: Sie haben wahrscheinlich die primäre Host-GPU durchgereicht. Über IPMI/serielle Konsole booten, x-vga=1 entfernen oder eine zweite GPU/iGPU für den Host vorsehen.
  6. Reset-Bug nach VM-Neustart: Manche AMD-Karten (Polaris/Vega) brauchen einen Reset-Workaround, weil sie nach dem Herunterfahren der VM nicht sauber re-initialisieren.

Häufige Fragen

Brauche ich für GPU-Passthrough in Proxmox zwei Grafikkarten?

Nicht zwingend, aber empfohlen: Reichen Sie die einzige GPU durch, verliert der Host sein lokales Bild. Eine zweite GPU oder iGPU für den Host vermeidet das und erleichtert das Troubleshooting.

Funktioniert NVIDIA GPU Passthrough in Proxmox auch mit Consumer-Karten?

Ja. Seit NVIDIA-Treiber 465 ist der Betrieb von GeForce-Karten in VMs offiziell unterstützt; hidden=1 ist nur bei älteren Treibern nötig.

Worin unterscheidet sich AMD GPU Passthrough in Proxmox von NVIDIA?

Das Prinzip ist identisch; Sie verwenden die Vendor-ID 1002 statt 10de und setzen amdgpu/radeon auf die Blacklist. Einige ältere AMD-Karten haben einen Reset-Bug, der nach dem VM-Neustart einen Host-Reboot oder Reset-Workaround erfordert.

Warum brauche ich iommu=pt?

iommu=pt aktiviert die IOMMU-Übersetzung nur für durchgereichte Geräte, senkt so den Overhead für alle übrigen Host-Geräte und gilt als Best Practice.

Kann ich eine GPU gleichzeitig mehreren VMs zuweisen?

Mit normalem PCIe-Passthrough nicht, ein Gerät gehört exklusiv einer VM. Geteilter Zugriff erfordert SR-IOV/vGPU-Technologien, die nur bestimmte Profi-Karten (z. B. NVIDIA mit vGPU-Lizenz oder AMD MxGPU) unterstützen.

Fazit

Die Reihenfolge: IOMMU in BIOS und Kernel aktivieren, VFIO laden, GPU per PCI-ID an vfio-pci binden, Host-Treiber blacklisten, Karte als PCI-Device an die VM durchreichen. Achten Sie auf saubere IOMMU-Gruppen, ein aktuelles Backup und die Verifikation mit lsmod | grep vfio und lspci -nnk.

Weiterführende Artikel und Quellen

Passende Anleitungen: Proxmox VE installieren und Grundkonfiguration, Ollama-Modelle nach VRAM und Quantisierung auswählen und Jellyfin mit Docker für Hardware-Transcoding in der VM.

Planen Sie Hardware für GPU-lastige Workloads, lohnt ein Blick auf die AMD Instinct MI350P PCIe AI-GPU für Enterprise-Umgebungen. Weitere praktische Server- und Homelab-Anleitungen finden Sie in unserer Kategorie Hardware.

Quellen: Proxmox VE Wiki – PCI(e) Passthrough und die Linux-Kernel-Dokumentation zu VFIO.