Sterowniki NVIDIA nie działają po aktualizacji. Dlaczego widzę tylko terminal?

34

Dzisiaj zaktualizowałem do 11.04. Problemy Po zakończeniu aktualizacji ponownie uruchomiłem komputer, tak jak mi powiedział. Kiedy minąłem Ubuntu 11.04 (pomarańczowe kropki w fioletowym tle), po prostu poszedł do terminala i poprosił mnie o zalogowanie. Próbowałem zrestartować serwer X przy pomocy „sudo service gdm restart”, ale nie pojawił się żaden ekran. Zdarzyło mi się też mieć kilka sterowników NVIDIA w pliku do pobrania, więc spróbowałem, ale „skrypt instalacyjny” nie powiódł się.

Po tym wszystkim uruchomiłem Ubuntu w trybie awaryjnym. Następnie postanowiłem zobaczyć, co się stanie, jeśli usunę zastrzeżony sterownik. Po zrobieniu tego i ponownym uruchomieniu mojego Ubuntu uruchomiłem się w trybie graficznym „yay!”. Więc bez sterowników Nvidii mogę wreszcie zobaczyć coś innego niż terminal, ale potrzebuję tych sterowników NVIDIA do mojej pracy. Więc co mogę zrobić? Próbowałem zainstalować nowe sterowniki linuksowe NVIDIA ze strony internetowej NVIDIA i próbowałem zainstalować zalecany sterownik za pomocą „dodatkowych sterowników”, ale oba spowodowały, że utknąłem w terminalu.

Jeśli możesz mi pomóc lub dać mi radę, PROSZĘ ZROBIĆ! Naprawdę jestem w bardzo złej sytuacji ...

Sixthlaw
źródło
2
Czy najpierw usunąłeś plik /etc/X11/xorg.conf, a następnie uruchom ponownie komputer, a następnie próbujesz aktywować wersję sterowników dodatkowych sterownika NVIDIA?
fossfreedom
1
Mam ten sam problem. Aktywuję sterownik, wylogowuję się i widzę „Nie znaleziono urządzeń” w X logu. Jeśli usunę xorg.conf, X uruchomi się bez obsługi GLX. Modprobe mówi, że nvidiasterownik jest załadowany.
vissi
Nie, nie usunąłem pliku Xorg.conf. Mam bardzo problem z tym, że się odzywasz. To jest straszne.
Sixthlaw
Polecam przeczytanie tego przewodnika: askubuntu.com/questions/61396/…
Luis Alvarado

Odpowiedzi:

30

Musisz uruchomić system w trybie odzyskiwania, następnie wydać apt-get remove --purge nvidia-currentna terminalu głównym, a następnie apt-get install nvidia-current- w celu przebudowania sterownika nvidia dla nowego jądra. Miałem ten problem również podczas aktualizacji.

Proszę nie instalować sterowników ze strony nVidia btw! Możesz spowodować poważne kłopoty, jeśli później spróbujesz zainstalować zalecany sterownik bez uprzedniego usunięcia poprzedniego.

Edycja: Musisz uruchomić te polecenia z terminala. Nie mogę zagwarantować idealnego wyniku, ponieważ idę na podstawie tego, co znalazłem w Internecie i z pamięci.

Problem, który otrzymujesz, jest spowodowany posiadaniem różnych komponentów trybu użytkownika i modułów jądra. Aby to naprawić, moduł jądra nvidia musi zostać przebudowany. Ma się to zdarzyć przy ponownym uruchomieniu, ale często tak się nie dzieje.

Najpierw musisz zainstalować nagłówki jądra Linux:

  • sudo apt-get install linux-headers-generic

Następnie musisz uruchomić dkms, aby usunąć stary moduł jądra NVIDIA:

  • sudo dkms remove nvidia

Następnie uruchomić:

  • sudo apt-get install nvidia-current
  • to powinno sprawić, że zostanie poprawnie zainstalowany, więc wszystko, co musisz zrobić, to uruchomić sudo nvidia-xconfig and reboot.
  • Jeśli nadal pojawia się błąd dotyczący wersji modułu, uruchom: sudo dkms build nvidia

To powinno rozwiązać problem.

Przepraszam, jeśli wszystko jest trochę mylące, starałem się połączyć proces, który musiałem wykorzystać w mojej pamięci :)! Jeśli napotkasz problemy, nie wahaj się dać mi znać (a jeśli ktoś zauważy jakiekolwiek problemy z instrukcjami, daj mi znać JAK NAJSZYBCIEJ) !!!!


Aktualizacja:

