[SOLVED] PVE 9.1.4 / NVIDIA Tesla T4 / vGPU 19.3 Installation

Raudi

New Member
Dec 29, 2025
28
6
3
Hallo,

ich bin gerade dabei einen meiner VMware Hosts, die mit vSphere 8.0.3 schon die vGPU genutzt haben, unter Proxmox neu zu installieren, um das ganze hier mal zu testen.

Dabei richte ich mich nach dieser Anleitung: NVIDIA vGPU on Proxmox VE

Erstes Problem könnte schon sein, ich nutze die aktuellste Proxmox VE Version 9.1.4, diese steht noch nicht in der Anleitung, dort geht es bis Version 9.0.11 - Evtl. ist das ja schon die Lösung für mein Problem, aber oft funktionieren ja auch neuere Versionen nur noch nicht so ausführlich getestet...

Also ich habe:

pve-nvidia-vgpu-helper setup

ausgeführt und nach einem Neustart wurde bei lspci auch die NVIDIA Karte angezeigt.

af:00.0 3D controller: NVIDIA Corporation TU104GL [Tesla T4] (rev a1)

Dann über das NVIDIA Lizenz-Portal die Datei

NVIDIA-GRID-Linux-KVM-580.105.06-580.105.08-581.80.zip

heruntergeladen und entpackt, daraus die Datei

NVIDIA-Linux-x86_64-580.105.06-vgpu-kvm.run

aus dem Host_Drivers Verzeichnis auf den Proxmox Host in den /tmp Ordner übertragen. Und wie in der Anleitung beschrieben:

chmod +x NVIDIA-Linux-x86_64-580.105.06-vgpu-kvm.run
./NVIDIA-Linux-x86_64-580.105.06-vgpu-kvm.run --dkms


Aber dann kommt diese Meldung und die Installation bricht ab:

ERROR: Unable to find the development tool `cc` in your path; please make sure that you have the package 'gcc' installed. If gcc is installed on your system, then please check that `cc` is in your PATH.

Bevor ich hier nun beginne zu experimentieren und versuche den "gcc" zu installieren, vielleicht hat ja schon jemand Erfahrungen in dem Bereich und hat da ein Tipp für mich.

Viele Grüße
Stefan
 
Naja, in der Anleitung auf der NVIDIA Seite steht noch in den Voraussetzungen:

The following packages are installed on the Linux KVM server:
  • The x86_64 build of the GNU Compiler Collection (GCC)
  • Linux kernel headers
Virtual GPU Software User Guide

Headers sind installiert:

# apt list --installed | grep header
proxmox-default-headers/stable,now 2.0.1 all [installed]
proxmox-headers-6.17.4-1-pve/stable,now 6.17.4-1 amd64 [installed,automatic]
proxmox-headers-6.17/stable,now 6.17.4-1 all [installed]


Nur der gcc scheinbar unvollständig, an anderer Stelle im Forum hat jemand geschrieben, dass man build-essential installieren solle, dann möchte er:

# apt install build-essential
Installing:
build-essential

Installing dependencies:
cpp g++-14-x86-64-linux-gnu libasan8 libitm1 libtsan2
cpp-14 g++-x86-64-linux-gnu libcc1-0 liblsan0 libubsan1
cpp-14-x86-64-linux-gnu gcc libgcc-14-dev libmpc3
cpp-x86-64-linux-gnu gcc-14 libgomp1 libmpfr6
g++ gcc-14-x86-64-linux-gnu libhwasan0 libquadmath0
g++-14 gcc-x86-64-linux-gnu libisl23 libstdc++-14-dev

Suggested packages:
cpp-doc g++-multilib gcc-multilib automake bison gcc-14-multilib
gcc-14-locales g++-14-multilib manpages-dev libtool gdb gdb-x86-64-linux-gnu
cpp-14-doc gcc-14-doc autoconf flex gcc-doc libstdc++-14-doc

Summary:
Upgrading: 0, Installing: 27, Removing: 0, Not Upgrading: 0
Download size: 60.9 MB
Space needed: 221 MB / 90.0 GB available


Müsste dann vermutlich in der vGPU Anleitung noch mal ergänzt werden...
 
Okay, vermutlich doch falscher Kernel... Anbei das Installations-Log mit den ganzen Fehlern.

Oder habe ich da noch andere Möglichkeiten?
 

Attachments

