Die Welt der Virtualisierung ist faszinierend, doch oft stößt man an Grenzen, wenn es um die Grafikleistung geht. Standardmäßige emulierte Grafiklösungen reichen für viele Anwendungen nicht aus. Hier kommt das iGPU Passthrough ins Spiel – eine Technik, die es Ihnen ermöglicht, die integrierte Grafikkarte (iGPU) Ihres Host-Systems direkt an eine virtuelle Maschine (VM) durchzureichen. Das Ergebnis? Ein natives Desktop-Erlebnis mit voller Hardware-Beschleunigung in Ihrer VM, perfekt für Anwendungen, die Grafikpower benötigen.
Für Besitzer eines Lenovo M910q Tiny PC, der sich als exzellenter, energieeffizienter Proxmox VE-Host etabliert hat, öffnet diese Anleitung die Tür zu völlig neuen Möglichkeiten. Stellen Sie sich vor, Sie können eine Windows-VM mit voller Grafikbeschleunigung für leichte Spiele, Videobearbeitung oder anspruchsvolle Büroanwendungen nutzen, ohne eine teure dedizierte Grafikkarte kaufen zu müssen. Dieser Artikel ist Ihr umfassender Leitfaden, um genau das auf Ihrem M910q unter Proxmox zu erreichen.
### Warum iGPU Passthrough und warum der Lenovo M910q?
Das Durchreichen der integrierten Grafikkarte hat mehrere überzeugende Vorteile:
* Native Leistung: Ihre VM erhält direkten Zugriff auf die Hardware der iGPU, was zu einer deutlich besseren Performance führt als bei emulierter Grafik.
* Effizienz: Sie nutzen bereits vorhandene Hardware, was sowohl Kosten als auch Energieverbrauch senkt. Der Lenovo M910q ist bekannt für seine geringe Leistungsaufnahme.
* Platzersparnis: Insbesondere bei einem kompakten Gerät wie dem M910q, das keinen Platz für eine dedizierte Grafikkarte bietet, ist die iGPU-Nutzung die einzige Option für Hardware-beschleunigte Grafik.
* Flexibilität: Verwandeln Sie Ihren Proxmox-Server in eine Workstation bei Bedarf, ohne physisch umschalten zu müssen.
Der Lenovo M910q ist dank seiner Intel Core Prozessoren der 6., 7. oder 8. Generation (z.B. i5-7500T, i7-7700T) mit leistungsstarken Intel HD Graphics (z.B. HD Graphics 630) und der Unterstützung für Intel VT-d prädestiniert für dieses Vorhaben. Seine kompakte Bauweise macht ihn zu einem idealen Kandidaten für einen Heimserver, der bei Bedarf auch grafische Aufgaben übernehmen kann.
### Grundlagen & Voraussetzungen
Bevor wir in die technischen Details eintauchen, stellen Sie sicher, dass Sie die folgenden Punkte verstehen und vorbereitet sind:
1. Was ist iGPU Passthrough?
Beim Passthrough (oder „Direct Device Assignment”) wird ein physisches PCI-Gerät (in unserem Fall die Intel HD Graphics) vom Host-System entkoppelt und exklusiv einer virtuellen Maschine zugewiesen. Der Hypervisor (Proxmox) vermittelt dabei nur noch den Zugriff, die VM sieht das Gerät quasi nativ.
2. Hardware-Voraussetzungen:
* Lenovo M910q mit einem Intel-Prozessor, der Intel VT-d (Virtualization Technology for Directed I/O) unterstützt. Dies ist bei den meisten Core i-Prozessoren der 6. Generation und neuer der Fall. VT-d ist entscheidend für das PCI Passthrough.
* Ausreichend RAM: Weisen Sie der VM genügend Arbeitsspeicher zu, um sowohl das Betriebssystem als auch die Anwendungen und einen Teil des VRAM der iGPU zu adressieren.
* Mindestens zwei Videoausgänge (optional): Wenn Sie den Proxmox Host nicht „headless” betreiben möchten und dennoch die iGPU durchreichen wollen, benötigen Sie entweder eine diskrete Grafikkarte für den Host oder müssen auf eine serielle Konsole für Proxmox zurückgreifen. Der M910q hat standardmäßig nur eine iGPU, daher ist dies ein wichtiger Punkt. Für Passthrough muss Proxmox die iGPU freigeben.
3. Software-Voraussetzungen:
* Ein aktuelles Proxmox VE System (mindestens Version 7.x, besser 8.x).
* Grundlegende Kenntnisse der Linux-Shell und der Proxmox Web-Oberfläche.
* Eine vorbereitete ISO-Datei für das Gastbetriebssystem (z.B. Windows 10/11).
### Vorbereitung des Proxmox Hosts: Der Weg zur Freigabe der iGPU
Dieser Abschnitt ist der Kern des Prozesses und erfordert präzises Vorgehen. Nehmen Sie sich Zeit für jeden Schritt.
#### Schritt 1: BIOS/UEFI-Einstellungen am Lenovo M910q anpassen
Starten Sie Ihren Lenovo M910q neu und drücken Sie wiederholt die Taste `F1` (oder `F12` gefolgt von der Auswahl des Setup-Menüs), um ins BIOS/UEFI zu gelangen.
* Navigieren Sie zu `Security` -> `Virtualization`.
* Stellen Sie sicher, dass `Intel (R) Virtualization Technology` (VT-x) und `Intel (R) VT-d Feature` (VT-d) auf `Enabled` gesetzt sind.
* Navigieren Sie zu `Display` oder `Graphics`. Hier ist es entscheidend, dass die iGPU nicht vom Host beansprucht wird. Wenn Sie eine dedizierte Grafikkarte für den Proxmox-Host verwenden (was beim M910q unwahrscheinlich ist), stellen Sie diese als primäre Grafikquelle ein. Andernfalls müssen Sie Proxmox so konfigurieren, dass es die iGPU freigibt, oder den Host headless betreiben. Oft hilft es, die Option `Primary Video Device` auf „PEG” (PCI-E Graphics) oder „Auto” zu stellen, damit die iGPU vom Host ignoriert werden kann.
Speichern Sie die Änderungen und starten Sie das System neu.
#### Schritt 2: Kernel-Module für Passthrough laden
Melden Sie sich per SSH am Proxmox Host an. Bearbeiten Sie die Datei `/etc/modules`, um die benötigten Kernel-Module beim Booten zu laden:
„`bash
echo „vfio” >> /etc/modules
echo „vfio_iommu_type1” >> /etc/modules
echo „vfio_pci” >> /etc/modules
echo „vfio_virqfd” >> /etc/modules
„`
Alternativ können Sie die Datei auch mit `nano /etc/modules` öffnen und die Zeilen manuell hinzufügen.
#### Schritt 3: Kernel-Parameter für IOMMU hinzufügen
Damit der Kernel die IOMMU (Input/Output Memory Management Unit) korrekt initialisiert, müssen wir Grub anweisen, diese Parameter zu übergeben.
Öffnen Sie die Grub-Konfigurationsdatei:
„`bash
nano /etc/default/grub
„`
Suchen Sie die Zeile, die mit `GRUB_CMDLINE_LINUX_DEFAULT=` beginnt. Fügen Sie `intel_iommu=on iommu=pt` hinzu. Die Zeile sollte dann in etwa so aussehen:
„`bash
GRUB_CMDLINE_LINUX_DEFAULT=”quiet intel_iommu=on iommu=pt”
„`
Speichern Sie die Datei (`Ctrl+O`, dann `Enter`) und beenden Sie den Editor (`Ctrl+X`).
Aktualisieren Sie anschließend Grub:
„`bash
update-grub
„`
#### Schritt 4: Identifizierung und Blacklisting der iGPU vom Host
Wir müssen Proxmox mitteilen, dass es die Intel HD Graphics nicht verwenden soll, damit sie für Passthrough verfügbar ist.
Zuerst identifizieren wir die PCI-ID der iGPU und ihres zugehörigen Audio-Controllers:
„`bash
lspci -nnk | grep -i vga -A3
„`
Die Ausgabe wird ähnlich wie folgt aussehen:
„`
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 630 [8086:591b] (rev 04)
Subsystem: Lenovo Device [17aa:224e]
Kernel driver in use: i915
Kernel modules: i915
„`
Merken Sie sich die ID in den eckigen Klammern, z.B. `8086:591b`. Das ist die ID Ihrer iGPU. Möglicherweise finden Sie auch einen Audio-Controller, der an dieselbe iGPU gekoppelt ist (oft 8086:a170 oder ähnlich). Es ist ratsam, diesen gleich mit durchzureichen, um Audioausgabe in der VM zu ermöglichen. Suchen Sie nach „Audio device” im selben IOMMU-Block.
„`bash
lspci -nnk | grep -i audio -A3
„`
Sie finden wahrscheinlich etwas wie:
„`
00:1f.3 Audio device [0403]: Intel Corporation 200 Series PCH HD Audio [8086:a170] (rev 31)
Subsystem: Lenovo Device [17aa:224e]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
„`
Hier wäre die Audio-ID `8086:a170`.
Erstellen Sie eine Datei, um die iGPU und den Audio-Controller für Proxmox zu blacklisten und dem `vfio-pci`-Treiber zuzuweisen:
„`bash
echo „blacklist i915” >> /etc/modprobe.d/blacklist.conf
echo „blacklist snd_hda_intel” >> /etc/modprobe.d/blacklist.conf
echo „options vfio-pci ids=8086:591b,8086:a170 disable_vga=1” >> /etc/modprobe.d/vfio.conf
„`
Passen Sie die IDs `8086:591b` und `8086:a170` an die von Ihnen ermittelten IDs an! `disable_vga=1` ist oft hilfreich für iGPUs, um Probleme mit dem BIOS der iGPU zu vermeiden.
#### Schritt 5: Initramfs aktualisieren
Damit die Änderungen wirksam werden, muss das Initial-RAM-Dateisystem neu erstellt werden:
„`bash
update-initramfs -u -k all
„`
#### Schritt 6: Neustart des Proxmox Hosts
Dies ist ein kritischer Schritt. Nach all diesen Änderungen ist ein Neustart zwingend erforderlich:
„`bash
reboot
„`
#### Schritt 7: Verifizierung des Passthrough-Status
Nach dem Neustart überprüfen wir, ob alles geklappt hat.
* Überprüfen Sie die IOMMU-Gruppen:
„`bash
dmesg | grep -e DMAR -e IOMMU
„`
Sie sollten Meldungen sehen, die besagen, dass IOMMU aktiviert ist.
* Überprüfen Sie, ob die iGPU dem `vfio-pci`-Treiber zugewiesen wurde:
„`bash
lspci -nnk | grep -i vga -A3
„`
Anstelle von `Kernel driver in use: i915` sollte nun `Kernel driver in use: vfio-pci` stehen. Wenn dies der Fall ist, herzlichen Glückwunsch! Die iGPU ist bereit für Passthrough.
### Einrichtung der Virtuellen Maschine (VM)
Jetzt, da der Proxmox Host vorbereitet ist, können wir die VM einrichten.
#### Schritt 1: Neue VM erstellen (oder bestehende anpassen)
Erstellen Sie eine neue VM über die Proxmox Web-Oberfläche.
* **Betriebssystem**: Wählen Sie Ihr gewünschtes OS (z.B. Windows 10/11) und laden Sie die ISO-Datei hoch.
* **System**:
* **BIOS**: Wählen Sie `OVMF (UEFI)`. Dies ist essentiell für iGPU Passthrough, da moderne GPUs ein UEFI-BIOS benötigen.
* **Maschine**: `q35` (empfohlen für PCI Passthrough).
* **SCSI Controller**: `VirtIO SCSI single` ist eine gute Wahl für Performance.
* **CPU**:
* **Typ**: `host`. Dies ist wichtig, damit die VM Zugriff auf alle CPU-Funktionen (inkl. VT-x/VT-d, wenn vom Host durchgereicht) hat und die iGPU korrekt angesprochen werden kann.
* Weisen Sie ausreichend Kerne/Threads zu.
* **Memory**: Geben Sie der VM genügend RAM (mindestens 4GB, besser 8GB+ für Windows).
* **Netzwerk**: `VirtIO (paravirtualisiert)` für bessere Performance.
* **Grafik**: Wählen Sie `none` oder `vmware`. Die iGPU wird die Grafik übernehmen, die Standard-Emulation wird nicht benötigt.
Fahren Sie mit der Erstellung der VM fort, aber starten Sie sie noch nicht.
#### Schritt 2: PCI-Geräte (iGPU und Audio) zur VM hinzufügen
Navigieren Sie in der Proxmox Web-Oberfläche zu den Hardware-Einstellungen Ihrer neuen VM.
* Klicken Sie auf `Hinzufügen` -> `PCI-Gerät`.
* Wählen Sie im Dropdown-Menü Ihre Intel HD Graphics (die Sie zuvor per `lspci` identifiziert haben, z.B. `00:02.0`).
* Setzen Sie ein Häkchen bei `Alle PCI-Funktionen`.
* Setzen Sie ein Häkchen bei `Primäres GPU` (sehr wichtig für die Boot-Ausgabe).
* Die Option `ROM-Bar` kann manchmal helfen, ist aber bei iGPUs oft nicht nötig. Probieren Sie es zuerst ohne und aktivieren Sie es, wenn Sie Probleme haben.
* `x-vga`: Kann manchmal nötig sein, versuchen Sie es zuerst ohne.
* Fügen Sie erneut ein `PCI-Gerät` hinzu und wählen Sie den Intel Audio Controller, den Sie identifiziert haben (z.B. `00:1f.3`).
* Auch hier `Alle PCI-Funktionen` aktivieren.
#### Schritt 3: Weitere VM-Konfigurationen (Optional, aber empfohlen)
Um das gefürchtete „Code 43”-Problem unter Windows zu vermeiden (Treiberfehler, der darauf hindeutet, dass der Hypervisor erkannt wurde), können Sie die VM-Konfigurationsdatei direkt bearbeiten.
Öffnen Sie die VM-Konfigurationsdatei auf dem Proxmox Host (ersetzen Sie `VMID` durch die ID Ihrer VM):
„`bash
nano /etc/pve/qemu-server/VMID.conf
„`
Fügen Sie folgende Zeilen hinzu oder passen Sie sie an:
„`ini
args: -cpu ‘host,kvm=off’
hidden=1
„`
* `hidden=1` verbirgt die Information, dass die VM auf einem Hypervisor läuft.
* `args: -cpu ‘host,kvm=off’` verhindert, dass die VM dem Gastbetriebssystem mitteilt, dass sie unter KVM läuft.
Speichern und schließen Sie die Datei.
#### Schritt 4: Installation des Gastbetriebssystems und der Treiber
Starten Sie die VM. Sie sollten nun die Boot-Ausgabe der VM direkt über den an den M910q angeschlossenen Monitor sehen (falls `Primäres GPU` korrekt gesetzt ist). Installieren Sie das Gastbetriebssystem wie gewohnt.
Nach der Installation des Betriebssystems laden Sie die neuesten Intel HD Graphics-Treiber von der Intel-Website oder der Lenovo-Supportseite für Ihr spezifisches M910q-Modell herunter und installieren Sie diese in der VM. Nach einem Neustart sollte die iGPU voll funktionsfähig sein und die volle Hardware-Beschleunigung in Ihrer VM bereitstehen.
### Troubleshooting & Best Practices
Auch bei sorgfältiger Anleitung kann es zu Problemen kommen. Hier sind die häufigsten Hürden und deren Lösungen:
* Kein Bild in der VM / Schwarzer Bildschirm:
* Überprüfen Sie die BIOS-Einstellungen (VT-d, primäres Display).
* Stellen Sie sicher, dass die iGPU korrekt geblacklistet und dem `vfio-pci`-Treiber zugewiesen wurde (Schritt 7 der Host-Vorbereitung).
* Haben Sie `Primäres GPU` in den VM-Hardware-Einstellungen aktiviert?
* Versuchen Sie, die `ROM-Bar` oder `x-vga` Option in den PCI-Geräte-Einstellungen der VM zu aktivieren.
* Manchmal kann es helfen, die Proxmox Boot-Parameter um `video=efifb:off` zu ergänzen, um sicherzustellen, dass Proxmox die iGPU nicht für die eigene Konsolenausgabe beansprucht, auch wenn es geblacklistet ist. Fügen Sie dies zu `GRUB_CMDLINE_LINUX_DEFAULT` hinzu.
* Windows „Code 43” Fehler im Geräte-Manager:
* Dies ist der häufigste Fehler und deutet darauf hin, dass die Hypervisor-Erkennung nicht umgangen wurde. Stellen Sie sicher, dass `hidden=1` und `args: -cpu ‘host,kvm=off’` in der VM-Konfigurationsdatei korrekt gesetzt sind (Schritt 3 der VM-Einrichtung).
* Stellen Sie sicher, dass der CPU-Typ auf `host` gesetzt ist.
* Stellen Sie sicher, dass das BIOS der VM auf `OVMF (UEFI)` steht.
* Performance-Probleme in der VM:
* Vergewissern Sie sich, dass die VirtIO-Treiber für Festplatte und Netzwerk in der VM installiert sind.
* Weisen Sie der VM genügend CPU-Kerne und RAM zu.
* Stellen Sie sicher, dass der CPU-Typ auf `host` gesetzt ist.
* Audio funktioniert nicht:
* Stellen Sie sicher, dass der zugehörige Intel Audio Controller (z.B. `8086:a170`) ebenfalls per Passthrough an die VM durchgereicht wurde.
* Installieren Sie die Intel Audio-Treiber im Gastbetriebssystem.
* Best Practices:
* Erstellen Sie vor jedem größeren Schritt ein Backup Ihrer Proxmox-Konfiguration oder zumindest eine Momentaufnahme (Snapshot) Ihrer VM.
* Verwenden Sie immer die neuesten Proxmox-Updates und Gasttreiber.
* Experimentieren Sie mit den `ROM-Bar` und `x-vga` Optionen in der VM-Hardware, da iGPU Passthrough manchmal spezifische Anpassungen erfordert.
### Fazit
Das erfolgreiche Durchreichen Ihrer Intel HD Graphics an eine virtuelle Maschine auf Ihrem Lenovo M910q unter Proxmox VE ist ein Projekt, das etwas Geduld und Präzision erfordert, aber die Mühe lohnt sich definitiv. Sie verwandeln Ihren kompakten Mini-PC in eine flexible, leistungsstarke Plattform, die nicht nur Serverdienste hostet, sondern auch grafisch anspruchsvolle Aufgaben in virtualisierten Umgebungen bewältigen kann.
Ob für einen Medien-PC, eine leichte Gaming-Maschine oder eine Produktivitäts-Workstation – mit dieser Anleitung haben Sie die definitive Ressource zur Hand, um das volle Potenzial Ihres Lenovo M910q auszuschöpfen. Genießen Sie die neue Freiheit und die native Grafikpower in Ihren VMs!