MAJ doc pour cohérence.
This commit is contained in:
parent
d223bd4abb
commit
c516aeb661
3 changed files with 127 additions and 146 deletions
163
README.md
163
README.md
|
|
@ -1,127 +1,76 @@
|
|||
# Procédure pour habiliter Ubuntu 24.04.x à piloter correctement une RTX 5070 Ti
|
||||
# Ubuntu 24.04.x + RTX 5070 Ti — Driver Ubuntu + CUDA 12.8 (NVIDIA) avec pinning APT
|
||||
|
||||
## Description du problème
|
||||
## Contexte
|
||||
|
||||
Dans un contexte “Ubuntu vanille”, l’installation NVIDIA/CUDA peut facilement devenir instable si l’on mélange des sources de paquets :
|
||||
Sur une installation Ubuntu “vanille”, la pile NVIDIA peut devenir instable si l’on mélange des sources APT (Ubuntu vs dépôt CUDA NVIDIA) pour les composants driver (libs/utilitaires/modules). Cela peut mener à des conflits de dépendances ou à des upgrades qui régressent.
|
||||
|
||||
- des composants NVIDIA tirés du dépôt Ubuntu (drivers/modules)
|
||||
- d’autres composants NVIDIA tirés du dépôt CUDA NVIDIA (libs driver, utilitaires)
|
||||
- et, en parallèle, le toolkit CUDA
|
||||
## Choix d’architecture (solution testée)
|
||||
|
||||
Ce mélange peut produire des conflits APT (ex. `libnvidia-gl-580` vs `libnvidia-egl-gbm1`) ou des mises à jour qui brisent des dépendances..
|
||||
Règle simple : une source unique par famille de composants.
|
||||
|
||||
## Solution testée (choix d’architecture)
|
||||
- Driver NVIDIA (modules kernel + libs + utils) : Ubuntu
|
||||
- CUDA Toolkit : dépôt NVIDIA (`/usr/local/cuda-12.8`)
|
||||
- Pinning APT : autoriser `cuda-*` depuis NVIDIA, empêcher NVIDIA de prendre la main sur `nvidia-*` et `libnvidia-*`
|
||||
|
||||
Une règle simple -> **une seule source par “famille” de composants**.
|
||||
## Ce que fait ce dépôt
|
||||
|
||||
- **Driver NVIDIA (kernel modules + libs + utils)** : **Ubuntu**
|
||||
- cohérence maximale avec le kernel Ubuntu
|
||||
- intégration APT standard
|
||||
- **CUDA Toolkit** : **NVIDIA**
|
||||
- `/usr/local/cuda-12.8`
|
||||
- toolchain CUDA stable et explicite
|
||||
- `setup-rtx5070ti-ubuntu2404.sh` : installation complète (driver Ubuntu 580-open + CUDA 12.8 + pinning)
|
||||
- `apt/99-nvidia-from-ubuntu-cuda-from-nvidia.pref` : pinning APT
|
||||
- `env/cuda-12-8.sh` : environnement CUDA (PATH + LD_LIBRARY_PATH)
|
||||
- `install.sh` : déploie les artefacts dans `/etc/...`
|
||||
- `Makefile` : raccourcis (prereq/setup/apply/check/status)
|
||||
|
||||
Et pour empêcher les régressions lors des upgrades :
|
||||
## Récupération du dépôt (Git)
|
||||
|
||||
- **Pinning APT** : autoriser le dépôt NVIDIA pour `cuda-*`, mais **empêcher** qu’il prenne la main sur `nvidia-*` et `libnvidia-*`.
|
||||
1. Installer git (si nécessaire) :
|
||||
sudo apt update
|
||||
sudo apt install -y git
|
||||
2. Cloner le dépôt :
|
||||
git clone <https://forge.alliance-boreale.ca/Chezlepro/rtx5070ti-ubuntu2404.git>
|
||||
cd rtx5070ti-ubuntu2404
|
||||
|
||||
## Contenu du dépôt
|
||||
## Chemins recommandés
|
||||
|
||||
- `setup-rtx5070ti-ubuntu2404.sh`
|
||||
Installe le driver Ubuntu 580-open + CUDA Toolkit 12.8 + pinning APT
|
||||
- `apt/99-nvidia-from-ubuntu-cuda-from-nvidia.pref`
|
||||
Pinning APT (driver/libs depuis Ubuntu; `cuda-*` depuis NVIDIA)
|
||||
- `env/cuda-12-8.sh`
|
||||
Variables d’environnement (PATH + LD_LIBRARY_PATH)
|
||||
- `install.sh`
|
||||
Déploie `apt/99-...pref` et `env/cuda-12-8.sh` dans `/etc/...`
|
||||
- `Makefile`
|
||||
install / check
|
||||
### A) From scratch (recommandé)
|
||||
|
||||
1. Baseline OS (mises à jour + kernel), reboot requis
|
||||
|
||||
- make prereq
|
||||
- sudo reboot
|
||||
|
||||
1. Installation complète, reboot requis
|
||||
|
||||
- make setup
|
||||
|
||||
1. Vérification
|
||||
|
||||
- make check
|
||||
- (optionnel) make status
|
||||
|
||||
### B) Appliquer seulement les artefacts /etc
|
||||
|
||||
- make apply
|
||||
|
||||
## Validation (résumé)
|
||||
|
||||
- make check (recommandé)
|
||||
ou, en manuel :
|
||||
- nvidia-smi
|
||||
- nvcc --version
|
||||
- apt-cache policy libnvidia-gl-580 libnvidia-egl-gbm1 nvidia-driver-580-open nvidia-utils-580
|
||||
|
||||
## Prérequis
|
||||
|
||||
- Ubuntu 24.04.x (testé avec 24.04.3 LTS)
|
||||
- Accès Internet
|
||||
- `sudo`
|
||||
- Recommandé : Secure Boot OFF
|
||||
|
||||
## Procédure from scratch
|
||||
|
||||
Stabiliser l’OS (kernel + paquets), puis redémarrer :
|
||||
|
||||
```
|
||||
sudo apt update
|
||||
sudo apt full-upgrade -y
|
||||
sudo reboot
|
||||
```
|
||||
|
||||
Installer driver + CUDA + pinning APT (script), puis redémarrer :
|
||||
|
||||
```
|
||||
chmod +x setup-rtx5070ti-ubuntu2404.sh
|
||||
sudo ./setup-rtx5070ti-ubuntu2404.sh
|
||||
# accepter le reboot en fin de script
|
||||
```
|
||||
|
||||
Note : le script écrit un log dans `/tmp/rtx5070ti-ubuntu2404-setup.<timestamp>.log`.
|
||||
|
||||
## Résultat attendu
|
||||
|
||||
Obtenir un environnement reproductible, maintenable par APT, et résistant aux régressions :
|
||||
|
||||
- Driver NVIDIA provenant d’Ubuntu (stack cohérent avec le kernel Ubuntu)
|
||||
- `nvidia-driver-580-open`
|
||||
- `linux-modules-nvidia-580-open-$(uname -r)`
|
||||
- `libnvidia-gl-580`
|
||||
- `nvidia-utils-580`
|
||||
- CUDA Toolkit provenant du dépôt NVIDIA
|
||||
- `cuda-toolkit-12-8` → `/usr/local/cuda-12.8`
|
||||
- Protection APT (pinning)
|
||||
- Empêche le dépôt CUDA NVIDIA de remplacer `nvidia-*` / `libnvidia-*` lors d’un `apt upgrade`
|
||||
- Évite notamment le conflit `libnvidia-gl-580` ↔ `libnvidia-egl-gbm1`
|
||||
|
||||
## Validation
|
||||
|
||||
```
|
||||
nvidia-smi
|
||||
source /etc/profile.d/cuda-12-8.sh
|
||||
which nvcc
|
||||
nvcc --version
|
||||
sudo apt update
|
||||
sudo apt upgrade -y
|
||||
```
|
||||
|
||||
Pour valider que le pinning APT est bien effectif :
|
||||
|
||||
```
|
||||
apt-cache policy libnvidia-gl-580 libnvidia-egl-gbm1 nvidia-driver-580-open nvidia-utils-580 | sed -n '1,220p'
|
||||
```
|
||||
|
||||
## Installer seulement les artefacts /etc (pinning + env CUDA)
|
||||
|
||||
Déploie les fichiers du repo vers :
|
||||
|
||||
- `/etc/apt/preferences.d/99-nvidia-from-ubuntu-cuda-from-nvidia.pref`
|
||||
- `/etc/profile.d/cuda-12-8.sh`
|
||||
|
||||
```
|
||||
sudo ./install.sh
|
||||
```
|
||||
|
||||
## Makefile
|
||||
|
||||
- `make install` : exécute `sudo ./install.sh`
|
||||
- `make check` : checks rapides (APT policy, nvcc, nvidia-smi)
|
||||
- Accès Internet, sudo
|
||||
- Recommandé : Secure Boot OFF (trajet le plus déterministe)
|
||||
|
||||
## Notes
|
||||
|
||||
- La ligne “CUDA Version: …” affichée par `nvidia-smi` représente la capacité exposée par le driver, pas la version du toolkit installé.
|
||||
La version du toolkit installé se valide avec :
|
||||
- nvidia-smi affiche “CUDA Version: …” : c’est la capacité exposée par le driver, pas la version du toolkit installé.
|
||||
La version installée se valide avec nvcc --version.
|
||||
|
||||
```
|
||||
source /etc/profile.d/cuda-12-8.sh
|
||||
which nvcc
|
||||
nvcc --version
|
||||
```
|
||||
Documentation détaillée :
|
||||
|
||||
#
|
||||
- docs/procedure-from-scratch.md
|
||||
- docs/validation.md
|
||||
|
|
@ -1,36 +1,60 @@
|
|||
# Procédure from scratch — Ubuntu 24.04.x “vanille” → RTX 5070 Ti OK
|
||||
|
||||
Cette procédure vise un résultat sans mélange de sources, ni de conflit APT.
|
||||
Cette procédure vise un résultat déterministe : pas d’essais-erreurs, pas de mélange de sources, pas de conflit APT.
|
||||
|
||||
## 1) BIOS/UEFI
|
||||
Pré-requis : exécuter les commandes depuis la racine du dépôt (là où se trouve le Makefile).
|
||||
|
||||
- Secure Boot OFF (évite les surprises de chargement de modules).
|
||||
## 1) BIOS/UEFI (recommandé)
|
||||
|
||||
- Secure Boot OFF (max déterminisme, évite les surprises de chargement de modules).
|
||||
|
||||
## 2) Premier boot : stabiliser la base OS
|
||||
|
||||
Objectif : être sur le kernel et les paquets à jour avant d’installer le driver NVIDIA.
|
||||
|
||||
```
|
||||
sudo apt update
|
||||
sudo apt full-upgrade -y
|
||||
sudo reboot
|
||||
```
|
||||
Option “commandes directes” :
|
||||
|
||||
sudo apt update
|
||||
sudo apt full-upgrade -y
|
||||
sudo reboot
|
||||
|
||||
## 3) Installer driver + CUDA + pinning APT
|
||||
|
||||
Après reboot :
|
||||
Après reboot, exécuter l’installation complète :
|
||||
|
||||
```
|
||||
chmod +x setup-rtx5070ti-ubuntu2404.sh
|
||||
sudo ./setup-rtx5070ti-ubuntu2404.sh
|
||||
# accepter le reboot en fin de script
|
||||
```
|
||||
Option “commandes directes” :
|
||||
|
||||
chmod +x [setup-rtx5070ti-ubuntu2404.sh](http://setup-rtx5070ti-ubuntu2404.sh)
|
||||
sudo ./[setup-rtx5070ti-ubuntu2404.sh](http://setup-rtx5070ti-ubuntu2404.sh)
|
||||
(accepter le reboot en fin de script, ou redémarrer ensuite)
|
||||
|
||||
## 4) Vérification post-reboot
|
||||
|
||||
```
|
||||
nvidia-smi
|
||||
nvcc --version
|
||||
sudo apt update
|
||||
sudo apt upgrade -y
|
||||
```
|
||||
nvidia-smi
|
||||
nvcc --version
|
||||
sudo apt update
|
||||
sudo apt upgrade -y
|
||||
|
||||
---
|
||||
|
||||
## Variante avec Makefile (recommandée)
|
||||
|
||||
Cette variante évite d’oublier une étape et normalise l’exécution.
|
||||
|
||||
1. Baseline OS (mises à jour + kernel), puis redémarrage
|
||||
|
||||
- make prereq
|
||||
- sudo reboot
|
||||
|
||||
1. Installation complète (driver Ubuntu + CUDA 12.8 + pinning APT), puis redémarrage
|
||||
|
||||
- make setup
|
||||
- (accepter le reboot si le script le demande, sinon sudo reboot)
|
||||
|
||||
1. Vérification rapide
|
||||
|
||||
- make check
|
||||
|
||||
1. Résumé (optionnel)
|
||||
|
||||
- make status
|
||||
|
|
@ -1,10 +1,20 @@
|
|||
# Validation — Checks rapides
|
||||
|
||||
## Option : validation via Makefile
|
||||
|
||||
Si le Makefile est disponible, tu peux faire une validation complète en une commande :
|
||||
|
||||
- make check
|
||||
|
||||
Pour un état récapitulatif (versions clés, chemin nvcc, nvidia-smi) :
|
||||
|
||||
- make status
|
||||
|
||||
---
|
||||
|
||||
## 1) Driver / GPU
|
||||
|
||||
```
|
||||
nvidia-smi
|
||||
```
|
||||
|
||||
Attendu :
|
||||
|
||||
|
|
@ -13,39 +23,37 @@ Attendu :
|
|||
|
||||
## 2) CUDA Toolkit (version installée)
|
||||
|
||||
```
|
||||
which nvcc
|
||||
nvcc --version
|
||||
```
|
||||
which nvcc
|
||||
nvcc --version
|
||||
|
||||
Attendu :
|
||||
|
||||
- `which nvcc` → `/usr/local/cuda-12.8/bin/nvcc`
|
||||
- `nvcc --version` indique CUDA 12.8
|
||||
- which nvcc → /usr/local/cuda-12.8/bin/nvcc
|
||||
- nvcc --version indique CUDA 12.8
|
||||
|
||||
Note :
|
||||
|
||||
- “CUDA Version: …” dans `nvidia-smi` n’est pas la version du toolkit installé ; c’est la capacité exposée par le driver.
|
||||
- “CUDA Version: …” dans nvidia-smi n’est pas la version du toolkit installé ; c’est la capacité exposée par le driver.
|
||||
|
||||
## 3) APT anti-régression (pinning effectif)
|
||||
|
||||
```
|
||||
apt-cache policy libnvidia-gl-580 libnvidia-egl-gbm1 nvidia-driver-580-open nvidia-utils-580 | sed -n '1,220p'
|
||||
```
|
||||
|
||||
Attendu :
|
||||
|
||||
- Les candidats `nvidia-*` / `libnvidia-*` proviennent d’Ubuntu
|
||||
- Le dépôt CUDA NVIDIA apparaît, mais ne “gagne” pas pour `nvidia-*` / `libnvidia-*` (pinning actif)
|
||||
- Les candidats nvidia-\* / libnvidia-\* proviennent d’Ubuntu
|
||||
- Le dépôt CUDA NVIDIA apparaît, mais ne “gagne” pas pour nvidia-\* / libnvidia-\* (pinning actif)
|
||||
|
||||
## 4) Upgrade propre
|
||||
|
||||
```
|
||||
sudo apt update
|
||||
sudo apt upgrade -y
|
||||
```
|
||||
sudo apt update
|
||||
sudo apt upgrade -y
|
||||
|
||||
Attendu :
|
||||
|
||||
- Aucun conflit `libnvidia-gl-580` ↔ `libnvidia-egl-gbm1`
|
||||
- Aucun paquet cassé / retenu pour cause de dépendances NVIDIA
|
||||
- Aucun conflit libnvidia-gl-580 ↔ libnvidia-egl-gbm1
|
||||
- Aucun paquet cassé / retenu pour cause de dépendances NVIDIA
|
||||
|
||||
Alternative équivalente (baseline OS) :
|
||||
|
||||
- make prereq (puis reboot recommandé)
|
||||
Loading…
Reference in a new issue