Proxmox Passthrought Nvidia dans LXC
Ce tuto s'intéresse surtout à la procédure à suivre pour installer une carte graphique NVIDIA sur votre Proxmox avec un pass-through dans un conteneur. Cette solution n'utilise pas les drivers pro qui permettent de découper une carte en plusieurs. En effet, avec la containership LXC, une même carte peut être partagée entre plusieurs conteneurs.
Installation des drivers Nvidia
Nvidia sur proxmox
Il faut commencer par installer les drivers nvidia sur votre proxmox. Commencez par le mettre à jour :
apt update && apt upgrade
Ensuite il vous faudra ces outils :
apt install pve-nvidia-vgpu-helper nvtop pve-headers build-essential
Ensuite proxmox propose un outil pour préconfigurer votre système à l'installation des drivers nvidia. Cela met les drivers nouveaux en blacklist et installe quelques paquets nécessaires.
pve-nvidia-vgpu-helper setup
Ensuite il ne vous reste plus qu'à installer les paquets du driver nvidia.
wget https://developer.download.nvidia.com/compute/cuda/repos/debian12/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
Vérifiez que vous n'avez aucune erreur. Si vous avez la moindre erreur, faites cela pour annuler l'installation des drivers. Et malheureusement je ne pourrai pas vous aider à la corriger :[
apt remove nvidia-driver-cuda && apt autoremove
Si vous n'avez aucune erreur, vous pouvez reboot, après le reboot faites un nvidia-smi et normalement vous aurez quelques choses comme cela :
$ nvidia-smi
Sat Aug 23 10:52:17 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.65.06 Driver Version: 580.65.06 CUDA Version: 13.0 |
+-----------------------------------------+------------------------+----------------------+
| 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 NVIDIA GeForce RTX 2080 Ti On | 00000000:81:00.0 Off | N/A |
| 41% 40C P8 1W / 260W | 4MiB / 11264MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| No running processes found |
+-----------------------------------------------------------------------------------------+
Nvidia dans le Container LXC
Votre conteneur n'a pas besoin d'option particulière, il n'a pas besoin d'être privilégié.
Sur l'hôte faites un ls /dev/nvi* et vous devriez avoir quelque chose comme cela :
root@MaxiMox:~# ls -l /dev/nvi*
crw-rw-rw- 1 root root 195, 0 Aug 23 10:52 /dev/nvidia0
crw-rw-rw- 1 root root 195, 255 Aug 23 10:52 /dev/nvidiactl
crw-rw-rw- 1 root root 195, 254 Aug 23 10:52 /dev/nvidia-modeset
crw-rw-rw- 1 root root 508, 0 Aug 23 10:52 /dev/nvidia-uvm
crw-rw-rw- 1 root root 508, 1 Aug 23 10:52 /dev/nvidia-uvm-tools
/dev/nvidia-caps:
total 0
cr-------- 1 root root 234, 1 Aug 23 10:52 nvidia-cap1
cr--r--r-- 1 root root 234, 2 Aug 23 10:52 nvidia-cap2
Il faut passer tous ces dossiers au conteneur. Cela se fait dans l'interface de votre proxmox.
Et vous devriez avoir quelque chose comme ça :
Ensuite il ne vous reste plus qu'à installer les drivers nvidia et ensuite le logiciel CUDA sur votre conteneur, la procédure est semblable à celle de l'hôte.
wget https://developer.download.nvidia.com/compute/cuda/repos/debian12/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
Vous pouvez faire un nvidia-smi pour confirmer que la carte est disponible et fonctionnelle sur votre conteneur.
Exemple une IA avec Ollama
Ollama
Pour tester cette nouvelle carte, je vous propose d'installer ollama qui est un groupe d'IA open source.
# L'installateur a besoin de lspci
apt install pciutils
wget https://ollama.com/install.sh
./install.sh
Et normalement vous devriez avoir une sortie console ressemblant à :
./install.sh
>>> Cleaning up old version at /usr/local/lib/ollama
>>> Installing ollama to /usr/local
>>> Downloading Linux amd64 bundle
################################################# 100.0%
>>> Adding ollama user to render group...
>>> Adding ollama user to video group...
>>> Adding current user to ollama group...
>>> Creating ollama systemd service...
>>> Enabling and starting ollama service...
>>> NVIDIA GPU installed.
Puis faites un essai en console.
ollama run qwen2.5-coder:7b
Open web UI
Ajoutons une interface graphique à notre IA. Pour installer open-webui, sur votre conteneur vous avez besoin :
apt install python3-pip python3-venv pyenv
Dans mon cas je l'ai installé dans /root. Puis entrez les commandes suivantes :
pyenv install 3.11.11
.pyenv/shims/python3.11 -m venv open-webui
source open-webui/bin/activate
pip install open-webui
open-webui serve
Rendez-vous sur le port 5000 de votre conteneur :)
Changer le port d'écoute d'ollama :
systemctl edit ollama.service
# ajouter dans la section [Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Ressource
J'ai réussi à faire cela en m'appuyant sur ces documentation :


