Ubuntu LTS Randomly Broke 12 Year Old GPUs

Ubuntu a retiré le support du pilote NVIDIA 470 pour les GPU Kepler en cours de cycle LTS, en le remplaçant par un paquet de transition vers le 535 qui ne fonctionne pas avec ces cartes, cassant ainsi des systèmes stables sans avertissement clair.

Voir la source

SYNTHÈSE STRUCTURÉE

Contexte : le pilote NVIDIA 470 et les GPU Kepler

Le pilote NVIDIA 470 est la dernière version officielle supportant les GPU Kepler (séries 600 et 700, lancées en 2012). Ces cartes, comme la Quadro K6000 ou la GT 710, sont encore utilisées dans des serveurs ou des postes de travail pour des tâches basiques (affichage, CUDA sur noyau 6.8). L’intervenant précise : « Basically, any person using 470 at this point is doing so intentionally because the hardware they have requires that driver. » Ce pilote n’est plus maintenu par NVIDIA, mais fonctionnait correctement sur Ubuntu 24.04 LTS avec le noyau 6.8.

Le problème : une transition forcée vers le 535 qui brise les systèmes

En mai 2024, un bug a été ouvert sur Launchpad : le pilote 470 ne compile plus avec le noyau HWE 6.17. Ubuntu a décidé de ne pas patcher le pilote, arguant que « Fixing 470’s code to compile against new kernels is not feasible ». Plutôt que de laisser le pilote 470 en l’état, ils ont publié un paquet de transition qui remplace le 470 par le 535. Or, le 535 ne supporte pas les GPU Kepler. Résultat : les utilisateurs se retrouvent avec un pilote installé qui ignore leur carte, la faisant fonctionner en mode dégradé (640×480). L’intervenant résume : « You just transitioned users from a working system to a broken system for no good reason. »

L’absence d’avertissement et de communication

Le problème central est l’absence de notification claire. Aucun message dans apt n’avertissait les utilisateurs que le paquet 470 allait être remplacé par le 535, incompatible avec leur matériel. Un utilisateur témoigne : « No warning, no migration path, no heads up of any kind, just a broken system and a trail of breadcrumbs to follow backward. » Ubuntu a simplement marqué le bug comme « won’t fix », en renvoyant vers un fil Discourse. L’intervenant souligne : « This should have been a warning in apt. »

Impact sur les utilisateurs LTS

L’incident s’est produit en cours de cycle LTS (24.04), ce qui contredit l’objectif même d’une version LTS : la stabilité. Un utilisateur explique : « Things like this are specifically the reason why some people use an LTS. » La transition a forcé des administrateurs à passer des heures à réparer leurs systèmes, certains ayant des configurations CUDA critiques nécessitant le couple noyau 6.8 + pilote 470. L’intervenant ajoute : « This is a prime example why if you are not paying for the LTS, LTS distros do not exist. »

Solutions de contournement proposées

Plusieurs options existent pour les utilisateurs affectés :

  • Revenir au noyau 6.8 : Supprimer les paquets HWE avec sudo apt remove --auto-remove linux-generic-hwe-24.04 pour ne recevoir que les mises à jour du noyau 6.8.
  • Utiliser Nouveau : Le pilote open source recommandé par NVIDIA pour les cartes non supportées, mais avec des performances réduites.
  • Installer le pilote via le .run officiel NVIDIA : Risque de casser à chaque mise à jour du noyau.
  • Utiliser un PPA communautaire : Linux Mint a documenté une procédure pour conserver le 470, via un PPA dédié.
  • Migrer vers Arch Linux : Le pilote 470 est toujours disponible dans l’AUR, avec un support plus flexible.

Précédent historique : le pilote 390

Ce n’est pas la première fois qu’Ubuntu retire brutalement un pilote legacy. L’intervenant rappelle : « Ubuntu suddenly dropped support for the 390.xx midway through 22.04 cycle. » Ce pattern montre une tendance à ne pas maintenir les pilotes obsolètes, même en LTS, ce qui pose un problème de confiance pour les utilisateurs de matériel ancien.

Leçons pour les administrateurs

  • Piner les paquets : Pour éviter les transitions non désirées, utiliser apt-mark hold nvidia-driver-470 ou configurer des pins dans /etc/apt/preferences.d/.
  • Tester les mises à jour : Toujours vérifier les changelogs et les annonces avant d’appliquer des mises à jour majeures de pilotes.
  • Prévoir un plan de transition : Pour du matériel ancien, anticiper le passage à Nouveau ou à un pilote open source, ou prévoir un remplacement matériel.

CONCEPTS CLÉS

  • Kepler : Microarchitecture GPU NVIDIA (2012), séries 600 et 700, non supportée par les pilotes modernes (535+).
  • HWE (Hardware Enablement) : Noyaux plus récents rétroportés sur une version LTS pour supporter du matériel récent, mais qui peuvent casser la compatibilité avec du matériel ancien.
  • DKMS (Dynamic Kernel Module Support) : Système permettant de recompiler automatiquement un module noyau (comme un pilote NVIDIA) après une mise à jour du noyau.
  • Paquet de transition : Paquet vide qui force le remplacement d’un paquet par un autre lors d’une mise à jour, sans vérifier la compatibilité matérielle.

CONCLUSION

Le retrait du pilote NVIDIA 470 par Ubuntu en cours de cycle LTS illustre un échec de communication et de gestion de la transition. En remplaçant un pilote fonctionnel par un autre incompatible sans avertissement, Ubuntu a brisé la confiance des utilisateurs de matériel ancien, pour qui la stabilité LTS était cruciale. La leçon pour les administrateurs est double : d’une part, toujours piner les paquets critiques et surveiller les annonces ; d’autre part, ne pas considérer une version LTS comme un gage de stabilité absolue pour du matériel non supporté en amont. Comme le conclut l’intervenant : « If you can, possibly get even a slightly newer GPU, because this is going to be a problem for you again and again. »

Du même canal

Tout voir