Proxmox 8.2.4 VirGL GPU

micha79

Member
Dec 21, 2022
30
1
13
Hallo zusammen,

ich würde gerne einer VM eine VirGL GPU zuweisen.
Im Host ist keine gesonderte GKarte eingebaut, sondern als CPU ein Core i5-11400 Prozessor.

Die CPU hat ebenfalls als GPU eine Intel UHD Graphics 730 Gkarte mit OpenGL 4.5 Unterstützung verbaut.

Wenn ich die VM nun starte, kommt es zu dieser Meldung:
no DRM render node detected (/dev/dri/renderD*), no GPU? - needed for 'virtio-gl' display

Kann das so nicht funktionieren, und ich müsste als PCI Device als Raw Device die Gkarte durchreichen?

Vielen Dank für eure Hilfe.

Gruß
Michael
 
Hallo @micha79,

die Fehlermeldung "no DRM render node detected" deutet darauf hin, dass der Proxmox-Host selbst die iGPU (Intel UHD 730) nicht korrekt anspricht bzw. keinen Render-Node unter /dev/dri/ bereitstellt.

Für VirGL ("virtio-gl") ist es zwingend erforderlich, dass der Treiber auf dem Host läuft und 3D-Beschleunigung bereitstellt. Das ist nicht dasselbe wie PCI-Passthrough ("Raw Device").

Bitte prüfe auf der Host-Konsole, ob das Verzeichnis existiert:ls -l /dev/dri

Sollte das leer sein oder nicht existieren, musst du sicherstellen, dass der i915-Treiber auf dem Host geladen ist. Falls du die GPU hingegen exklusiv an die VM durchreichen möchtest (Passthrough), darfst du nicht "virtio-gl" als Display wählen, sondern musst das PCI-Gerät hinzufügen; dann verliert der Host aber den Zugriff darauf.
 
@Bu66as
Danke für deine schnelle Rückmeldung.
Das Thema scheint ja wirklich nicht ganz trivial zu sein.

Im Verzeichnis /dev/dri liegen keine Files.

Passthrough der iGPU wird keinen Sinn machen. Ich denke, dann müsste ich noch eine gesonderte GKarte einbauen.
Wie ich gesehen hatte, ist ein durchreichen auch abhängig von dem Mainboard bzw. den BIOS Einstellungen.

Ich denke ich muss mich noch etwas mehr einlesen....
 
@micha79,

meine Recherche bestätigt den Verdacht: Für die 11. Generation (Rocket Lake) wie deinen i5-11400 benötigt der Treiber i915 zwingend proprietäre Firmware-Dateien (GuC/HuC), um den Render-Node zu initialisieren. Fehlen diese, bricht der Treiber beim Laden ab und /dev/dri bleibt leer.

Hier ist der Lösungsweg:

1. Firmware nachinstallierenDa Proxmox 8 auf Debian 12 basiert, liegen diese Treiber im Bereich "non-free-firmware". Stelle sicher, dass deine /etc/apt/sources.list diesen Bereich enthält (z. B. hinter main contrib noch non-free-firmware anfügen).
Führe dann folgende Befehle aus:apt updateapt install firmware-misc-nonfree intel-media-va-driver-non-free

2. Kernel-Parameter setzenDamit die Firmware korrekt geladen wird, muss dies dem Kernel oft explizit mitgeteilt werden. Bearbeite die Datei /etc/default/grub und füge in der Zeile GRUB_CMDLINE_LINUX_DEFAULT den Parameter i915.enable_guc=2 hinzu.
Das sieht dann z. B. so aus:GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on i915.enable_guc=2"

3. System aktualisierenÜbernimm die Änderungen und starte neu:update-grubupdate-initramfs -ureboot
Nach dem Neustart sollte ls -l /dev/dri nun card0 und renderD128 anzeigen.

How to Enable GPU Passthrough in Proxmox VE | Full Host Setup Guide (AMD & Intel) Dieses Video zeigt ab Minute 04:30 relevante Schritte zur Überprüfung der IOMMU-Gruppen und Treiber-Initialisierung bei Intel-Systemen, was auch für die VirGL-Einrichtung entscheidend ist.