Wie aktualisiere ich meine nvidia-Module nach der Aktualisierung meines Kernels?

16

Bei jedem Kernel-Update funktionieren die nvidia-Grafiktreiber nicht mehr, da kein gültiges Kernel-Modul vorhanden ist.

Was ist die Ubuntu-Methode, um das NVIDIA-Modul für den neuen Kernel neu zu kompilieren?

Sollte es nicht automatisch erfolgen? Ich habe einen Bug?

fazineroso
quelle

Antworten:

5

Wenn Sie den NVIDIA-Treiber als Ubuntu-Paket installiert haben, sollte er nach jedem Kernel-Upgrade automatisch aktualisiert werden.

Sie können den gepackten Treiber mithilfe des Additional DriversTools im Dashboard oder mithilfe des Pakets installieren nvidia-current.

Wenn Sie den nvidia-Treiber direkt von der Website installiert haben, ist es wahrscheinlich sinnvoll, ihn vor der Installation dieses Pakets zu entfernen. Ich bin nicht sicher, wie gut er den Konflikt erkennen kann.

Wenn Sie das Paket aus den Ubuntu-Repositorys installiert haben, können Sie versuchen, es neu zu konfigurieren. dpkg-reconfigureIch vermute jedoch, dass die Erstellung des NVIDIA-Moduls durch die Installation eines neuen Kernels ausgelöst wird. Die traditionelle Deinstallation und Neuinstallation könnte gut funktionieren ( sudo apt-get remove nvidia-current; sudo apt-get install nvidia-current).

Chronitis
quelle
Ich habe den nvidia-Treiber über ein Ubuntu-Paket installiert. Das Aktualisieren des Kernels löste jedoch nicht die Neukompilierung meines NVIDIA-Moduls aus. Trotzdem danke für eure Tipps.
Fazineroso
4

Für mich baut dpkg-reconfigure den Nvidia-Treiber mit dem neuesten Kernel neu auf. Dies erfordert dann einen Neustart, um wirksam zu werden. In meinem Beispiel unten werden die älteren nvidia-304-Updates verwendet.

sudo dpkg-reconfigure nvidia-304-updates

EDIT: Ich habe es geschafft, dies zu automatisieren, indem ich ein Skript geschrieben habe zz-dkpg-reconfigure-nvidia, das nach Kernel-Updates ausgeführt wird

#!/bin/bash
#
# Reconfigure nvidia driver

DRIVER=nvidia-304-updates

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

exit 0

Ich habe das obige Skript durch Ausführen installiert

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

Funktioniert auf meinem Ubuntu 14.04 Kernel 3.13.0-29 bis 3.13.0-36 Update.

user424174
quelle
4

Wenn Sie den NVIDIA-Binärtreiber installiert haben, haben Sie das dkms-Paket wahrscheinlich nicht installiert. Dkms stellt sicher, dass jedes Mal, wenn Sie den Kernel aktualisieren, Module neu kompiliert werden, die dies unterstützen:

sudo apt-get install dkms

Möglicherweise müssen Sie die NVIDIA-Binärtreiber anschließend erneut installieren und während des Setups die Verwendung von DKMS zulassen, da diese bei diesem registriert werden muss.

Karel Lenc
quelle
Ich stoße auf das gleiche Problem und habe gerade festgestellt, dass ich es dkmsnach dem Lesen dieser Antwort nicht installiert habe .
Yaobin
3

Wenn Sie nur die Kernelmodule neu erstellen möchten, möchten Sie möglicherweise nur ausführen

sudo apt-get install --reinstall nvidia-current

Wenn Sie nvidia-current installiert haben oder wenn Sie nvidia-331 installiert haben, sollte dies die Arbeit erledigen:

sudo apt-get install --reinstall nvidia-331

Keine Notwendigkeit, ein Repo hinzuzufügen oder neue Software zu installieren :-)

Stahl Gehirn
quelle
1

Bitte beachten Sie, dass weder die Installation eines Kernel-Upgrades noch die Installation von Treibern aus offiziell nicht unterstützten Repositories empfohlen wird! Befolgen Sie diese Anweisungen auf eigenes Risiko und nur, wenn Sie wissen, was Sie tun!

Wenn Sie einen Kernel installiert haben, der den aktuellen offiziellen Ubuntu-Repositorys voraus ist (z. B. Kernel 3.4 oder 3.5), gelingt es Ihnen möglicherweise nicht, die nvidia-Treiber einfach neu zu installieren.

Die einzige Möglichkeit, die ich bisher gefunden habe, um nvidia-Treiber wieder zum Laufen zu bringen, ist das Hinzufügen des folgenden ppa zu Ihren Repositorys. In einem Terminaltyp:

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

Danach machen Sie a sudo apt-get updateund sudo apt-get install nvidia-current.

Das sollte den Trick machen. Wenn nicht, führen Sie einen zusätzlichen aus sudo apt-get upgrade.

FuzzyQ
quelle