Mis en veille sous Debian 12 avec une carte graphique Nvidia Quadro K420

L'ordinateur se met en état d'hivernation, et au réveil j'ai un bel écran noir ! :o Solution pour redémarrer après une mise en veille prolongée un ordinateur qui utilise encore les anciennes générations de cartes graphiques NVIDIA sous Linux.

NVIDIA Quadro K420

L’ordinateur d’occasion que j’ai acheté au début de l’année 2024, datant de 2017, est équipé de cette carte graphique Quadro K420 :

Photo de la carte graphique NVIDIA K420
Spécification Valeur
Cœurs de traitement parallèle CUDA 192
Mémoire GPU 1 Go/2 Go DDR3
Consommation maximale 45 W
Bus graphique PCI Express 2.0 x16
Connecteurs d’affichage 1 port DVI-I et 1 port DP 1.2
Configuration 6,89 cm (hauteur) x 16 cm (largeur), emplacement unique
VR Ready Non

Cette carte graphique de la série Quadro fait partie des cartes Nvidia produites en grands exemplaires et sa petite dimension pour le bus PCI Express version 2 en fait le compagnon idéal pour les ordinateurs de bureau remis à neuf qui ne sont pas compatibles Windows 11 comme celui que j’ai pu acquérir…

… Et donc de faire tourner Linux :-)

Pilote officielle propriétaire et nouveau pilote logiciel libre

Cependant courant 2025 NVIDIA a cessé la prise en charge de ces modèles donc plus aucun pilote n’est fourni officiellement, et la plupart des distributions Linux ont abandonné par la suite le maintien de cette version au code source privé au profit de la version au code source public nommé nouveau.

Cette superbe initiative permet l’utilisation de fonctionnalités avancées comme l’accélération matérielle avec les dernières générations de cartes NVIDIA, mais malheureusement la compatibilité est insuffisante avec les anciennes générations comme les Quadros.

Cela est idéal donc pour une utilisation bureautique uniquement, et ne permettra pas de faire tourner correctement des applications 3D comme des animations dans un navigateur ou de simples jeux vidéos. Le pilote propriétaire reste la meilleure solution.

Compatibilité avec la version 6 du noyau Linux

En recherchant sur la page des pilotes de NVIDIA, on peut toujours récupérer la dernière version du pilote optimisée pour la K420 :

Capture d'écran du formulaire de recherche de pilotes
Spécification Valeur
Version du pilote 470.256.02
Date de sortie 2024 juin 4
Taille du fichier 272.85 MB
Infos Recommandé par NVIDIA.
Répond aux mêmes niveaux de qualité que les pilotes WHQL

La dernière version a été publiée en juin 2024. Il est possible de l’installer avec la version stable de Debian nommé BookWorm (12) qui utilise la version 6.1 du noyau mais pas Trixie (13) qui repose sur une version plus récente 6.12. Du moins pour l’instant.

Une version expérimentale en cours d’adaptation est effectivement présente dans le répertoire de Debian mais le support avec les dernières versions du noyau et le passage progressif à Wayland comme gestionnaire d’affichage par défaut ne permettra pas à mon avis d’obtenir de performances raisonnables avec ces anciens modèles… :^)

J’ai réussi à télécharger et installer le pilote en suivant les instructions que l’on peut trouver sur la toile. Pour l’instant j’utilise Debian 12 avec KDE au quotidien et tout marche parfaitement.

Problèmes avec le système de mise en veille

Mais quand mon PC s’est mis en veille, et que je suis revenu à mon bureau, les voyants étaient bien allumés mais rien ne s’affichait à l’écran. En lisant cet article posté sur le forum NVIDIA, j’ai appris qu’il était possible de ne pas déclencher le système d’hibernation NVIDIA de la carte graphique en désactivant les services correspondants :

sudo systemctl stop nvidia-suspend.service
sudo systemctl stop nvidia-hibernate.service
sudo systemctl stop nvidia-resume.service

sudo systemctl disable nvidia-suspend.service
sudo systemctl disable nvidia-hibernate.service
sudo systemctl disable nvidia-resume.service

L’utilisateur conseille de supprimer également le script Nvidia se trouvant à l’emplacement suivant :

sudo rm /lib/systemd/system-sleep/nvidia

Ce fichier n’étant qu’une passerelle vers le script suivant /usr/bin/nvidia-sleep.sh, au lieu de supprimer ce fichier présent dans le répertoire /lib, j’ai préféré ne pas y toucher et rajouter une sortie brute en haut du script comme ceci :

#!/bin/bash

# Hard exit
exit 0

Ainsi l’ordinateur redémarrera correctement… (H)
Mais la carte graphique ne se mettra jamais en veille.

Conclusion

Pour une pause prolongée il sera préférable d’éteindre complètement l’ordinateur. Pour une pause déjeuner ne pas mettre en veille la carte graphique n’est pas gênant à mon avis tant qu’aucune application n’utilise excessivement les ressources de la carte graphique.

Le pilote officiel n’étant plus mis à jour, les opérations décrites précédemment seront néanmoins à refaire lors de la réinstallation du pilote ou lors de la mise à jour du noyau bien évidemment.

(I) Et vous, utilisez-vous une autre distribution Linux ou appliquez-vous d’autres rustines manuellement ? Laissez-moi vos astuces dans les commentaires svp.

Laisser un commentaire