web-dev-qa-db-fra.com

Comment mettre à jour mes modules nvidia après la mise à jour de mon noyau?

Chaque fois qu'il y a une mise à jour du noyau, les pilotes graphiques nvidia cessent de fonctionner car il n'y a pas de module de noyau valide.

Quel est le moyen utilisé par Ubuntu pour "recompiler" le module nvidia pour le nouveau noyau?

Cela ne devrait-il pas être fait automatiquement? Je souffre d'un insecte?

15
fazineroso

Si vous avez installé le pilote NVIDIA en tant que paquet ubuntu, il devrait être mis à jour automatiquement après chaque mise à niveau du noyau.

Vous pouvez installer le pilote fourni avec l'outil Additional Drivers dans le tableau de bord ou en installant le package nvidia-current.

Si vous avez installé le pilote nvidia directement à partir de son site Web, il est probablement judicieux de le supprimer avant d'installer ce paquet - je ne suis pas certain de son efficacité à détecter le conflit.

Si vous avez installé le paquet à partir des référentiels ubuntu, vous pouvez essayer de le reconfigurer avec dpkg-reconfigure mais je suppose que la construction du module nvidia est déclenchée par l'installation d'un nouveau noyau, et je ne sais pas comment le déclencher. La désinstallation et la réinstallation traditionnelles pourraient bien fonctionner (Sudo apt-get remove nvidia-current; Sudo apt-get install nvidia-current).

5
chronitis

Lorsque vous avez installé le pilote binaire NVIDIA, vous n'avez probablement pas installé le package dkms. Dkms s'assure que chaque fois que vous mettez à jour le noyau, les modules qui le prennent en charge sont recompilés:

Sudo apt-get install dkms

Vous devrez probablement réinstaller les pilotes binaires NVIDIA par la suite et autoriser l’utilisation de DKMS lors de l’installation, car il doit être enregistré avec celui-ci.

4
Karel Lenc

Pour moi, dpkg-reconfigure reconstruit le pilote Nvidia avec le dernier noyau. Cela nécessite ensuite un redémarrage pour prendre effet. Mon exemple ci-dessous utilise les anciennes mises à jour de nvidia-304.

Sudo dpkg-reconfigure nvidia-304-updates

EDIT: j'ai réussi à automatiser cela en écrivant un script zz-dkpg-reconfigure-nvidia qui s'exécute après les mises à jour du noyau

#!/bin/bash
#
# Reconfigure nvidia driver

DRIVER=nvidia-304-updates

dpkg-reconfigure $DRIVER > /var/log/dpkg-reconfigure-nvidia.log 2>&1

exit 0

J'ai installé le script ci-dessus en exécutant

Sudo install zz-dkpg-reconfigure-nvidia /etc/kernel/postinst.d

Fonctionne sur la mise à jour de mon noyau Ubuntu 14.04 3.13.0-29 à 3.13.0-36.

4
user424174

Si vous souhaitez reconstruire uniquement les modules du noyau, vous pouvez simplement exécuter

Sudo apt-get install --reinstall nvidia-current

si vous avez installé nvidia-current ou si vous avez installé nvidia-331, le travail devrait être fait:

Sudo apt-get install --reinstall nvidia-331

pas besoin d'ajouter un dépôt ou d'installer un nouveau logiciel :-)

3
Steel Brain

Veuillez noter qu'il n'est pas recommandé d'installer une mise à niveau du noyau ou des pilotes à partir de référentiels officiellement non pris en charge! Suivez ces instructions à vos risques et périls et seulement si vous savez ce que vous faites!

Si vous avez installé un noyau qui est en avance sur les référentiels officiels Ubuntu actuels (par exemple, les noyaux 3.4 ou 3.5), vous risquez de ne pas réussir à réinstaller simplement les pilotes nvidia.

Le seul moyen que j’ai trouvé jusqu’à présent pour que les pilotes nvidia fonctionnent de nouveau est d’ajouter le ppa suivant à vos référentiels. Dans un type de terminal:

Sudo add-apt-repository ppa:xorg-edgers/ppa

Après cela, faites un Sudo apt-get update et un Sudo apt-get install nvidia-current.

Cela devrait faire l'affaire. Sinon, exécutez un Sudo apt-get upgrade supplémentaire.

1
FuzzyQ