Fernwartung Download starten

Proxmox GPU Passthrough: Grafikkarten in VMs durchreichen

ProxmoxVirtualisierungHardwareGPU
Proxmox GPU Passthrough: Grafikkarten in VMs durchreichen

GPU Passthrough ermöglicht es, eine physische Grafikkarte direkt an eine virtuelle Maschine durchzureichen. Die VM erhält exklusiven Zugriff auf die GPU — mit nahezu nativer Performance. Auf Proxmox VE ist das besonders relevant für KI-Training, CAD-Arbeitsplätze, Video-Rendering und leistungsfähige Remote-Desktop-Umgebungen.

Was ist PCI Passthrough?

PCI Passthrough (auch VFIO Passthrough) ist eine Technologie, bei der ein physisches PCIe-Gerät direkt einer virtuellen Maschine zugewiesen wird. Der Hypervisor gibt die Kontrolle über das Gerät vollständig an die VM ab — aus Sicht der VM ist die Hardware so vorhanden, als wäre sie direkt eingebaut.

Das funktioniert nicht nur mit Grafikkarten, sondern auch mit:

  • NVIDIA/AMD GPUs — KI-Training, CAD, Rendering
  • HBA-Controller — Direkte Anbindung von Festplatten (z. B. für TrueNAS in einer VM)
  • Netzwerkkarten — 10/25 GbE NICs für maximale Netzwerk-Performance
  • USB-Controller — Ganze USB-Hubs an eine VM durchreichen
  • Capture Cards — Video-Aufnahme und Streaming

Voraussetzungen

Hardware

  • CPU mit IOMMU: Intel VT-d oder AMD-Vi (alle aktuellen Server- und Desktop-CPUs)
  • Mainboard mit IOMMU-Unterstützung: Im BIOS aktivierbar (VT-d / AMD-Vi / IOMMU)
  • Saubere IOMMU-Gruppen: Die GPU muss in einer eigenen IOMMU-Gruppe liegen — nicht mit anderen Geräten geteilt
  • Zweite Grafikkarte oder IPMI: Der Host benötigt eine eigene Grafikausgabe (Onboard-GPU, IPMI oder zweite Karte)

Software

  • Proxmox VE 7.x oder 8.x (empfohlen: aktuellste Version)
  • UEFI/OVMF als VM-BIOS (empfohlen für GPU Passthrough)
  • Aktuelle GPU-Treiber im Gast-Betriebssystem

Einrichtung Schritt für Schritt

1. IOMMU im BIOS aktivieren

Im Server- oder Mainboard-BIOS:

  • Intel: VT-d aktivieren (unter CPU Features oder Advanced)
  • AMD: IOMMU / AMD-Vi aktivieren (unter NBIO oder Advanced)

2. IOMMU im Kernel aktivieren

Die Kernel-Kommandozeile in /etc/default/grub erweitern:

Intel:

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"

AMD:

GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"

Anschließend update-grub und Reboot. Die Option iommu=pt (Passthrough-Modus) sorgt dafür, dass nur zugewiesene Geräte durch IOMMU laufen — das verbessert die Performance für alle anderen Geräte.

3. VFIO-Module laden

In /etc/modules eintragen:

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

4. GPU vom Host-Treiber lösen

Die GPU darf nicht vom Host belegt sein. Die PCI-IDs der Grafikkarte ermitteln:

lspci -nn | grep -i nvidia
# Beispiel: 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation ... [10de:2684]
# Beispiel: 01:00.1 Audio device [0403]: NVIDIA Corporation ... [10de:22ba]

In /etc/modprobe.d/vfio.conf die IDs eintragen:

options vfio-pci ids=10de:2684,10de:22ba disable_vga=1

Wichtig: Sowohl den VGA-Controller als auch das zugehörige Audio-Device der GPU eintragen.

GPU-Treiber des Hosts blacklisten (/etc/modprobe.d/blacklist.conf):

blacklist nouveau
blacklist nvidia
blacklist nvidiafb
blacklist radeon
blacklist amdgpu

update-initramfs -u und Reboot.

5. IOMMU-Gruppen prüfen

Nach dem Reboot die IOMMU-Gruppen überprüfen:

find /sys/kernel/iommu_groups/ -type l | sort -V

Die GPU sollte in einer eigenen Gruppe liegen. Falls andere Geräte in derselben Gruppe sind, müssen alle Geräte der Gruppe durchgereicht werden — oder ein ACS-Patch wird benötigt.

6. VM konfigurieren

In Proxmox eine neue VM erstellen:

  • BIOS: OVMF (UEFI)
  • Machine: q35
  • CPU: host (wichtig für GPU-Treiber)
  • Display: none (nach GPU-Treiber-Installation)

Die GPU als PCI-Device hinzufügen:

  • VM → Hardware → Add → PCI Device
  • GPU auswählen
  • All Functions: aktivieren (GPU + Audio)
  • Primary GPU: aktivieren (wenn die VM die GPU als Hauptdisplay nutzen soll)
  • ROM-Bar: aktivieren
  • PCI-Express: aktivieren

7. Gast-Treiber installieren

