Proxmoxguide

Proxmox GPU Passthrough einrichten – NVIDIA und AMD in VM durchreichen

PCIe-Passthrough für Grafikkarten in Proxmox VE konfigurieren

S
SeeColors IT
11. Juni 20265 Min. Lesezeit197 Aufrufe

Was ist GPU Passthrough?

PCIe Passthrough (auch VFIO-Passthrough) erlaubt es, ein physisches PCIe-Gerät – z. B. eine Grafikkarte – direkt und exklusiv an eine VM zu übergeben. Die VM hat dann nativen, hardwaredirekten Zugriff auf die GPU, ohne Virtualisierungsschicht.

Anwendungsfälle für GPU Passthrough

  • Gaming-VMs: Windows-Gaming auf Proxmox-Host mit Linux als Basis
  • KI/ML-Workloads: CUDA/ROCm in einer dedizierten VM
  • Render-Farmen: Blender, DaVinci Resolve in isolierten VMs
  • GPU-accelerated Server: TensorFlow, PyTorch, RAPIDS in Containern/VMs
  • CAD/CAM-Software: GPU-beschleunigte Designsoftware in VM

Voraussetzungen

Hardware

  • CPU mit IOMMU-Unterstützung:
    • Intel: VT-d aktivieren im BIOS/UEFI
    • AMD: AMD-Vi aktivieren im BIOS/UEFI
  • Mainboard mit gutem IOMMU-Grouping (Z-Mainboards, Server-Mainboards)
  • Mindestens 2 Grafikkarten (oder integrierte GPU als Primäranzeige + dedizierte GPU für Passthrough)

Ein-GPU-Setups (nur eine GPU im System) sind möglich aber deutlich komplizierter (erfordert vfio-pci unbind vor VM-Start).

IOMMU aktivieren

Intel (VT-d):

nano /etc/default/grub

Zeile ändern:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"

AMD (AMD-Vi):
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"

GRUB aktualisieren:
update-grub && reboot

IOMMU nach Neustart prüfen:
dmesg | grep -e DMAR -e IOMMU | head -20

Ausgabe sollte enthalten: "IOMMU enabled" oder "Adding to iommu group"

IOMMU-Gruppen anzeigen

find /sys/kernel/iommu_groups/ -type l | sort -V | while read iommu_dev; do iommu_group=$(echo $iommu_dev | cut -d'/' -f5) dev=$(echo $iommu_dev | cut -d'/' -f7) echo "IOMMU Group $iommu_group: $dev" done

Ihre GPU sollte idealerweise in einer eigenen IOMMU-Gruppe sein (nur GPU + GPU-Audio).

VFIO-Kernel-Module aktivieren

Module laden

echo "vfio" >> /etc/modules echo "vfio_iommu_type1" >> /etc/modules echo "vfio_pci" >> /etc/modules echo "vfio_virqfd" >> /etc/modules

GPU-IDs für VFIO ermitteln

PCI-IDs der GPU anzeigen:

lspci -nn | grep -i nvidia

Beispielausgabe:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation RTX 4070 [10de:2786] 01:00.1 Audio device [0403]: NVIDIA Corporation HD Audio [10de:22bc]

Die Zahlen in eckigen Klammern sind die PCI-IDs: 10de:2786 und 10de:22bc

VFIO an GPU-IDs binden

echo "options vfio-pci ids=10de:2786,10de:22bc" > /etc/modprobe.d/vfio.conf

NVIDIA-Treiber aus VFIO ausschließen (Blacklist)

echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf echo "blacklist nvidiafb" >> /etc/modprobe.d/blacklist.conf

initramfs aktualisieren:
update-initramfs -u -k all

Neustart:
reboot

VFIO-Bindung prüfen:
lspci -nnk | grep -A3 "NVIDIA"

Zeile "Kernel driver in use: vfio-pci" = Erfolg!

VM für GPU Passthrough konfigurieren

VM erstellen (empfohlene Einstellungen)

  • Machine Type: q35
  • BIOS: OVMF (UEFI)
  • CPU Type: host
  • RAM: 8+ GB
  • Disk: VirtIO
  • Netzwerk: VirtIO