So, ich denke ich werde bei uns erstmal empfehlen weiterhin auf VMware zu setzen, denn das Thema vGPU ist ja sowas von ein Gebastel...
Ich wollte noch mal mit der Version 9.0.11 und Kernel 6.14.11-4-pve testen, so wie in der Anleitung angegeben, aber wie kommt man dahin?

Nach längerem Suchen habe ich einen Download für eine 9.0 ISO gefunden, in den Downloads gibt es ja erstmal nur 8.4 und 9.1. Also Version 9.0 installiert, ist eine 9.0.3. Nur wie kann ich nun auf die gewünschte Version gehen?

Starte ich ein Update so möchte er wieder den Kernel 6.17 und den Manager 9.1.4 installieren.

Dann habe ich die beiden geforderten Versionen erstmal manuell installiert. Dann das Kommando:

pve-nvidia-vgpu-helper setup

Und was passiert dabei? Er installiert den Kernel 6.17! Was soll das?

Also bei jedem Boot im Grub manuell den 6.14.11 ausgewählt. So konnte ich dann auch die Treiber installieren. Nur lasse ich ihn automatisch booten, dann sind die Treiber wieder nicht geladen, klar passen nicht zum Kernel...

Aber auch so scheint es nicht zu funktionieren, wenn ich den 6.14.11 Kernel boote, dann sind die Treiber aufgelistet aber ich sehe keine vGPU Funktionen, nur das PCI Device ist da.

Evtl. ist der Grund, dass da noch andere Treiber geladen sind:

# lspci -d 10de: -nnk
af:00.0 3D controller [0302]: NVIDIA Corporation TU104GL [Tesla T4] [10de:1eb8] (rev a1)
Subsystem: NVIDIA Corporation Device [10de:12a2]
Kernel modules: nvidiafb, nouveau, nvidia_vgpu_vfio, nvidia

# nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.


Dann habe ich noch mal gesucht und dieses gefunden:

# create this file to prevent other drivers from interfering with NVIDIA drivers:
nano /etc/modprobe.d/blacklist-videos.conf

# add these 3 lines to it:
blacklist nvidiafb
blacklist nouveau
options nouveau modeset=0

# save by pressing CTRL-O
# exit by pressing CRTL-X

update-initramfs -u -k all
reboot now


Er hat es dann für alle 3 Kernel aktualisiert, aber nach einem Reboot sind die Treiber immer noch geladen. Oder muss man diese Datei vor dem kompilieren der Treiber erstellen?

Dann habe ich noch die Datei /etc/modprobe.d/pve-blacklist.conf gefunden, darin steht:

# This file contains a list of modules which are not supported by Proxmox VE

# nvidiafb see bugreport https://bugzilla.proxmox.com/show_bug.cgi?id=701
blacklist nvidiafb


Also eigentlich war der Treiber nvidiafb dann schon immer auf der Liste, aber warum wurde der trotzdem immer geladen? Gleiches mit dem anderen, da gibt es eine /etc/modprobe.d/block-nouveau.conf Datei mit dem Inhalt:

blacklist nouveau

Ich werde das ganze System wieder platt machen und wieder die 9.1.4 installieren, wenn es dann eine funktionierende vGPU Version dafür gibt, werde ich noch mal testen...

Und bitte prüft und überarbeitet die Installations-Anleitung. Evtl. auch in Bezug auf "wie verhindere ich die Aktualisierung der Kernkomponenten damit es eine supportete Umgebung bleibt".
 
In das gleiche Thema bin ich auch als Umsteiger von vsphere 8.0.3 auf PVE 9.1 gerasselt...nun schaue ich täglich bei nvidia, ob da endlich ein aktualisierter Host-Treiber erscheint (https://ui.licensing.nvidia.com/software?filterplatformName=Ubuntu KVM) . Stand heute leider noch immer nicht :rolleyes:.

Zum Glück haben wir hier 2 Grid-Karten in 2 hypervisor-Hosts verbaut und bisher nur eine VM, die die Grid-Karte nutzt. Und die VM bleibt so lange auf dem vsphere Host, bis Nvidia den Host-Treiber auch für den PVE 9.1 Kernel releast :cool:.
 
Last edited:
Ich bin mir gar nicht mal so sicher, dass es überhaupt an den Treibern liegt, lt. diesen Infos hier: NVIDIA driver compatibility with Linux kernel 6.17 (Debian Trixie)

Sollte der Kernel 6.17 mit den NVIDIA Treibern ab 580 kompatibel sein.

Okay, dort geht es um die "normalen" Treiber, nicht die vGPU Treiber, aber ist das so ausschlaggebend? Ich vermute eher, dass im Proxmox Kernel irgendwas anders ist, als im "normalen" Kernel und dass da deswegen etwas nicht zusammen passt.
 
Es sollte theoretisch möglich sein, den Kernel auf 6.14 zu "pinnen", damit er sich nicht aktualisiert. Was das aber so mit Deinem System mittel- bzw. langfristig anstellt, weiß ich nicht ;).