In der VM den passenden GPU-Treiber installieren:

  • NVIDIA: Offizielle NVIDIA-Treiber (nicht Nouveau)
  • AMD: amdgpu-Treiber (Linux) oder Adrenalin (Windows)

Typische Anwendungsfälle

KI und Machine Learning

NVIDIA GPUs (A100, H100, RTX 4090) werden per Passthrough an VMs mit CUDA-Workloads durchgereicht. Proxmox ermöglicht so den Betrieb mehrerer KI-Workloads auf einem Server — jede VM erhält ihre eigene GPU.

Für Multi-GPU-Server: Jede GPU kann einer separaten VM zugewiesen werden. Ein Server mit 4× RTX 4090 kann 4 unabhängige KI-VMs betreiben.

CAD und Engineering

CAD-Anwendungen (SolidWorks, AutoCAD, CATIA) benötigen eine leistungsfähige GPU. Per Passthrough und Remote-Desktop (Parsec, NICE DCV, Teradici) können CAD-Arbeitsplätze zentral als VMs bereitgestellt werden — ohne teure Workstations am Arbeitsplatz.

Video-Rendering und Transcoding

Rendering-Farmen mit Blender, DaVinci Resolve oder FFmpeg profitieren von GPU-beschleunigtem Encoding. Die GPUs werden bei Bedarf den Render-VMs zugewiesen.

Windows-Desktops mit GPU

Windows-VMs für grafiklastige Anwendungen (Design, Simulation, Gaming) erhalten per Passthrough volle GPU-Leistung. In Kombination mit einem Remote-Desktop-Protokoll lassen sich leistungsfähige virtuelle Arbeitsplätze betreiben.

Häufige Probleme und Lösungen

„Error 43” bei NVIDIA-GPUs in Windows-VMs: NVIDIA-Treiber erkennen VMs und verweigern den Dienst (bei Consumer-GPUs). Lösung: In der VM-Konfiguration den Hypervisor verstecken:

args: -cpu 'host,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=proxmox,kvm=off'

Bei neueren NVIDIA-Treiberversionen (ab R530+) ist dieses Problem weitgehend behoben.

GPU lässt sich nicht vom Host lösen: Überprüfen, ob der Host-Treiber wirklich geblockt ist (lsmod | grep nvidia). VFIO muss vor dem GPU-Treiber geladen werden — die Reihenfolge in initramfs ist entscheidend.

IOMMU-Gruppe enthält mehrere Geräte: Entweder alle Geräte der Gruppe durchreichen oder den ACS-Override-Patch verwenden. Bei Server-Mainboards sind die IOMMU-Gruppen in der Regel sauber getrennt.

Kein Bild nach Passthrough: Display in Proxmox auf „none” setzen und einen Remote-Zugang nutzen (VNC, Parsec, RDP). Alternativ einen Monitor direkt an die durchgereichte GPU anschließen.

Performance-Vergleich

SzenarioBare MetalVM mit PassthroughVM ohne Passthrough
CUDA-Training100 %97–99 %Nicht möglich
OpenGL-Rendering100 %95–98 %10–20 % (virtio-gpu)
Video-Transcoding100 %97–99 %Nicht möglich
DirectX (Windows)100 %95–98 %Nicht möglich

Der Performance-Overhead durch Passthrough beträgt typischerweise 1–5 %. Für die meisten Workloads ist der Unterschied zu Bare Metal nicht messbar.

Häufig gestellte Fragen

Kann eine GPU an mehrere VMs gleichzeitig zugewiesen werden?

Nicht mit PCI Passthrough — eine GPU wird exklusiv einer VM zugewiesen. Für GPU-Sharing gibt es NVIDIA vGPU (erfordert Lizenz) oder SR-IOV (nur bestimmte GPU-Modelle). Alternativ: Mehrere GPUs im Server, eine pro VM.

Funktioniert Passthrough auch mit AMD-GPUs?

Ja. AMD-GPUs funktionieren oft sogar besser, da AMD keine Anti-VM-Erkennung in den Treibern hat. Sowohl unter Linux als auch Windows ist AMD Passthrough unkompliziert.

Welche NVIDIA-GPUs eignen sich am besten?

Für KI/ML: A100, H100, L40S (Datacenter-GPUs — keine Passthrough-Einschränkungen). Für Desktop/CAD: RTX 4080/4090 (Consumer-GPUs — Error-43-Workaround nötig, aber gut möglich). Quadro/RTX Professional ist die Mittelklasse ohne Einschränkungen.

Kann ich nach dem Passthrough noch auf die Proxmox-Konsole zugreifen?

Ja — über SSH, das Proxmox-Webinterface oder IPMI. Nur die physische Grafikausgabe des Hosts ist betroffen, wenn die durchgereichte GPU die einzige GPU im System war.


Sie möchten GPU Passthrough auf Ihrer Proxmox-Infrastruktur einrichten? Kontaktieren Sie uns — wir beraten Sie bei der Hardware-Auswahl und übernehmen die Konfiguration.

Mehr zu diesen Themen:

IT-Beratung gewünscht?

Kontaktieren Sie uns für eine unverbindliche Beratung zu Proxmox, OPNsense, TrueNAS und mehr.

Jetzt Kontakt aufnehmen