====== Proxmox : utiliser une carte graphique Nvidia avec un conteneur LXC ======
Lien : https://shionn.github.io/draft/nvidia-proxmox-lxc-passthrought-ollama.html
===== Installation des pilotes sur le serveur Proxmox =====
* mise à jour du serveur
apt update && apt upgrade
* Installation des prérequis logiciels
apt install pve-nvidia-vgpu-helper nvtop pve-headers build-essential
* Pré configuration de Proxmox :
pve-nvidia-vgpu-helper setup
* Installation des paquets du driver nvidia.
wget https://developer.download.nvidia.com/compute/cuda/repos/debian13/x86_64/cuda-keyring_1.1-1_all.deb
apt install ./cuda-keyring_1.1-1_all.deb
apt update
apt upgrade
apt install nvidia-driver-cuda
* Problèmes rencontrés avec l'installation de plusieurs pilotes Nvidia pour Debian 13.
* Installation manuelle de ces pilotes avec ce script :
#!/bin/bash
set -e # Stoppe le script en cas d’erreur
BASE_URL="https://developer.download.nvidia.com/compute/cuda/repos/debian13/x86_64"
# Liste des paquets à télécharger
packages=(
"firmware-nvidia-gsp_590.48.01-1_amd64.deb"
"libnvidia-gpucomp_590.48.01-1_amd64.deb"
"libnvidia-ptxjitcompiler1_590.48.01-1_amd64.deb"
"libnvidia-pkcs11-openssl3_590.48.01-1_amd64.deb"
"libcuda1_590.48.01-1_amd64.deb"
"libcudadebugger1_590.48.01-1_amd64.deb"
"libnvcuvid1_590.48.01-1_amd64.deb"
"libnvidia-cfg1_590.48.01-1_amd64.deb"
"libnvidia-encode1_590.48.01-1_amd64.deb"
"nvidia-modprobe_590.48.01-1_amd64.deb"
"nvidia-kernel-support_590.48.01-1_amd64.deb"
"libnvidia-fbc1_590.48.01-1_amd64.deb"
"libnvidia-ml1_590.48.01-1_amd64.deb"
"libnvidia-nvvm4_590.48.01-1_amd64.deb"
"libnvidia-nvvm704_590.48.01-1_amd64.deb"
"libnvidia-opticalflow1_590.48.01-1_amd64.deb"
"libnvidia-present_590.48.01-1_amd64.deb"
"libnvidia-sandboxutils_590.48.01-1_amd64.deb"
"libnvidia-tileiras_590.48.01-1_amd64.deb"
"libnvoptix1_590.48.01-1_amd64.deb"
"nvidia-opencl-icd_590.48.01-1_amd64.deb"
"nvidia-persistenced_590.48.01-1_amd64.deb"
"nvidia-driver-cuda_590.48.01-1_amd64.deb"
)
echo "=== Téléchargement et installation des paquets NVIDIA CUDA ==="
for pkg in "${packages[@]}"; do
echo ""
echo "--- Téléchargement : $pkg ---"
wget -q "$BASE_URL/$pkg" -O "$pkg"
echo "Installation de $pkg..."
dpkg -i "$pkg"
done
echo ""
echo "=== Tous les paquets ont été installés avec succès ! ==="
echo "Correction des paquets manquants."
apt --fix-broken install
``
* reboot du serveur
* il doit maintenant être possible d'utiliser l'outil nvidia-smi :
# nvidia-smi
Wed Jan 14 15:05:04 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 590.48.01 Driver Version: 590.48.01 CUDA Version: 13.1 |
+-----------------------------------------+------------------------+----------------------+
| 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:86:00.0 Off | 0 |
| N/A 38C P8 8W / 70W | 0MiB / 15360MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
| 1 Tesla T4 On | 00000000:AF:00.0 Off | 0 |
| N/A 38C P8 9W / 70W | 0MiB / 15360MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| No running processes found |
+-----------------------------------------------------------------------------------------+
* Visualisation des périphériques Nvidia ajouté à l'hôte Proxmox :
# ls -l /dev/nvi*
crw-rw-rw- 1 root root 195, 0 Jan 12 23:18 /dev/nvidia0
crw-rw-rw- 1 root root 195, 1 Jan 12 23:18 /dev/nvidia1
crw-rw-rw- 1 root root 195, 255 Jan 12 23:18 /dev/nvidiactl
crw-rw-rw- 1 root root 195, 254 Jan 12 23:18 /dev/nvidia-modeset
crw-rw-rw- 1 root root 511, 0 Jan 14 11:56 /dev/nvidia-uvm
crw-rw-rw- 1 root root 511, 1 Jan 14 11:56 /dev/nvidia-uvm-tools
/dev/nvidia-caps:
total 0
cr-------- 1 root root 236, 1 Jan 14 11:56 nvidia-cap1
cr--r--r-- 1 root root 236, 2 Jan 14 11:56 nvidia-cap2
===== Nvidia dans le Container LXC =====
* mettre à jour le conteneur
apt update & apt upgrade
* Les conteneurs LXC n'ont pas besoin d'option particulière, ni besoin d'être privilégiés.
* Configurer Le passthrough (GPU passthrough) dans Proxmox pour les GPU des carte NVidia.
Le passthrough (ou PCI passthrough / USB passthrough / GPU passthrough) dans Proxmox permet de donner à un conteneur LXC, l'accès direct aux périphériques physiques (ici les GPU des cartes Nvidia) sans passer par la couche de virtualisation. Ces GPU de la Carte Nvidia sont retirés du contrôle de l’hôte Proxmox et attribués directement aux conteneurs LXC.
* ajoutez au conteneur LXC les périphériques passthrough
{{ :reseau:cloud:proxmox:ia_01.png |}}
{{ :reseau:cloud:proxmox:ia_02.png |}}
{{ :reseau:cloud:proxmox:ia_03.png |}}
* Installez les drivers nvidia et la suite logicielle **cuda** dans le conteneur LXC (procédure semblable à celle de l'hote Proxmox).
wget https://developer.download.nvidia.com/compute/cuda/repos/debian13/x86_64/cuda-keyring_1.1-1_all.deb
apt install ./cuda-keyring_1.1-1_all.deb
apt update
apt install cuda-toolkit
apt install nvidia-driver-cuda
* commande **nvdia-smi** pour confirmer que la carte est disponible et fonctionnelle sur votre container.
nvidia-smi