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?
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
).
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.
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.
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 :-)
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.