{ "meta": { "title": "Installer NVIDIA sur l’hôte | Documentation ProxMenux", "description": "Installez les pilotes propriétaires NVIDIA sur Proxmox VE avec ProxMenux : filtrage GPU, vérifications de compilation et DKMS, persistance, correctif NVENC facultatif et mise à jour des bibliothèques LXC." }, "header": { "title": "Installer les pilotes NVIDIA sur l'hôte", "description": "Installez NVIDIA sur l’hôte Proxmox VE. Filtre les branches maintenues selon l’ID PCI du GPU, vérifie la compilation, utilise DKMS, gère nouveau et installe la persistance. Peut aussi actualiser les bibliothèques des LXC utilisant NVIDIA.", "section": "Matériel : GPU et Coral-TPU" }, "intro": { "title": "Fonctionnement", "body": "ProxMenux détecte le GPU et propose des branches NVIDIA maintenues incluant son ID PCI. Il bloque nouveau, télécharge l’installateur officiel .run, utilise DKMS, installe nvidia-persistenced, les règles udev et le NVIDIA Container Toolkit, et propose un correctif NVENC facultatif. Les vérifications de compilation portent sur le noyau en cours ; une compilation réussie ne garantit pas que toutes les applications fonctionnent. Les LXC NVIDIA existants se voient proposer une mise à jour des bibliothèques userspace, de version correspondante sauf sous Arch." }, "who": { "heading": "C'est pour qui ?", "body": "Pour le traitement vidéo ou le calcul GPU avec Plex, Jellyfin, Frigate, Immich ou Stable Diffusion dans LXC, installez d’abord NVIDIA sur l’hôte Proxmox. L’attribution directe à une VM utilise la procédure VFIO distincte." }, "prereqs": { "title": "Avant de commencer", "gpu": "Un GPU NVIDIA installé dans l’hôte. Détection automatique ; cette option ne gère ni AMD ni Intel.", "gpuCheck": "lspci | grep -i nvidia", "notVm": "Le GPU ne doit pas être réservé à une VM via VFIO. L’installateur refuse ce cas pour ne pas perturber l’affectation.", "internet": "Accès Internet sur l’hôte. Télécharge le pilote depuis download.nvidia.com et peut cloner nvidia-persistenced et nvidia-patch depuis GitHub.", "space": "Prévoyez de l’espace dans /opt/nvidia pour .run et de la RAM pour compiler. Le parcours LXC hors Arch vérifie 1500 MiB libres et peut demander temporairement 2048 MiB de RAM si nécessaire, puis restaure la limite précédente. Prévoyez le redémarrage hôte." }, "vmWarn": { "title": "GPU réservé à une VM ? Arrêtez ici", "body": "Si un périphérique NVIDIA est lié à vfio-pci, l’installateur quitte, même VM arrêtée. Une réservation n’implique pas une utilisation active. Planifiez le retour au pilote hôte et retirez les anciennes affectations VM/VFIO avant redémarrage et installation." }, "running": { "heading": "Exécution de l'installateur", "body": "Ouvrez Hardware Graphics → NVIDIA GPU Driver Installer dans ProxMenux. Le menu dépend de la présence d’un pilote actif.", "imageAlt": "Menu matériel avec l’installateur NVIDIA sélectionné" }, "howRuns": { "heading": "Déroulement du script", "body": "Détecte les périphériques, choisit une version et installe. Un nettoyage VFIO confirmé séparément peut précéder l’aperçu. La préparation des dépôts/en-têtes et le téléchargement précèdent le remplacement du pilote ; une seule confirmation finale ne marque pas le début de tous les changements." }, "walkthrough": { "detect": { "title": "Détection et aperçu de GPU", "body1": "Affiche les contrôleurs vidéo NVIDIA, l’état du pilote ou « Aucun pilote NVIDIA installé », et les LXC configurés pour NVIDIA avec leur version interne.", "body2": "Vérifiez GPU et versions hôte/conteneurs. Annulez dans l’aperçu si la sélection est inattendue ; un nettoyage VFIO confirmé auparavant a déjà été effectué.", "imageAlt": "Aperçu avant installation : GPU, pilote et LXC configurés pour NVIDIA" }, "version": { "title": "Choisissez la version du pilote", "body1": "Filtre les versions de nvidia.com qui incluent l’ID PCI du GPU dans la table des puces compatibles et écarte les versions bêta/développement par heuristiques. <version> — Recommandée privilégie la dernière version de la branche installée, puis Production Branch, puis le numéro compatible le plus élevé.", "body2": "Si le pilote est enregistré comme corrigé via keylase, le sélecteur se limite à la table NVENC. Réinstaller / mettre à jour comporte toujours les confirmations et le choix du correctif ; vérifiez le résultat.", "whyTitle": "Comment la compatibilité du noyau est validée", "whyBody": "Filtre selon les branches maintenues et l’ID PCI, sans matrice noyau/pilote fixe. Une compilation préalable teste le noyau actuel. Un échec confirmé revient au sélecteur ; un test indisponible peut avertir puis continuer. Installation finale et vérification du fonctionnement restent nécessaires.", "imageAlt": "Sélecteur des branches compatibles GPU avec recommandation en premier" }, "uninstall": { "title": "Retirer l’ancien pilote avant réinstallation", "body": "Après téléchargement et vérification de l’installateur choisi, retire le pilote précédent. Arrête les services NVIDIA, décharge les modules, retire les entrées DKMS et purge nvidia-* / libnvidia-* / cuda-*. Cela vaut aussi pour une réinstallation confirmée de la même version." }, "prepare": { "title": "Préparer le système", "body": "Pendant la préparation, le script :", "items": [ "Vérifie les dépôts avant suppression ou installation. Sans abonnement et avec Enterprise uniquement, demande l’accord pour passer à no-subscription ; un refus arrête l’installation.", "Installe pve-headers-$(uname -r) (ou proxmox-headers-$(uname -r)), build-essential et dkms.", "Crée le fichier géré par ProxMenux /etc/modprobe.d/proxmenux-nouveau-blacklist.conf avec blacklist nouveau et options nouveau modeset=0. Enregistre l’éventuel ajout dans blacklist.conf et tente de décharger nouveau.", "Ecrit /etc/modules-load.d/nvidia-vfio.conf avec nvidia et nvidia_uvm afin que les modules se chargent tôt au démarrage." ] }, "download": { "title": "Téléchargez et exécutez l'installateur NVIDIA", "body": "Télécharge NVIDIA-Linux-x86_64-<version>.run dans /opt/nvidia et vérifie taille et type exécutable. Ces contrôles de format ne vérifient pas une signature cryptographique. Enregistre DKMS pour les changements de noyau ; sources et noyau doivent rester compatibles.", "imageAlt": "Progression du téléchargement et compilation DKMS de l’installateur NVIDIA" }, "persist": { "title": "Service de persistance et règles udev", "body": "Installe nvidia-persistenced et écrit /etc/udev/rules.d/70-nvidia.rules pour créer /dev/nvidia* au démarrage. Cela évite qu’un LXC cherche le GPU avant la création des périphériques." }, "nvenc": { "title": "Optionnel : appliquer le patch NVENC", "body": "Les limites de sessions NVENC dépendent du GPU et du pilote. keylase/nvidia-patch peut retirer la limite du pilote pour les versions prises en charge. Choisissez Oui si vous avez besoin de ce changement d’encodage et si votre version est compatible. Cela n’accélère pas le décodage ni ne supprime les limites matérielles.", "supportTitle": "Vérifier la compatibilité du correctif", "supportBody": "Vérifiez la version exacte dans la table des correctifs. Si elle manque, gardez le pilote sans correctif ou choisissez une autre version maintenue compatible GPU, noyau et correctif ; sa proximité dans la liste ne suffit pas." }, "propagate": { "title": "Facultatif : actualiser les bibliothèques NVIDIA des LXC", "body1": "Propose les bibliothèques du pilote aux LXC détectés. Elles et le module hôte doivent avoir des versions correspondantes ; sinon nvidia-smi peut signaler « version mismatch ».", "body2": "Debian / Ubuntu et les autres conteneurs glibc reçoivent l’installateur .run extrait avec --no-kernel-modules --no-dkms --no-install-compat32-libs ; la RAM peut temporairement passer à 2 GiB puis être restaurée. Arch, Manjaro et EndeavourOS utilisent pacman -Syu nvidia-utils depuis leurs dépôts, sans fixer la version hôte : vérifiez le résultat. Alpine reçoit le contenu .run extrait via pct push, installe gcompat et binutils avec apk et crée les liens SONAME via readelf. Vérifiez le fonctionnement ; la couche de compatibilité ne garantit pas toutes les bibliothèques sous musl.", "imageAlt": "Dialogue des LXC NVIDIA et de leurs versions pour confirmer la mise à jour" }, "reboot": { "title": "Redémarrer", "body": "Après l’installation du pilote, le script reconstruit initramfs pour tous les noyaux ; sa dernière étape propose un redémarrage. Prévoyez ce redémarrage pour vérifier la configuration persistante des modules et la configuration nouveau lors d’un nouveau démarrage, même si le nouveau pilote répond déjà avant le redémarrage." } }, "reinstallUninstall": { "heading": "Réinstaller ou désinstaller", "intro": "Si nvidia est chargé et que nvidia-smi renvoie une version, affiche un menu d’actions. Ce critère détecte un pilote actif ; des fichiers peuvent être installés sans module chargé.", "imageAlt": "Menu d'action NVIDIA offert lorsqu'un pilote est déjà installé — deux choix: réinstaller / mettre à jour le pilote, ou désinstaller complètement le pilote NVIDIA", "imageCaption": "Le menu action n'apparaît que lorsqu'un pilote NVIDIA est actuellement actif sur l'hôte.", "reinstallHeading": "Réinstaller / mettre à jour", "reinstallBody": "Choisit une version, prépare dépôts/en-têtes, télécharge et teste la compilation avant le remplacement du pilote. Permet une mise à jour dans la branche maintenue ou un autre choix compatible. Les options de bibliothèques LXC et de correctif NVENC réapparaissent ensuite.", "uninstallHeading": "Désinstaller — ce qui est enlevé", "uninstallIntro": "Après confirmation Oui/Non, retire les composants suivants :", "uninstallItems": [ "Arrête et désactive nvidia-persistenced et nvidia-powerd, tente de décharger nvidia_uvm, nvidia_drm, nvidia_modeset et nvidia, puis exécute nvidia-uninstall --silent pour l’installation .run. Les charges de travail LXC dépendant de NVIDIA sont affectées ; des clients actifs peuvent empêcher le déchargement.", "Exécute apt purge sur nvidia-*, libnvidia-*, cuda-* et libcudnn*, supprime l'arborescence des sources DKMS et les dossiers nvidia-persistenced et nvidia-patch sous /opt/nvidia.", "Supprime la configuration de chargement des modules (/etc/modules-load.d/nvidia-vfio.conf) et les entrées de liste noire de nouveau gérées par ProxMenux. Les anciens fichiers ProxMenux de liste noire à deux lignes sont également migrés puis supprimés. Les fichiers modifiés ou indépendants de l’administrateur sont conservés.", "Retire /etc/udev/rules.d/70-nvidia.rules et marque NVENC removed dans le registre des installations gérées ; aucun fichier d’état séparé.", "Reconstruit initramfs pour tous les noyaux, exécute proxmox-boot-tool refresh selon l’amorçage et propose un redémarrage." ], "lxcWarnTitle": "LXC avec accès NVIDIA", "lxcWarnBody": "Retirer le pilote hôte interrompt les applications LXC NVIDIA même si leurs bibliothèques restent installées. Prévoyez une maintenance pour Frigate, Plex, Jellyfin, Ollama et autres applications GPU." }, "updates": { "heading": "Notifications de mises à jour", "body": "Le pilote NVIDIA est suivi dans le registre des installations gérées. Au démarrage et toutes les 24 heures, Monitor compare les versions de download.nvidia.com/XFree86/Linux-x86_64/ à celle indiquée par nvidia-smi. Il notifie uniquement les nouvelles versions de maintenance de la branche installée.", "kindsHeading": "Message de mise à jour", "kindsItems": [ "Maintenance de la même branche. Exemple : 580.65.06 installée → 580.105.08 disponible. Monitor ne déduit pas la compatibilité noyau entre branches." ], "antiTitle": "Éviter les notifications répétées", "antiBody": "Une notification par nouvelle version, pas à chaque contrôle quotidien. Aucune notification sans version plus récente dans la branche installée.", "applyTitle": "Appliquer la mise à jour", "applyBody": "Monitor signale les mises à jour sans les installer automatiquement. Ouvrez l’installateur, choisissez Réinstaller / mettre à jour et une version compatible, puis terminez compilation et installation. Prévoyez le redémarrage proposé et vérifiez ensuite hôte et bibliothèques LXC." }, "verify": { "heading": "Vérification de l'installation", "intro": "Après redémarrage de l’hôte, connectez-vous via SSH ou le shell Proxmox et exécutez :", "after": "Vérifiez le GPU et la version attendue. Des processus peuvent déjà apparaître si des services hôte ou conteneurs démarrés automatiquement utilisent le GPU. Vérifiez ensuite la persistance :", "imageAlt": "Sortie de nvidia-smi sur l'hôte montrant le GPU détecté et la version du pilote installé" }, "troubleshoot": { "heading": "Dépannage", "smiFailTitle": "nvidia-smi affiche « NVIDIA-SMI has failed »", "smiFailBody": "Causes possibles : nouveau, en-têtes absents ou incompatibles, sources du pilote incompatibles ou autres erreurs de chargement. Examinez lsmod | grep nouveau, dmesg | grep -i nvidia et les journaux installateur/DKMS. Si la règle nouveau doit être corrigée, vérifiez /etc/modprobe.d/proxmenux-nouveau-blacklist.conf avant update-initramfs -u -k all et redémarrage. Tout échec de compilation ne vient pas des en-têtes.", "lxcMissTitle": "Le conteneur LXC ne peut pas voir le GPU après la mise à jour de l'hôte", "lxcMissBody": "Avant de réinstaller, vérifiez périphériques hôte, droits LXC et version des bibliothèques. Un conflit de versions peut nécessiter le pilote utilisateur correspondant, selon la distribution ; sous glibc, avec --no-kernel-modules. Réinstaller les bibliothèques ne corrige pas les montages ou droits manquants.", "logTitle": "Vérifiez le journal d'installation", "logBody": "L’installation écrit dans /tmp/nvidia_install.log. En cas d’échec, examinez téléchargement, compilation DKMS et services. Joignez le journal au signalement GitHub." }, "manualSteps": { "heading": "Vous cherchez les étapes manuelles?", "body": "Voir Guides → NVIDIA pour les étapes manuelles, dont wget et ./NVIDIA-Linux-...run. Le guide explique les composants sans reproduire exactement l’installateur. La procédure maintenue ProxMenux apporte filtrage GPU, vérification de compilation, mises à jour LXC et contrôles VFIO." }, "related": { "heading": "Voir aussi", "items": [ { "label": "Ajouter GPU à VM (Passthrough)", "href": "/docs/hardware/gpu-vm-passthrough", "tail": " — attribuer NVIDIA directement à une VM via VFIO." }, { "label": "Ajouter un GPU à LXC", "href": "/docs/hardware/igpu-acceleration-lxc", "tail": " — partager NVIDIA avec un ou plusieurs conteneurs." }, { "label": "Changer de mode GPU (VM ↔ LXC)", "href": "/docs/hardware/switch-gpu-mode", "tail": " — basculer entre passthrough VM et partage LXC." }, { "label": "ProxMenux Monitor — Onglet matériel", "href": "/docs/monitor/dashboard/hardware", "tail": " — fenêtre GPU ouvrant cet installateur et affichant le suivi en temps réel." }, { "label": "Commandes de passthrough GPU", "href": "/docs/help-info/gpu-commands", "tail": "— lspci / dmesg / IOMMU / nvidia-smi référence." } ] } }