GPU zur VM hinzufügen

  1. VM auswählen → Hardware → Add → PCI Device

  2. GPU aus Liste auswählen (z. B. 01:00.0 NVIDIA RTX 4070)

  3. Optionen:

    • All Functions: Aktivieren (bindet GPU + Audio zusammen)
    • Primary GPU: Aktivieren wenn die VM die GPU als Primäranzeige nutzt
    • PCI-Express: Aktivieren
    • ROM-Bar: Aktivieren
  4. Wiederholen für GPU-Audio (01:00.1)

Hyper-V Enlightenments für Windows

Für Windows-Gaming-VMs fügen Sie in der VM-Konfiguration hinzu:

qm set 100 --cpu host,hidden=1,flags=+pcid qm set 100 --machine q35 qm set 100 --args "-cpu host,kvm=off"

Einige NVIDIA-Treiber erkennen Virtualisierung und weigern sich zu laufen – kvm=off versteckt die KVM-Virtualisierung.

vBIOS der GPU (falls nötig)

Manche GPUs benötigen ein explizit geladenes vBIOS:

qm set 100 --hostpci0 01:00,romfile=vbios.rom

GPU-BIOS extrahieren (auf laufendem System):
cd /sys/bus/pci/devices/0000:01:00.0/ && echo 1 > rom && cat rom > /tmp/vbios.rom && echo 0 > rom

NVIDIA-Treiber in der Windows-VM installieren

  1. Windows-VM starten (zunächst ohne GPU-Passthrough, nur mit QXL-Grafik)
  2. VirtIO-Treiber installieren (wichtig zuerst!)
  3. GPU-Passthrough in Hardware-Einstellungen aktivieren
  4. VM neu starten → Windows erkennt neue GPU
  5. NVIDIA-Treiber von nvidia.de herunterladen und installieren

GPU Passthrough verifizieren

Im Windows Geräte-Manager:

  • NVIDIA GPU erscheint unter "Grafikkarten"
  • Kein gelbes Ausrufezeichen

CUDA-Test in Windows:
Öffnen Sie NVIDIA Control Panel → System Information → Grafik – CUDA-Cores sollten angezeigt werden.

Linux-VM:
nvidia-smi – Zeigt GPU-Status inkl. Temperatur und Auslastung

Häufige Probleme

Error 43 (NVIDIA Code 43 in Windows):
NVIDIA-Treiber erkennt Virtualisierung. Lösung: kvm=off im CPU-Argument, oder neuere NVIDIA-Treiber nutzen (ab v465 selten nötig).

VM startet nicht nach GPU-Hinzufügen:
IOMMU-Gruppen prüfen. GPU darf nicht mit anderen Geräten in einer Gruppe sein (außer GPU-Audio).

Schwarzer Bildschirm in VM:
ROM-Bar aktivieren, Primary GPU-Option prüfen, vBIOS manuell laden.

FAQ

Kann ich eine NVIDIA RTX-Karte für Passthrough nutzen?
Ja. Gaming-RTX-Karten funktionieren, aber NVIDIA hat in der Vergangenheit virtualisierungserkennung in Consumer-Karten eingebaut. Neuere Treiber (ab 2022) machen das weniger problematisch.

Ist GPU Passthrough mit einer einzigen GPU möglich?
Möglich aber komplex: Die GPU muss vor VM-Start vom Host freigegeben werden (unbind), was den Desktop-Betrieb auf dem Host unterbricht. Scripts automatisieren diesen Prozess.

Welche GPU ist am besten für Proxmox Passthrough?
AMD RX 6000/7000-Karten werden oft als unkomplizierter beschrieben (kein Code-43-Problem). NVIDIA RTX 3000/4000 funktionieren ebenfalls gut.

Fazit

GPU Passthrough in Proxmox ist technisch anspruchsvoll aber sehr leistungsfähig. Für KI/ML-Workloads und GPU-Rendering ist es die kosteneffizienteste Lösung in einer virtualisierten Umgebung.

Als Proxmox-Spezialisten in Heidelberg richten wir GPU-Passthrough und KI-Infrastrukturen für Unternehmen in Mannheim und der Rhein-Neckar-Region ein. Jetzt GPU-Infrastruktur anfragen.

Artikel teilen

War dieser Artikel hilfreich?

Dein Feedback hilft uns, bessere Inhalte zu erstellen.

Kommentar hinterlassen

Verwandte Artikel