Znalazłem inną możliwą przyczynę. Nouveau mogło nie znaleźć się na czarnej liście, a nvidia-current mogła nie umieścić się w pliku .conf, który służy do wyboru sterownika ekranu. Oto jak to naprawić:

NB:

Zanim przejdziesz dalej, upewnij się, że masz sterownik nvidia z repozytoriów. Pobranie sterownika ze strony nvidii może powodować problemy później, ponieważ nie używa formatu pakietu debian i pozostawia w tyle rzeczy, które mogą kolidować z późniejszymi instalacjami. Dlatego najpierw usuń wszelkie ślady, a następnie zainstaluj standardowy sterownik z repozytoriów Ubuntu. Jeśli tego nie zrobisz, otrzymasz niedopasowanie sterownika, a ta poprawka będzie bezcelowa.

  • Jeśli utkniesz w konsoli, zaloguj się i zainstaluj sterownik Nouveau X.org: sudo apt-get install xserver-xorg-video-nouveau
  • Uruchom ponownie komputer (tak, będziesz mieć działającą grafikę! Ale to jest tymczasowe).
  • Otwarte gedit jako root: gksu gedit.
  • Z gedit otwarte /etc/modprobe.d/blacklist.conf.
  • Dodaj tę linię na dole: blacklist nouveau.
  • Zapisz plik i otwórz /etc/modprobe.d/nvidia-graphics-drivers.conf.
    • Dodaj te linie:

      blacklist nouveau
      blacklist lbm-nouveau
      blacklist nvidia-173
      blacklist nvidia-96
      alias nvidia nvidia-current

  • Teraz zapisz ten plik i zamknij gedit.
  • Biegać:
    • sudo nvidia-xconfig,
    • i wtedy:
    • sudo apt-get remove xserver-xorg-video-nouveau,
    • śledzony przez:
    • sudo shutdown -r now.
  • Po ponownym uruchomieniu systemu powinieneś mieć działające sterowniki NVIDIA.
Nawiasem mówiąc, wydaje się, że ten problem braku czarnej listy na nowości występuje w nowszych sterownikach (nvidia-current), więc zasugerowałbym po naprawieniu problemu, abyś poczekał na aktualizację tego błędu (wkrótce zamierzam zgłosić błąd ).

Alternatywne rozwiązanie: jeśli zainstalowałeś sterowniki NVIDIA z ich strony internetowej, musisz uruchomić komputer z terminalem tekstowym (przytrzymaj podczas rozruchu, aby wyświetlić menu GRUB i wybierz tryb „odzyskiwania” wersji jądra, która ostatnio współpracowała ze sterownikami NVIDIA, i wybierz wiersz poleceń jako opcję roota)

Następnie uruchom oryginalny skrypt instalacji NVIDIA, który uruchomiłeś, aby zainstalować sterowniki NVIDIA z ich strony internetowej. np sudo ./NVIDIA-Linux-x86-290.10.run --uninstall. (Twoja wersja może się różnić.)

Nie musisz uruchamiać polecenia „sudo dkms remove nvidia”, ponieważ nie dotyczy to twojego przypadku.

RolandiXor
źródło
Próbowałem tego, ale po ponownym uruchomieniu ponownie pokazałem tylko terminal. Próbowałem sudo startx w terminalu i otrzymałem między innymi następujące komunikaty: BŁĄD: Niezgodność API: moduł jądra NVIDIA ma wersję 260.19.36, składnik sterownika NVIDIA ma wersję 270.41.06. Upewnij się, że moduł jądra i wszystkie komponenty sterownika nvidia mają tę samą wersję.
Sixthlaw
Mam również: Fatalny błąd serwera nie znaleziono ekranu.
Sixthlaw
1
@Sixthlaw: ahhh - trzymaj się mocno, to problem z dkms i to ten sam, który miałem. Musisz wydać kompilację dkms z wiersza poleceń (zapomniałem polecenia, więc poczekaj, aż go zdobędę i zaktualizuję odpowiedź).
RolandiXor
1
sudo apt-get install nvidia current->sudo apt-get install nvidia-current
IanVaughan
1
Zauważ, że dane wywołanie dkmsjest obsługiwane tylko w wersji 11.10 lub nowszej. W wersji 11.04 lub starszej musisz również podać wersję modułu i jądra ( man dkms).
kynan
12

Dlatego zawsze zalecam instalowanie Ubuntu jako czystej instalacji zamiast aktualizacji. To tylko moja opinia, ale zawsze miałem jakiś problem podczas aktualizacji. Bez problemów podczas czystej instalacji.

Po przeczytaniu innych odpowiedzi zainstalowałeś sterownik Nvidia ze strony Nvidia. Mimo, że działa dobrze i itp. NIE Rób tego! Ten, który pojawia się w repozytoriach ubuntu, został przetestowany i to jest ten, który jest zalecany.

W twoim przypadku musisz zrobić kilka rzeczy.

Krok 1 - Odinstaluj zainstalowany sterownik nvidia i nigdy więcej go nie instaluj. Pozwoli ci to uniknąć TEGO konkretnego problemu, że ... ehem ... ktoś też go miał (Ja;)), musisz także usunąć z niego moduły i wszelkie pozostawione przez siebie pliki konfiguracyjne. Jeśli się nie mylę, sterowniki nvidia ze strony internetowej Nvidia mają plik binarny dezinstalacji. Uruchom to i upewnij się, że nie pozostały żadne inne pliki NVIDIA.

ZAKTUALIZOWANO - Aby odinstalować sterownik Nvidia zainstalowany z witryny Nvidia, możesz mieć jedną z kilku opcji:

  • Niektórzy sugerują odinstalowanie przy użyciu tego samego instalatora.
    Przykład: NVIDIA-Linux-x86-1.0-8178.run --uninstall
  • Inni sugerują użycie Instalatora Nvidia.
    Przykład: nvidia-installer --uninstall

WSKAZÓWKA - Spróbuj wpisać --help na końcu pliku binarnego Nvidii, aby sprawdzić, czy wyświetla jakąś pomoc. Strony takie jak https://help.ubuntu.com/community/NvidiaManual And http://www.nvnews.net/vbulletin/showthread.php?t=83678 dają wyobrażenie o tym, jak odinstalować sterownik Nvidia ze strony Nvidia.

Krok 2 - Uruchom ponownie i sprawdź, czy NIC nie zostało z Nvidii. Usuń plik xorg.conf, ponieważ wkrótce utworzysz nowy. Restart.

Krok 3 - Zainstaluj zalecane sterowniki Nvidia. sudo apt-get install nvidia-currentlub sudo apt-get reinstall nvidia-current(Jeśli już go zainstalowałeś. Poleciłbym unistall, a następnie zainstalować go ponownie.)

Krok 4 - UTWÓRZ plik xorg.conf dla zalecanego sterownika Nvidia. nvidia-xconfig. Spowoduje to utworzenie pliku xorg.con z opcjami potrzebnymi do karty graficznej NVIDIA. Uruchom ponownie.

Do tego kroku potrzebowałbym informacji zwrotnej, jeśli miałbyś jakiś problem. Aby uzyskać bardziej ogólne rozwiązanie, przeczytaj ten przewodnik: Jak zainstalować sterowniki Nvidia?

Luis Alvarado
źródło
1
Przepraszam, ale nie wiem dokładnie, jak wykonać krok 1. Nie mogę znaleźć skryptu odinstalowania, o którym mówisz.
Sixthlaw
1
Nie ma problemu, Sixthlaw. Pozwól mi to znaleźć. Daj mi kilka minut
Luis Alvarado
1
Zaktualizowano, aby zawierał niewielką pomoc dotyczącą sposobu jej usunięcia. Daj mi znać, jeśli to pomoże i która pomoc pomogła.
Luis Alvarado
1
To nie jest rozwiązanie, jeśli chcę zainstalować określony sterownik, rozwiązaniem nie jest zainstalowanie czegoś innego. To tak, jakby rozwiązać problem z Javą, mówiąc, że nie używaj Javy, użyj Pythona. Mam ten sam problem (niedopasowanie wersji modułu jądra), ale zdecydowanie potrzebuję tego devdrivera NVIDIA CUDA.
skrat
1
Nie mówię, żeby zainstalować coś innego. Mówię, że najbardziej kompatybilny w tym przypadku jest ten, który jest dostarczany z Ubuntu. Udowodniono raz za razem, że daje mniej problemów, jest bardziej przyjazny podczas aktualizacji / aktualizacji i masz więcej dokumentacji i opinii społeczności. Gdybym miał mówić o Javie, poleciłbym openjdk z wielu powodów, dla Pythona ten, który jest domyślny, ponieważ został już przetestowany i tak dalej i tak dalej. Rozumiesz, o co mi chodzi.
Luis Alvarado,
7

Miałem również problem ze sterownikami NVIDIA i zrobiłem wszystko, co mogłem znaleźć (także w innych odpowiedziach):

  • usuń wcześniej zainstalowane sterowniki i zainstaluj ponownie
  • uruchamianie failsafeXi aktywowanie sterownika
  • przy użyciu poprzedniego sterownika ( 173)
  • I dodaje UNITY_FORCE_START=1się /etc/environment, jak wspomniano tutaj (jak GeForce 7300/7400 są na czarnej liście, ale mam GeForce Go 7100)

Ale wszystko wciąż zawodziło. W ostateczności (powinienem był pomyśleć o tym wcześniej) zbadałem pliki logów X. Wewnątrz /var/log/Xorg.0.logzauważyłem, że nvidia miała problemy z alokacją pamięci:

[    14.055] (EE) NVIDIA(0): Failed to allocate primary buffer: out of memory.
[    14.055] (EE) NVIDIA(0):  *** Aborting ***

Najwyraźniej jest to znany błąd i musiałem wykonać następujące czynności, aby to naprawić:

  • edytować /etc/default/grub
  • znajdź opcję GRUB_CMDLINE_LINUXi dodaj nopat, więc dla mnie to wyglądało

    GRUB_CMDLINE_LINUX="nopat"

  • biegać sudo update-grub

I w końcu wszystko działało dla mnie dobrze :) Mam nadzieję, że to pomaga.

nathanvda
źródło
To doskonale załatwiło sprawę, wielkie dzięki! (Nvidia GeForce 9400 na Natty 64 bity z „aktualnymi” sterownikami)
dandelionmood
2

Zauważ, że poniższe jądro wskazuje na poprzednią wersję Ubuntu. Nowe jądro z Ubuntu 11.10 to 3.0.0.12. Miałem ten sam problem z przejściem do trybu poleceń i awarią Xserver, gdy nie mogłem znaleźć sterownika nvidia_173. Wtedy zdałem sobie sprawę, że aktualizacja nie zaktualizowała mojego MBR do wersji 3.0.0.12. Użyłem EasyBCD do aktualizacji pliku, uruchomiłem ponownie i wszystko było w porządku. Tego rodzaju awarie sterowników mogą się oczywiście zdarzyć, gdy występują na różnych poziomach. Moja rada, po aktualizacji upewnij się, że wykonujesz nowe jądro, initrd, vmlinuz, ... co masz.

DKMS make.log for nvidia-current-270.41.06 for kernel 2.6.38-8-generic (x86_64)
Sat May 14 20:48:39 EDT 2011

The C compiler 'cc' does not appear to be able to
create executables.  Please make sure you have 
your Linux distribution's gcc and libc development
packages installed.

*** Failed CC sanity check. Bailing out! ***

make: *** [select_makefile] Error 1

Doszedłem do wniosku, że cc (alias dla gcc) użyty w moim / usr / bin nie był tą samą wersją, co gcc znaleziony w tym samym katalogu, niezależnie od wszystkich pakietów deweloperskich, które były już zainstalowane na moim komputerze. Musiałem zrobić symboliczny link, aby wskazać plik gcc.

sudo mv /usr/bin/cc /usr/bin/cc.old
sudo ln -s /usr/bin/gcc /usr/bin/cc

Potem ponowna instalacja pakietu nvidia-current zrobiła dla mnie lewę.

pozdrowienia

Steven Rosato
źródło
2

Moje uaktualnienie 11.04 również uruchomiło się tylko do okna terminala. Potem znalazłem tę stronę. Zacząłem robić to, co zalecił Roland Taylor, najpierw to zrobiłem

sudo apt-get install linux-headers-generic

Potem próbowałem zrobić:

sudo dkms remove nvidia 

Ale nie narzekało, że polecenie nie było kompletne, że potrzebowałem -mi -vwersji

Chciałem ponowić próbę, ale zauważyłem, że ekran zawierał informacje dziennika od pierwszego polecenia, zauważając, że zainstalował się nvidia-currentpo zainstalowaniu nagłówków-generic, więc pomyślałem, zastanawiam się, co zrobię, jeśli zrestartuję się teraz? Tak zrobiłem, a pulpit X wyszedł dobrze. Tak więc tylko jedno polecenie naprawiło mój problem z instalacją.

Johngee
źródło
0

To zadziałało dla mnie.

1) Przejdź do terminala F1, naciskając Ctrl + Alt + F1.

2) Uruchom następujące polecenia.

sudo /etc/gdm stop
sudo apt-get install linux-headers-$(uname -r) linux-image-$(uname -r)
wget -O /tmp/nvidia.run http://us.download.nvidia.com/XFree86/Linux-x86/280.13/NVIDIA-Linux-x86-280.13.run
# Make sure to allow the script to uninstall all existing drivers.
sudo sh /tmp/nvidia.run
sudo /etc/gdm start
Rune Kaagaard
źródło
0

Dla każdego, kto również ma ten problem, upewnij się, że Optimus (technologia przełączania kart graficznych Nvidii) jest wyłączony w systemie BIOS.

Sam Youtsey
źródło