Jak zaktualizować moduły NVIDIA po aktualizacji jądra?

16

Za każdym razem, gdy pojawia się aktualizacja jądra, sterowniki graficzne NVIDIA przestają działać, ponieważ nie ma prawidłowego modułu jądra.

Jaki jest sposób Ubuntu na „rekompilację” modułu NVIDIA dla nowego jądra?

Czy nie należy tego robić automatycznie? Cierpię na błąd?

fazineroso
źródło

Odpowiedzi:

5

Jeśli zainstalowałeś sterownik NVIDIA jako pakiet ubuntu, powinien on być aktualizowany automatycznie po każdej aktualizacji jądra.

Możesz zainstalować spakowany sterownik za pomocą Additional Driversnarzędzia na pulpicie nawigacyjnym lub instalując pakiet nvidia-current.

Jeśli zainstalowałeś sterownik nvidia bezpośrednio z jego strony, prawdopodobnie rozsądnie jest go usunąć przed zainstalowaniem tego pakietu - nie jestem pewien, jak dobrze będzie w wykrywaniu konfliktu.

Jeśli zainstalowałeś pakiet z repozytoriów ubuntu, możesz spróbować go zrekonfigurować, dpkg-reconfigureale podejrzewam, że zbudowanie modułu nvidia jest uruchamiane przez zainstalowanie nowego jądra i nie jestem pewien, jak to zrobić inaczej. Tradycyjna deinstalacja i ponowna instalacja mogą również działać ( sudo apt-get remove nvidia-current; sudo apt-get install nvidia-current).

chronitis
źródło
Zainstalowałem sterownik nvidia poprzez pakiet Ubuntu. Ale aktualizacja jądra nie spowodowała ponownej kompilacji mojego modułu nvidia. W każdym razie dziękuję za twoje wskazówki.
fazineroso,
4

Dla mnie dpkg-rekonfiguracja przebudowuje sterownik Nvidia z najnowszym jądrem. To następnie wymaga ponownego uruchomienia komputera, aby zadziałało. Mój przykład poniżej wykorzystuje starsze aktualizacje nvidia-304.

sudo dpkg-reconfigure nvidia-304-updates

EDYCJA: Udało mi się to zautomatyzować pisząc skrypt, zz-dkpg-reconfigure-nvidiaktóry działa po aktualizacjach jądra

#!/bin/bash
#
# Reconfigure nvidia driver

DRIVER=nvidia-304-updates

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

exit 0

Zainstalowałem powyższy skrypt, uruchamiając

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

Działa na mojej aktualizacji jądra Ubuntu 14.04 3.13.0-29 do 3.13.0-36.

użytkownik424174
źródło
4

Po zainstalowaniu sterownika binarnego NVIDIA prawdopodobnie nie zainstalowałeś pakietu dkms. Dkms zapewnia, że ​​przy każdej aktualizacji jądra, moduły, które go obsługują, są rekompilowane:

sudo apt-get install dkms

Prawdopodobnie będziesz musiał później ponownie zainstalować sterowniki binarne NVIDIA i zezwolić na używanie DKMS podczas instalacji, ponieważ trzeba go zarejestrować.

Karel Lenc
źródło
Wystąpił ten sam problem i właśnie zrozumiałem, że nie zainstalowałem dkmspo przeczytaniu tej odpowiedzi.
yaobin
3

Jeśli chcesz odbudować tylko moduły jądra, możesz po prostu wykonać

sudo apt-get install --reinstall nvidia-current

jeśli masz zainstalowaną nvidia-current lub masz zainstalowaną nvidia-331, to powinno to zrobić:

sudo apt-get install --reinstall nvidia-331

nie trzeba dodawać repozytorium ani instalować nowego oprogramowania :-)

Steel Brain
źródło
1

Pamiętaj, że nie zaleca się instalowania aktualizacji jądra ani sterowników z oficjalnie nieobsługiwanych repozytoriów! Postępuj zgodnie z tymi instrukcjami na własne ryzyko i tylko jeśli wiesz, co robisz!

Jeśli zainstalowałeś jądro wyprzedzające obecne oficjalne repozytoria Ubuntu (np. Jądro 3.4 lub 3.5), możesz nie odnieść sukcesu po prostu ponownie instalując sterowniki nvidia.

Jedynym sposobem, jaki do tej pory znalazłem, aby ponownie uruchomić sterowniki NVIDIA, jest dodanie następującego ppa do swoich repozytoriów. W typie terminala:

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

Następnie wykonaj a sudo apt-get updatei sudo apt-get install nvidia-current.

To powinno wystarczyć. Jeśli nie, uruchom dodatkowy sudo apt-get upgrade.

FuzzyQ
źródło