Installation NVIDIA (non free)

Tags: #<Tag:0x00007f58ce7119b0> #<Tag:0x00007f58ce711870>

Introduction
L’installation des cartes NVidia posant souvent des problèmes, un léger tuto peut aider à gérer quelques difficultés. Il s’agit ici du pilote non-free (propriétaire)
cet article ne concerne principalement que Bullseye et éventuellement Buster.

Installation normale:
Installer en tout premier lieu le paquet nvidia-detect, qui permettra de connaitre le pilote nécessaire. Depuis Debian 10 « Buster », ce paquet n’est disponible principalement QUE pour l’architecture amd64 - pas x86.

  1. Ajouter le dépôt non-free, si ce n’est pas fait.
  2. Pour installer le paquet :
    apt install nvidia-detect
  3. Lancer ensuite la détection du pilote lié à la carte :
    nvidia-detect
  4. Ensuite installez le pilote indiqué par le retour de la commande précédente.
    apt install <nom-du-pilote-driver>
  5. Il est possible que vous puissiez avoir une réponse du type suivante :
    Detected NVIDIA GPUs:
    01:00.0 VGA compatible controller [0300]: NVIDIA Corporation G84 [GeForce 8600 GT] [10de:0402] (rev a1)

    Checking card:  NVIDIA Corporation G84 [GeForce 8600 GT] (rev a1)
    Your card is only supported by the 340 legacy drivers series, which is only available up to buster.

Auquel cas, passez au point suivant pour une résolution possible du problème. Sinon vous avez fini.

Installation pilote non disponible dans Buster/Bullseye:
Pour pouvoir installer le pilote 340 legacy par exemple, il faut aller regarder dans le version SID.
Pour cela, il faut ajouter SID dans le fichier sources.list de apt (j’utilise vim, mais ca marche aussi avec nano, emacs ou quelque soit votre éditeur préféré):
vim /etc/apt/sources.list

  1. Ajouter la ligne suivante:
    deb http://deb.debian.org/debian/ sid main non-free contrib
  2. Puis faire une mise à jour des sources:
    apt update
  3. Installer le pilote (ici 340 legacy):
    apt install nvidia-legacy-340xx-driver
  4. Ensuite commenter la ligne précédemment ajoutée dans /etc/apt/sources.list:
    #deb http://deb.debian.org/debian/ sid main non-free contrib
  5. Faire à nouveau un update des sources (afin de ne pas pourrir votre installation lors d’une prochaine mise à jour générale ou d’installation d’un nouveau package):
    apt update

Il est préférable en effet de commenter la ligne, car à chaque installation/mise à jour de noyau, il faudra recommencer l’opération car la mise à jour du pilote ne se fera pas correctement.

Mise à jour du pilote

Pour mettre à jour le pilote une fois installé, c’est assez risqué: il faut juste mettre à jour le pilote et les fichiers associés sans toucher au reste de l’installation.
Pour ça, il faut activer SID comme précédement.
Faire un update:
apt update
déterminer les packages nvidia à mettre à jour:
apt list --upgradable | grep -i nvidia
Après quoi, il suffit de faire :
apt-get --only-update <liste des paquets voulus>

Enfin, commenter la ligne SID comme dans le paragraphe précédent et un nouvel apt update

4 J'aime

Pour information, nvidia-detect n’existe plus dans Sid.

t’es sûr de toi ?

https://packages.debian.org/sid/nvidia-detect

Tu remarquera que le nvidia-detect est fait avec SID mais avec Bullseye :slight_smile: SID c’est après :slight_smile: et c’est volontaire car sinon c’est un package SID qui est donné même s’il existe sur Bullseye.

> cat /etc/issue
Debian GNU/Linux bookworm/sid \n \l
> apt policy nvidia-detect
N: Impossible de trouver le paquet nvidia-detect

De toute façon, on s’en fout vu que ce n’est pas avec SID qu’on le fait :slight_smile:

Moi j’ai sa

$ apt policy nvidia-detect
nvidia-detect:
  Installé : 470.94-1
  Candidat : 470.94-1
 Table de version :
 *** 470.94-1 500
        500 http://deb.debian.org/debian unstable/non-free amd64 Packages
        100 /var/lib/dpkg/status
