Problème : vous devez gérer manuellement les versions des pilotes sous Linux.
Dans un environnement Windows, vous installerez les pilotes à l'aide des outils de nvidia, ou vous laisserez Windows s'en occuper, qui sélectionne généralement automatiquement la bonne version. Sous Linux, le mainteneur de paquets a créé des paquets où différentes versions du pilote Nvidia sont intégrées au noyau (le pilote est un module du noyau). Vous devez donc sélectionner vous-même la bonne version. La plupart des distributions ont un non-free
qui contient des blobs de pilotes nvidia précompilés à utiliser dans leurs noyaux, ce qui est le cas de ce dépôt. nvidia
le paquet est.
Donc, vous avez installé le mauvais pilote. D'abord, nous devons sauver le bureau. S'il ne s'exécute pas correctement dans un bureau, votre machine fonctionnera probablement encore en mode VGA, alors changeons le runlevel du système en 3.
Comment changer de niveau d'exécution et désinstaller ?
Lorsque vous arrivez à l'écran "grub" dans le cadre du processus de démarrage, appuyez sur l'une des touches fléchées pour vous arrêter à l'écran de sélection. Si vous avez un système qui démarre très rapidement, il se peut que cette étape passe rapidement. Dans ce cas, vous pouvez maintenir la touche SHIFT
pour venir ici. Allez sur e
pour modifier les commandes. Descendez jusqu'à la commande qui démarre le noyau linux. Habituellement, il s'agit d'une ligne commençant par
linux vmlinuz-
Il est généralement suivi d'une ligne commençant par initramfs
. Faites défiler jusqu'à la fin de la ligne linux en appuyant sur End
puis ajoutez un espace suivi du numéro 3
à ce dernier. Cela devrait vous faire démarrer sur une console. Désinstallez le paquet que vous avez installé à partir de cette ligne de commande en utilisant le gestionnaire de paquets cli. Exemples ;
sudo apt-get remove <package-name> && sudo apt-get autoremove
sudo yum remove <package-name>
sudo pacman -Rs <package-name>
Ou consultez le gestionnaire de paquets Rosetta .
Comment installer la bonne version
Vous devez connaître la version de votre GPU. Si vous la connaissez déjà, passez cette étape. Sinon, exécutez
lspci -v | grep -i 'vga\|3d\|2d'
dans un terminal. Il devrait sortir une chaîne contenant le modèle du GPU. Si cela n'est pas assez utile, vous pouvez noter les chiffres au début de la sortie (l'adresse PCI) et les interroger manuellement en utilisant
lspci -v -s 02:00.0
(Les chiffres varient en fonction de la carte mère exacte de l'ordinateur et de la façon dont les choses sont câblées).
Ensuite, recherchez la version dont vous avez besoin sur La liste de l'héritage de Nvidia . Le tableau ci-dessous répertorie également les versions courantes des processeurs graphiques (en gros, certaines générations contiennent des rebrands qui font en fait partie de la génération précédente et peuvent donc nécessiter un pilote plus ancien). Vérifiez ensuite, pour cette version, si elle est toujours prise en charge. À partir de maintenant (sept. 2020), la version du 390.xx
est le dernier pilote pris en charge. Si votre gpu a besoin d'une version antérieure, vous devez également avoir un noyau plus ancien et une version X.org pour que les choses fonctionnent. Pourquoi ? Parce que le noyau change à chaque nouvelle version et que NVidia modifie essentiellement le code du noyau. Ainsi, pour que ses pilotes propriétaires continuent de fonctionner, NVidia doit continuellement les mettre à jour.
Consultez le tableau ci-dessous. Note : les entrées avec ?
Les notes sont des suppositions basées sur les dates de sortie, la documentation officielle n'étant pas disponible, les versions plus récentes peuvent fonctionner. Des recherches seraient nécessaires pour vérifier quelles versions fonctionneront.
+----------------+----------------+---------------+-------------------------+
| Nvidia version | Kernel version | X.Org version | GPUs |
+----------------+----------------+---------------+-------------------------+
| 390.xx | all | all | 3xx/4xx/5xx/6xx/7xx |
| 340.xx | 5.4 | 1.20 | 8xxx/9xxx/2xx/3xxM/405M |
| 304.xx | 4.13 | 1.19 | 6xxx/7xxx |
| 173.14.xx | 4.2? | 1.15 | 5xxx |
| 96.43.xx | 2.6? | 1.12 | 2MX/3/4 |
| 71.86.xx | 2.6? | 1.12? | Riva TNT/Geforce 1 |
+----------------+----------------+---------------+-------------------------+
Vous pouvez également consulter le dates de sortie ici. Essayez d'utiliser un noyau qui est plus ancien que cette date, mais aussi récent que possible dans le cadre de la restriction. Ainsi, si un pilote graphique a publié la dernière version en décembre 2013, essayez d'utiliser un noyau datant de quelques mois plus tôt en 2013.
Si vous avez trouvé la bonne version du noyau, nous voulons maintenant rétrograder la distribution : installez la version correcte de votre distribution qui correspond à cette version du noyau. Ou, certaines distributions permettent d'installer / retenir des paquets. Vous voulez retenir X.org et le noyau linux à la version indiquée. Très souvent, des paquets sont également fournis pour des versions spécifiques de X.org et du noyau. Par exemple, un X-1.19
qui conserve les dernières 1.19
libération.
Ces derniers sont appelés différemment en fonction de votre gestionnaire de paquets. Enfin, installez la version correcte du paquet du pilote nvidia en utilisant le gestionnaire de paquets.
Installation directe du pilote
- Téléchargez la version du pilote dont vous avez besoin directement auprès de NVidia .
Assurez-vous que la version correspond. Vérifiez également que l'architecture correspond (si vous utilisez linux 32 bits, téléchargez la version sans 64
en elle). Vérifiez l'onglet "Produits pris en charge" sur la page d'accueil du téléchargement et assurez-vous que votre GPU y figure.
- Installer le
dkms
paquet.
- Installez le paquetage des fichiers d'en-tête du noyau pour votre distribution.
- Désactiver
nouveau
manuellement.
Modifier la configuration de grub (emplacement typique : /etc/default/grub
), modifiez la valeur de GRUB_CMDLINE_LINUX
et ajouter nouveau.modeset=0
à la variable citée. Puis exécutez :
Système BIOS
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Système UEFI
L'emplacement du fichier de sortie varie selon la distribution. (Dans arch, il est même complètement arbitraire). On le trouve généralement sous /boot/efi
et généralement appelé grub.cfg
. Vous pouvez savoir où chercher en exécutant
efibootmgr -v
et examiner la sortie. Cette sortie utilise la notation DOS, donc inverse les slashs des chemins de répertoire. Ensuite, exécutez, en supposant que l'entrée de sortie contenait File(\EFI\boot\bootx64.efi)
sudo grub2-mkconfig -o /EFI/boot/bootx64.efi
- Redémarrez au niveau d'exécution 3. (Les instructions sont ci-dessus)
- Exécuter le fichier téléchargé
Exécutez la commande suivante, en supposant que vous avez téléchargé le pilote Nvidia dans un fichier downloads
dans votre $HOME
:
sudo bash /home/<username>/downloads/NVIDIA-linux-x86_64-<VERSION>
Remarque : sur un système 32 bits, vous auriez téléchargé la version 32 bits de la bibliothèque.
Sur un système 64 bits, il vous interrogera sur les bibliothèques de compatibilité 32 bits. Réponse : YES
. Répondez également YES
lorsqu'il vous demande de mettre automatiquement à jour votre fichier de configuration X.
- Redémarrez le système (en mode normal maintenant).
- Vous pouvez également exécuter
nvidia-settings
pour ajuster les performances.