Und ich denke, dass es definitiv ein Problem zwischen dem Kernel 6.17 und den kommerziellen vGPU Treibern ist. Ist ja gern mal so, dass das freie Zeug weiter ist als das kommerzielle, die Community findet die bugs schon :p.
 
Ja, das mit dem pinnen sagte mir ein Kollege auch, aber professionell wäre es, wenn Proxmox hier schreiben würde, wie das funktioniert, es ist nicht jeder ein Linux-Experte. Dazu kommt ja auch noch, dass auch der "pve-manager" eine bestimmte Version haben soll, müsste der vermutlich auch angepinnt werden...
 
Ich verstehe es nicht, ich habe eigentlich alles so gemacht wie in der Doku angegeben, aber der Treiber wird nicht geladen... Ein recht blankes neu installiertes System mit aktuellen Updates und dann folgendes:

apt install build-essential
pve-nvidia-vgpu-helper setup


Und:

apt install shim-signed grub-efi-amd64-signed mokutil

Was aber nichts installiert hat.

Dann

./NVIDIA-Linux-x86_64-580.126.08-vgpu-kvm.run --dkms --skip-module-load (wegen secure boot)

Installation meldet:

WARNING: The Nouveau kernel driver is currently in use by your system. This driver is incompatible with the NVIDIA driver, and must be disabled before proceeding.

Der Installer passt dann Dateien an und erstellt eine neue initramfs.

Dann reboot und Installer erneut gestartet, läuft sauber durch, ich wähle dass die Treiber nicht signiert werden sollen (default) und dann kommt eine Frage ob die Treiber bei DKMS "registriert" werden sollen. Ich habe den Eindruck, hier muss man auch "nein" wählen, aber ich hatte "ja" gewählt, denn bei dem späteren Kommando:

dkms install -m nvidia -v 580.126.08 --force

Wurden die Treiber erstmal gelöscht und dann neu installiert... Also hoffe ich mal dass es kein Problem war.

Dieses Kommando brauche ich vermutlich nicht, denn meine T4 (Turing) ist älter als Ampere und das Kommando soll erst ab Ampere und neuer nötig sein:

systemctl enable --now pve-nvidia-sriov@ALL.service

Aber nach einem Reboot sieht das wieder so aus:

# nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

# lspci -d 10de: -nnk
af:00.0 3D controller [0302]: NVIDIA Corporation TU104GL [Tesla T4] [10de:1eb8] (rev a1)
Subsystem: NVIDIA Corporation Device [10de:12a2]
Kernel modules: nvidiafb, nouveau, nvidia_vgpu_vfio, nvidia

# lspci -d 10de:
af:00.0 3D controller: NVIDIA Corporation TU104GL [Tesla T4] (rev a1)


Treiber nicht geladen, also wie kriege ich den NVIDIA Treiber geladen? Ist Secure-Boot ein Problem? Dabei habe ich eigentlich das gemacht was weiter unten in der Anleitung steht... Nur ich habe nichts von dem gemacht, was auf der separaten Secure-Boot Anleitung steht, da ja eigentlich Secure-Boot schon von Haus aus aktiv ist...

Evtl. muss ich dieses machen: Using DKMS with Secure Boot

Aber heute nicht mehr, für heute reicht es erstmal...
 
Last edited:
Danke für den Input. Ich habe Deinen Post zum Anlass genommen, unsere Nvidia L4 heute am Proxmox 9.1.4 mit dem neuen Treiber zu versuchen, und es hat alles so geklappt, wie es im Proxmox wiki dokumentiert ist. nvidia-smi gibt den korrekten output aus, den ich von ESXi gewohnt bin, besser war :D:

1768470920854.png

Könnte mir vorstellen, dass es bei Dir nicht klappt, weil noch der nouveau herumgeistert. Hast Du ihn wie beschrieben "geblacklistet"?
 
Könnte mir vorstellen, dass es bei Dir nicht klappt, weil noch der nouveau herumgeistert. Hast Du ihn wie beschrieben "geblacklistet"?
Gib mal den Befehl:

lspci -d 10de: -nnk

bei dir ein, ich denke da wird der nouveau auch noch gelistet...

Auf meinem anderen Server, auf dem noch nichts installiert ist, sieht das so aus:

Subsystem: NVIDIA Corporation Device [10de:12a2]
Kernel driver in use: nouveau
Kernel modules: nvidiafb, nouveau


Daher denke ich, dass es korrekter weise mit installierten NVIDA Treibern dann so aussehen sollte:

Subsystem: NVIDIA Corporation Device [10de:12a2]
Kernel driver in use: nvidia
Kernel modules: nvidiafb, nouveau, nvidia_vgpu_vfio, nvidia


Kernel Module sind da, aber der falsche Treiber ist nicht in Verwendung, nur der korrekte ist da.

Nutze du "Secure Boot"? Wenn nicht, dann ist das vermutlich der Grund, warum es bei dir schon funktioniert. Wie gesagt, ich denke ich muss da noch die Punkte ausführen um das DKMS für Secure Boot vorzubereiten... Werde ich heute Abend testen. Und Secure Boot möchte ich in der heutigen zeit schon aktiv lassen, muss ja funktionieren...
 
Ich nutze wohl secure boot, denn ich habe die hosts mit 9.1.4 installiert.

lspci -d 10de: -nnk ist evtl das falsche Kommando. Ich habe lsmod verwendet. Und vor dem Treiber blacklisting war der nouveau Treiber eben noch gelistet.
 
Nein lsmod listet den Treiber hier auch nicht mehr auf, aber auch nichts mit nvidia. Auf dem anderen Server (wo noch nichts installiert ist) taucht der nouveau Treiber noch auf...
 
Habe noch was im Log gefunden:

Jan 14 22:57:51 pve02 nvidia-vgpud[1288]: error: failed to allocate client: 59
Jan 14 22:57:51 pve02 nvidia-vgpud[1288]: error: failed to read pGPU information: 9
Jan 14 22:57:51 pve02 nvidia-vgpud[1288]: error: failed to send vGPU configuration info to RM: 9
Jan 14 22:57:51 pve02 systemd[1]: nvidia-vgpud.service: Deactivated successfully.
Jan 14 22:57:51 pve02 systemd[1]: Finished nvidia-vgpud.service - NVIDIA vGPU Daemon.
Jan 14 22:57:51 pve02 systemd[1]: Starting nvidia-vgpu-mgr.service - NVIDIA vGPU Manager Daemon...
Jan 14 22:57:51 pve02 systemd[1]: Started nvidia-vgpu-mgr.service - NVIDIA vGPU Manager Daemon.
Jan 14 22:57:52 pve02 nvidia-vgpu-mgr[1426]: error: vmiop_env_log: Failed to initialize RM client: 0x59
Jan 14 22:57:52 pve02 systemd[1]: nvidia-vgpu-mgr.service: Main process exited, code=exited, status=1/FAILURE
Jan 14 22:57:52 pve02 systemd[1]: nvidia-vgpu-mgr.service: Failed with result 'exit-code'.


Muss ich später noch mal genauer testen/recherchieren...

Hier identische Meldungen: Nvidia GPU RTX A4000 vgpu service not starting
Nur der Teil:

modprobe[837]: ERROR: could not insert 'nvidia': Key was rejected by service

taucht bei mir nicht auf, werde aber trotzdem heute Abend mal in die Richtung recherchieren.

Hier aber auch die gleichen meldungen: Configuring NVidia GPU card shows error in ESX CLI and host logs

Da steht dann: Incorrect driver version was causing this behavior. For obtaining correct drivers for your GPU please contact NVidia.

Also meine T4 steht noch auf der Liste für due vGPU Treiber Version 19.4.
 
Last edited:
Es war definitiv Secure Boot:

# insmod /lib/modules/6.17.4-2-pve/updates/dkms/nvidia.ko
insmod: ERROR: could not insert module /lib/modules/6.17.4-2-pve/updates/dkms/nvidia.ko: Key was rejected by service


Nach diesem Kommando:

mokutil --import /var/lib/dkms/mok.pub

Und dann reboot mit start vom MOK Admin Interface und einrichten des Key's sieht das ganze wie erwartet aus:

# lspci -d 10de: -nnk
af:00.0 3D controller [0302]: NVIDIA Corporation TU104GL [Tesla T4] [10de:1eb8] (rev a1)
Subsystem: NVIDIA Corporation Device [10de:12a2]
Kernel driver in use: nvidia
Kernel modules: nvidiafb, nouveau, nvidia_vgpu_vfio, nvidia

# nvidia-smi
Thu Jan 15 18:30:13 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.126.08 Driver Version: 580.126.08 CUDA Version: N/A |
+-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 Tesla T4 On | 00000000:AF:00.0 Off | Off |
| N/A 72C P8 22W / 70W | 98MiB / 16384MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| No running processes found |
+-----------------------------------------------------------------------------------------+
 
Hier noch mal eine Zusammenfassung der Installation auf einem Secure Boot aktivierten System, welches mit PVE 9.1 installiert und auf aktuellem Patchlevel gebraucht wurde...

Kernel: 6.17.4-2-pve
PVE-Manager: 9.1.4
NVIDIA vGPU Treiber: 580.126.08

Als erstes diese Kommandos eingeben und alle Module installieren lassen:

root@pve01:~# apt install build-essential
root@pve01:~# apt install shim-signed grub-efi-amd64-signed mokutil
root@pve01:~# pve-nvidia-vgpu-helper setup

root@pve01:~# reboot


Den Reboot sollte man schon machen, damit der Treiber, der in die Blacklist aufgenommen wurde, bei der Installation nicht mehr geladen ist. (Sonst kommen irritierende Meldungen.)

Dann folgendes:

root@pve:/home# chmod +x NVIDIA-Linux-x86_64-580.126.08-vgpu-kvm.run

root@pve:/home# ./NVIDIA-Linux-x86_64-580.126.08-vgpu-kvm.run --dkms --skip-module-load
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 580.126.08..........................................

(Treiber nicht signieren aber bei DKMS registrieren lassen)

root@pve:/home# dkms status
nvidia/580.126.08, 6.17.4-2-pve, x86_64: installed

root@pve:/home# dkms build -m nvidia -v 580.126.08 --force
Sign command: /lib/modules/6.17.4-2-pve/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub
Certificate or key are missing, generating self signed certificate for MOK...

Building module(s)........ done.
Signing module /var/lib/dkms/nvidia/580.126.08/build/nvidia.ko
Signing module /var/lib/dkms/nvidia/580.126.08/build/nvidia-vgpu-vfio.ko

root@pve:/home# dkms install -m nvidia -v 580.126.08 --force
Module nvidia/580.126.08 for kernel 6.17.4-2-pve (x86_64):
Before uninstall, this module version was ACTIVE on this kernel.
Deleting /lib/modules/6.17.4-2-pve/updates/dkms/nvidia.ko
Deleting /lib/modules/6.17.4-2-pve/updates/dkms/nvidia-vgpu-vfio.ko
Running depmod... done.

Installing /lib/modules/6.17.4-2-pve/updates/dkms/nvidia.ko
Installing /lib/modules/6.17.4-2-pve/updates/dkms/nvidia-vgpu-vfio.ko
Running depmod... done.

root@pve:/home# mokutil --import /var/lib/dkms/mok.pub
input password:
input password again:

root@pve:/home# reboot


Am besten schon vor dem Reboot eine Verbindung via ILO,iDRAC,IPMI etc. zur Konsole herstellen da die Abfrage zum Installieren des Zertifikats nur 10 Sekunden da steht, dann dieser Anleitung folgen:

https://pve.proxmox.com/wiki/Secure_Boot_Setup#Using_DKMS_with_Secure_Boot

Zuletzt unter Datacenter in die Resource Mappings und das Gerät dort hinzufügen:

1768507128148.png

Nun kann die vGPU einer VM als Primäre GPU hinzugefügt werden:

1768507237995.png

Und Live Migration zwischen den Hosts funktioniert auch.

Eigentlich gar nicht so schwierig, wenn man erstmal herausgefunden hat wie.

Ich bin zufrieden...
 
  • Like
Reactions: MarkusKo