{ "meta": { "title": "NVIDIA auf dem Host installieren | ProxMenux-Dokumentation", "description": "Proprietäre NVIDIA-Treiber mit ProxMenux auf Proxmox VE installieren: GPU-Filterung, Build- und DKMS-Prüfungen, Persistenzdienst, optionaler NVENC-Patch und Bibliotheksaktualisierung in LXC." }, "header": { "title": "NVIDIA-Treiber auf dem Host installieren", "description": "NVIDIA auf dem Proxmox-VE-Host installieren. Filtert gepflegte Zweige nach GPU-PCI-ID, prüft den Build, nutzt DKMS, verwaltet nouveau und installiert den Persistenzdienst. Kann außerdem Bibliotheken in LXC mit NVIDIA-Zugriff aktualisieren.", "section": "Hardware: GPUs und Coral-TPU" }, "intro": { "title": "Funktionsweise", "body": "ProxMenux erkennt die GPU und bietet gepflegte NVIDIA-Zweige an, die ihre PCI-ID aufführen. Es sperrt nouveau, lädt den offiziellen .run-Installer, nutzt DKMS, installiert nvidia-persistenced, udev-Regeln und das NVIDIA Container Toolkit und bietet einen optionalen NVENC-Patch an. Build-Prüfungen beziehen sich auf den laufenden Kernel; erfolgreiche Kompilierung garantiert nicht, dass jede App funktioniert. Vorhandenen NVIDIA-LXC wird eine Aktualisierung der Userspace-Bibliotheken angeboten, versionsgleich außer unter Arch." }, "who": { "heading": "Für wen ist das?", "body": "Für GPU-beschleunigte Video- oder Rechenanwendungen wie Plex, Jellyfin, Frigate, Immich oder Stable Diffusion in LXC zuerst den NVIDIA-Treiber auf dem Proxmox-Host installieren. Die direkte Zuweisung an eine VM nutzt den separaten VFIO-Ablauf." }, "prereqs": { "title": "Vorbereitung", "gpu": "Eine NVIDIA-GPU im Host. Sie wird automatisch erkannt; AMD und Intel werden hier nicht verwaltet.", "gpuCheck": "lspci | grep -i nvidia", "notVm": "Die GPU darf nicht per VFIO für eine VM reserviert sein. Der Installer verweigert diesen Fall, um die Zuweisung nicht zu beeinträchtigen.", "internet": "Internetzugang auf dem Host. Der Installer lädt den Treiber von download.nvidia.com herunter und klont optional nvidia-persistenced und nvidia-patch von GitHub.", "space": "Platz in /opt/nvidia für .run und RAM für die Kompilierung einplanen. Der Nicht-Arch-LXC-Pfad prüft auf 1500 MiB freien Platz und kann bei geringerem RAM eine temporäre Erhöhung auf 2048 MiB anfragen; danach wird das alte Limit wiederhergestellt. Host-Neustart einplanen." }, "vmWarn": { "title": "GPU für VM reserviert? Hier stoppen", "body": "Ist ein NVIDIA-Gerät an vfio-pci gebunden, beendet sich der Installer auch bei gestoppter VM. Eine Reservierung bedeutet nicht zwingend aktive VM-Nutzung. Planen Sie die Rückkehr zum Host-Treiber und entfernen Sie alte VM-/VFIO-Zuweisungen vor Neustart und Installation." }, "running": { "heading": "Ausführen des Installateurs", "body": "Öffnen Sie Hardware Graphics → NVIDIA GPU Driver Installer in ProxMenux. Das Menü hängt davon ab, ob bereits ein Treiber aktiv ist.", "imageAlt": "Hardware-Menü mit markiertem NVIDIA-Installer" }, "howRuns": { "heading": "Ablauf des Skripts", "body": "Erkennt Geräte, wählt eine Version und installiert. Vor der Übersicht kann eine separat bestätigte VFIO-Bereinigung erfolgen. Repository-/Header-Vorbereitung und Download gehen dem Treiberaustausch voraus; nicht alle Änderungen beginnen erst nach einer einzigen Abschlussbestätigung." }, "walkthrough": { "detect": { "title": "GPU Erkennung und Übersicht", "body1": "Zeigt NVIDIA-Grafikcontroller, Treiberstatus oder „Kein NVIDIA-Treiber installiert“ sowie LXC mit konfiguriertem NVIDIA-Zugriff und deren Treiberversion.", "body2": "GPU sowie Host-/Container-Versionen prüfen. Bei unerwarteter Auswahl in der Übersicht abbrechen; eine zuvor separat bestätigte VFIO-Bereinigung wurde bereits angewendet.", "imageAlt": "Installationsübersicht mit GPUs, Treiberstatus und NVIDIA-LXC" }, "version": { "title": "Wählen Sie die Treiberversion", "body1": "Filtert Versionen von nvidia.com, die die GPU-PCI-ID in der Liste unterstützter Chips enthalten, und sortiert Beta-/Entwicklerversionen heuristisch aus. <Version> — Empfohlen bevorzugt den neuesten Stand des installierten Zweigs, danach den Production Branch und zuletzt die höchste unterstützte Versionsnummer.", "body2": "Ist der Treiber als mit keylase gepatcht erfasst, beschränkt die Auswahl sich auf die NVENC-Patch-Tabelle. Neu installieren / aktualisieren enthält weiterhin Bestätigungen und Patch-Abfragen; Ergebnis prüfen.", "whyTitle": "Wie die Kernel-Kompatibilität validiert wird", "whyBody": "Filtert nach gepflegten Zweigen und GPU-PCI-Unterstützung statt einer festen Kernel-/Treiber-Matrix. Ein Vorab-Build prüft den laufenden Kernel. Bestätigtes Scheitern führt zur Auswahl zurück; ein nicht verfügbarer Vorabtest kann nur warnen und fortfahren. Abschließende Installation und Laufzeitprüfung bleiben nötig.", "imageAlt": "Auswahl GPU-kompatibler Zweige mit Empfehlung oben" }, "uninstall": { "title": "Vorhandenen Treiber vor Neuinstallation entfernen", "body": "Nach Download und Prüfung des gewählten Installers wird der vorhandene Treiber entfernt. Stoppt NVIDIA-Dienste, entlädt Module, entfernt DKMS-Einträge und bereinigt nvidia-* / libnvidia-* / cuda-*. Gilt auch bei bestätigter Neuinstallation derselben Version." }, "prepare": { "title": "System vorbereiten", "body": "Während der Vorbereitung führt das Skript Folgendes aus:", "items": [ "Prüft Paketquellen vor Entfernung oder Installation. Ohne Abonnement und mit ausschließlich Enterprise-Repository fragt es nach dem Wechsel zu no-subscription; bei Ablehnung stoppt die Installation.", "Installiert pve-headers-$(uname -r) (oder proxmox-headers-$(uname -r)), build-essential und dkms.", "Erstellt die von ProxMenux verwaltete Datei /etc/modprobe.d/proxmenux-nouveau-blacklist.conf mit blacklist nouveau und options nouveau modeset=0. Erfasst eine zusätzlich eingefügte Zeile in blacklist.conf und versucht, nouveau zu entladen.", "Schreibt /etc/modules-load.d/nvidia-vfio.conf mit nvidia und nvidia_uvm, so dass die Module beim Booten früh geladen werden." ] }, "download": { "title": "Download und Ausführen des NVIDIA-Installationsprogramms", "body": "Lädt NVIDIA-Linux-x86_64-<version>.run nach /opt/nvidia und prüft Dateigröße und ausführbaren Dateityp. Das ist keine kryptografische Signaturprüfung. Registriert DKMS für Neubauten bei Kerneländerungen; kompatibler Quellcode und Kernel bleiben nötig.", "imageAlt": "Download-Fortschritt und DKMS-Build des NVIDIA-Installers" }, "persist": { "title": "Persistenzdienst und Udev-Regeln", "body": "Installiert nvidia-persistenced und schreibt /etc/udev/rules.d/70-nvidia.rules zur Erstellung von /dev/nvidia* beim Start. Das hilft, LXC-Zugriffe vor Bereitstellung der Gerätedateien zu vermeiden." }, "nvenc": { "title": "Optional: NVENC-Patch anwenden", "body": "NVENC-Sitzungsgrenzen hängen von GPU und Treiber ab. keylase/nvidia-patch kann die Treibergrenze für unterstützte Versionen entfernen. Wählen Sie Ja, wenn Sie diese Encoding-Änderung benötigen und Ihre Version unterstützt wird. Dekodierung und Hardwarekapazität werden dadurch nicht verbessert.", "supportTitle": "Patch-Unterstützung prüfen", "supportBody": "Exakte Version in der Patch-Tabelle prüfen. Fehlt sie, den Treiber ungepatcht nutzen oder eine andere gepflegte Version wählen, die GPU, Kernel und Patch unterstützt; nicht allein nach Nähe in der Liste auswählen." }, "propagate": { "title": "Optional: NVIDIA-Bibliotheken in LXC aktualisieren", "body1": "Bietet passende Treiberbibliotheken für erkannte LXC an. Sie und das Host-Modul müssen übereinstimmende Versionen haben; andernfalls kann nvidia-smi „version mismatch“ melden.", "body2": "Debian / Ubuntu und andere glibc-Container erhalten den entpackten .run-Installer mit --no-kernel-modules --no-dkms --no-install-compat32-libs; RAM kann vorübergehend auf 2 GiB erhöht und danach zurückgesetzt werden. Arch, Manjaro und EndeavourOS nutzen pacman -Syu nvidia-utils aus ihren Paketquellen, ohne Bindung an die Host-Version: Ergebnis prüfen. Alpine erhält entpackte .run-Dateien per pct push, installiert gcompat und binutils mit apk und erstellt SONAME-Links per readelf. Funktion prüfen; die Kompatibilitätsschicht garantiert nicht alle Bibliotheken auf musl.", "imageAlt": "Dialog mit NVIDIA-LXC und Versionen zur Bestätigung des Updates" }, "reboot": { "title": "Neustart", "body": "Nach der Treiberinstallation erstellt das Skript initramfs für alle Kernel neu; sein letzter Schritt bietet einen Neustart an. Diesen Neustart einplanen, um die dauerhafte Modul- und nouveau-Konfiguration bei einem frischen Start zu prüfen, auch wenn der neue Treiber vor dem Neustart bereits antwortet." } }, "reinstallUninstall": { "heading": "Neuinstallieren oder Deinstallieren", "intro": "Sind nvidia geladen und eine Version über nvidia-smi verfügbar, erscheint ein Aktionsmenü. Das erkennt einen aktiven Treiber; installierte Dateien können auch ohne geladenes Modul vorhanden sein.", "imageAlt": "Das Aktionsmenü NVIDIA wird angeboten, wenn ein Treiber bereits installiert ist – zwei Möglichkeiten: Treiber neu installieren / aktualisieren oder den Treiber NVIDIA vollständig deinstallieren", "imageCaption": "Das Aktionsmenü erscheint nur, wenn ein NVIDIA-Treiber derzeit auf dem Host aktiv ist.", "reinstallHeading": "Neuinstallation / Update", "reinstallBody": "Wählt eine Version, bereitet Paketquellen/Headers vor, lädt herunter und prüft den Build vor dem Treiberaustausch. Ermöglicht Updates innerhalb eines gepflegten Zweigs oder einen unterstützten Zweigwechsel. Danach erscheinen erneut Abfragen zu LXC-Bibliotheken und NVENC-Patch.", "uninstallHeading": "Deinstallieren – Was entfernt wird", "uninstallIntro": "Nach einer Ja/Nein-Bestätigung werden folgende Komponenten entfernt:", "uninstallItems": [ "Stoppt und deaktiviert nvidia-persistenced und nvidia-powerd, versucht, nvidia_uvm, nvidia_drm, nvidia_modeset und nvidia zu entladen, und führt dann nvidia-uninstall --silent für die .run-Installation aus. Von NVIDIA abhängige LXC-Workloads sind betroffen; aktive Clients können das Entladen verhindern.", "Führt apt purge auf nvidia-*, libnvidia-*, cuda-* und libcudnn* aus, entfernt den DKMS-Quellbaum sowie die Ordner nvidia-persistenced und nvidia-patch unter /opt/nvidia.", "Entfernt die Module-Load Config (/etc/modules-load.d/nvidia-vfio.conf) und die Nouveau Blacklist-Einträge von ProxMenux. Legacy zweizeilige ProxMenux-Blacklist-Dateien werden migriert und entfernt; modifizierte oder nicht verwandte Administratordateien bleiben erhalten.", "Entfernt /etc/udev/rules.d/70-nvidia.rules und setzt den NVENC-Status im verwalteten Installationsverzeichnis auf removed; es gibt keine separate Statusdatei.", "Erstellt initramfs für alle Kernel neu, führt passend zur Bootkonfiguration proxmox-boot-tool refresh aus und fragt nach einem Neustart." ], "lxcWarnTitle": "LXC mit NVIDIA-Zugriff", "lxcWarnBody": "Das Entfernen des Host-Treibers unterbricht NVIDIA-abhängige LXC-Anwendungen, auch wenn ihre Bibliotheken installiert bleiben. Wartungszeit für Frigate, Plex, Jellyfin, Ollama und andere GPU-Apps einplanen." }, "updates": { "heading": "Update-Benachrichtigungen", "body": "Der installierte NVIDIA-Treiber wird im Verzeichnis der von ProxMenux verwalteten Installationen erfasst. Beim Start und alle 24 Stunden vergleicht der Monitor die unter download.nvidia.com/XFree86/Linux-x86_64/ verfügbaren Versionen mit der von nvidia-smi gemeldeten Version. Er benachrichtigt nur, wenn im installierten Versionszweig ein neueres Wartungsrelease verfügbar ist.", "kindsHeading": "Update-Meldung", "kindsItems": [ "Wartungsupdate im gleichen Zweig. Beispiel: installiert 580.65.06 → verfügbar 580.105.08. Monitor leitet daraus keine Kernel-Kompatibilität anderer Zweige ab." ], "antiTitle": "Wiederholte Meldungen vermeiden", "antiBody": "Eine Meldung pro neuer Version statt bei jeder täglichen Prüfung. Ohne neuere Version im installierten Zweig bleibt die Meldung aus.", "applyTitle": "Anwendung der Aktualisierung", "applyBody": "Monitor meldet Updates ohne automatische Installation. Im Installer Neu installieren / aktualisieren und eine unterstützte Version wählen, dann Build und Installation abschließen. Der Ablauf endet mit einer Neustartabfrage; Neustart einplanen und danach Host sowie LXC-Bibliotheken prüfen." }, "verify": { "heading": "Installation überprüfen", "intro": "Nach dem Host-Neustart per SSH oder Proxmox-Shell anmelden und ausführen:", "after": "GPU und erwartete Treiberversion prüfen. Prozesse können bereits erscheinen, wenn Host-Dienste oder automatisch gestartete Container die GPU nutzen. Danach den Persistenzdienst prüfen:", "imageAlt": "Ausgabe von nvidia-smi auf dem Host mit der erkannten GPU und der installierten Treiberversion" }, "troubleshoot": { "heading": "Fehlerbehebung", "smiFailTitle": "nvidia-smi meldet „NVIDIA-SMI has failed“", "smiFailBody": "Mögliche Ursachen sind nouveau, fehlende oder unpassende Kernel-Header, inkompatibler Treiberquellcode oder andere Ladefehler. lsmod | grep nouveau, dmesg | grep -i nvidia und Installer-/DKMS-Protokolle prüfen. Bei fehlerhafter nouveau-Regel zuerst /etc/modprobe.d/proxmenux-nouveau-blacklist.conf prüfen, dann update-initramfs -u -k all und Neustart. Nicht jeder Buildfehler betrifft Headers.", "lxcMissTitle": "LXC Container kann GPU nach dem Host-Update nicht sehen", "lxcMissBody": "Vor Neuinstallation Host-Geräte, LXC-Berechtigungen und Bibliotheksversion prüfen. Bei Versionskonflikten passende Userspace-Treiber über den unterstützten Distributionsweg installieren; auf glibc mit --no-kernel-modules. Bibliotheksinstallation repariert keine fehlenden Mounts oder Berechtigungen.", "logTitle": "Überprüfen Sie das Installationsprotokoll", "logBody": "Die Installation protokolliert in /tmp/nvidia_install.log. Bei Fehlern Download, DKMS-Build und Dienste prüfen. Fügen Sie das Protokoll dem GitHub-Fehlerbericht bei." }, "manualSteps": { "heading": "Suchen Sie die manuellen Schritte?", "body": "Unter Anleitungen → NVIDIA stehen manuelle Grundlagen mit wget und ./NVIDIA-Linux-...run. Sie erklären Komponenten, bilden den Installer aber nicht exakt ab. Der gepflegte ProxMenux-Ablauf bietet GPU-Filterung, Build-Prüfung, LXC-Updates und VFIO-Prüfungen." }, "related": { "heading": "Verwandte Themen", "items": [ { "label": "GPU zu VM hinzufügen (Passthrough)", "href": "/docs/hardware/gpu-vm-passthrough", "tail": " — NVIDIA direkt per VFIO einer VM zuweisen." }, { "label": "GPU zu LXC hinzufügen", "href": "/docs/hardware/igpu-acceleration-lxc", "tail": " — NVIDIA mit einem oder mehreren Containern teilen." }, { "label": "GPU-Modus wechseln (VM ↔ LXC)", "href": "/docs/hardware/switch-gpu-mode", "tail": " — zwischen VM-Passthrough und gemeinsamer LXC-Nutzung wechseln." }, { "label": "ProxMenux Monitor — Register Hardware", "href": "/docs/monitor/dashboard/hardware", "tail": " — GPU-Dialog zum Öffnen dieses Installers und zur Live-Überwachung." }, { "label": "Befehle für GPU-Passthrough", "href": "/docs/help-info/gpu-commands", "tail": "— lspci / dmesg / IOMMU / nvidia-smi-Referenz." } ] } }