1 J'aime

Oui, mais je suis encore en x86.

Donc hors sujet :slight_smile:

Je ne dois pas avoir les yeux en face des trous mais je n’ai pas vu dans le message d’ouverture où tu causes d’amd64.

Bonjour

debian propose des paquetages et des fichiers iso d’installation
pour plusieurs architectures <=> suivant le jeux d’instructions accepté par le microprocesseur de la machine.

Pour les PC équipés d’un microprocesseur capable d’utiliser le jeux d’instruction 32 bits
il faudra choisir les paquetages et images ISO d’installation prévues pour i386

Pour les PC équipés d’un microprocesseur capable d’utiliser le jeux d’instruction 64 bits
il faudra choisir les paquetages et images ISO d’installation prévues pour amd64


Voir aussi :

Les paquets « nonfree » et « contrib » sont déclarés dans /etc/apt/sources.list ?
C’est nécessaire pour installer nvidia-detect…

Ben oui, sinon je n’aurais pas les pilotes idoines. Par ailleurs :

> grep ^d /etc/apt/sources.list
deb http://ftp.fr.debian.org/debian unstable main contrib non-free
deb-src http://ftp.fr.debian.org/debian unstable main contrib non-free
deb http://www.deb-multimedia.org unstable main non-free
deb http://debian.drdteam.org/ stable multiverse

Bizarre alors, voilà ce que j’ai :

$ cat /etc/issue
Debian GNU/Linux bookworm/sid \n \l

$ grep ^d /etc/apt/sources.list
deb http://deb.debian.org/debian/ bookworm main non-free contrib
deb-src http://deb.debian.org/debian/ bookworm main non-free contrib
deb http://security.debian.org/debian-security bookworm-security main non-free contrib
deb-src http://security.debian.org/debian-security bookworm-security main non-free contrib

$ sudo apt policy nvidia-detect
nvidia-detect:
  Installé : 470.103.01-2
  Candidat : 470.103.01-2
 Table de version :
 *** 470.103.01-2 100
        100 /var/lib/dpkg/status

Les sources sont légèrement différentes…

Il a été installé puis supprimé automatiquement.
Je soupçonne un problème d’architecture (x86 pour moi).

amd64 pour moi.

Je sais que je vais pas me faire des amis, mais c’est vieux ça maintenant …

Et non le paquet n’existe pas en x86 :

https://packages.debian.org/sid/nvidia-detect

Je sais mais mon vieux tromblon n’est pas en état de recevoir un changement d’architecture.
Le processeur, oui, le reste de la machine, on va attendre une nouvelle machine.

Il n’existe plus, puisque je l’ai vu.

C’est de la sémantique, mais oui il n’est pas présent actuellement.

Juste non-free :wink:


Bonjour,

@Zargos :

⇒ attention : il est actuellement non recommandé d’utiliser le pilote 340.x !

L’utilisation du pilote des versions 340 est fortement découragée. Il n’est plus inclus dans les versions stables de Debian, présente de sérieuses vulnérabilités de sécurité non corrigibles et peut ne pas être mis à jour pour les nouveaux noyaux en temps opportun. Il est fortement recommandé d’utiliser le pilote Nouveau intégré si la sécurité est une priorité.

⇒ il serait intéressant de rajouter un laïus, concernant les architectures Optimus, car depuis Debian 11, @Bullseye, il suffit d’installer principalement - car cela peut échoué - le pilote privatif.

  • NVIDIA Optimus - Debian Wiki (page non traduite en FR)
    En gros :
    • si UEFI, désactiver l’option « Secure Boot ».
    • Installer le pilote nvidia
    • utiliser la variable d’environnement « __NV_PRIME_RENDER_OFFLOAD=1 » devant l’application à lancer.
      • pour les applications utilisant les bibliothèques GLX, tel Steam, utiliser plutôt « __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia »

Voilà !
(c’est la méthode principale à privilégier ; il existe d’autres méthodes dont l’utilisation directe du seul GPU Nvidia, mais c’est plus ou moins plus compliqué ; voir la page « Nvidia Optimus » du wiki Debian - ci-dessus)


Je viens d’épingler le sujet :wink: