NVIDIA-Treiber funktionieren nach dem Upgrade nicht. Warum kann ich nur das Terminal sehen?

34

Heute Nacht habe ich ein Upgrade auf den 11.04. Probleme. Nachdem ich das Upgrade abgeschlossen hatte, startete ich meinen Computer neu, wie es mir auch gesagt wurde. Als ich an Ubuntu 11.04 vorbeikam (orangefarbener Hintergrund), ging es einfach zum Terminal und forderte mich auf, mich anzumelden. Ich habe versucht, den X-Server mit "sudo service gdm restart" neu zu starten, aber keine Anzeige erschien. Ich hatte zufällig ein paar NVIDIA-Treiber in meiner Download-Datei, also habe ich diese ausprobiert, aber das "Installationsskript" ist fehlgeschlagen.

Nach all dem habe ich Ubuntu im Grafik-Failsafe-Modus gebootet. Ich entschied mich dann zu sehen, was passieren würde, wenn ich den proprietären Treiber entfernen würde. Nachdem ich dies getan und mein Ubuntu neu gestartet hatte, startete ich im Grafikmodus "yay!". Ohne die Nvidia-Treiber kann ich also endlich etwas anderes als ein Terminal sehen, aber ich brauche diese NVIDIA-Treiber für meine Arbeit. Was kann ich also tun? Ich habe versucht, die neuen NVIDIA-Linux-Treiber von der NVIDIA-Website zu installieren, und habe versucht, den empfohlenen Treiber über "zusätzliche Treiber" zu installieren, aber beide haben dazu geführt, dass ich im Terminal hängengeblieben bin.

Wenn Sie mir helfen oder einen Rat geben können, TUN SIE BITTE! Ich bin wirklich in einer sehr schlechten Situation ...

Sechstes Gesetz
quelle
2
Haben Sie zuerst die Datei /etc/X11/xorg.conf entfernt, dann neu gestartet und dann versucht, die Version der zusätzlichen Treiber des NVIDIA-Treibers zu aktivieren?
fossfreedom
1
Ich habe das gleiche Problem. Ich aktiviere den Treiber, melde mich ab und sehe im X-Log "Keine Geräte gefunden". Wenn ich xorg.conf entferne, startet X ohne GLX-Unterstützung. Modprobe meldet, dass der nvidiaTreiber geladen ist.
Vissi
Nein, ich habe die Xorg.conf-Datei nicht entfernt. Ich habe genau das Problem, von dem du sprichst. Es ist schrecklich.
Sixthlaw
Empfehlen Sie das Lesen dieses Handbuchs: askubuntu.com/questions/61396/…
Luis Alvarado

Antworten:

30

Sie müssen in den Wiederherstellungsmodus booten und dann apt-get remove --purge nvidia-currentauf dem Root-Terminal ausgeben , gefolgt von apt-get install nvidia-current-, um den nvidia-Treiber für den neuen Kernel neu zu erstellen. Ich hatte dieses Problem auch beim Upgrade.

Bitte installieren Sie die Treiber nicht von der nVidia-Website! Sie könnten ernsthafte Probleme verursachen, wenn Sie versuchen, den empfohlenen Treiber später zu installieren, ohne den vorherigen sauber zu entfernen.

Bearbeiten: Sie müssen diese Befehle von einem Terminal aus ausführen. Ich kann kein perfektes Ergebnis garantieren, da ich mich auf das stütze, was ich über das Internet und aus dem Gedächtnis heraus gefunden habe.

Das Problem, das Sie bekommen, wird durch unterschiedliche Benutzermoduskomponenten und Kernelmodule verursacht. Um dies zu beheben, muss das nvidia-Kernelmodul neu erstellt werden. Dies sollte beim Neustart geschehen, ist jedoch häufig nicht der Fall.

Zuerst müssen Sie die Linux-Kernel-Header installieren:

  • sudo apt-get install linux-headers-generic

Dann müssen Sie dkms ausführen, um das alte nvidia-Kernelmodul zu entfernen:

  • sudo dkms remove nvidia

Dann renne:

  • sudo apt-get install nvidia-current
  • Dadurch sollte es korrekt installiert werden. Alles, was Sie tun müssen, ist auszuführen sudo nvidia-xconfig and reboot.
  • Wenn Sie weiterhin einen Fehler bezüglich der Modulversion erhalten, führen Sie Folgendes aus: sudo dkms build nvidia

Dies sollte das Problem lösen.

Tut mir leid, wenn die Dinge ein wenig verwirrend sind, ich habe versucht, den Prozess, den ich verwenden musste, so gut ich konnte, wieder zusammenzusetzen :)! Wenn Sie auf Probleme stoßen, zögern Sie nicht, mich zu informieren (und wenn jemand Probleme mit den Anweisungen entdeckt, lassen Sie es mich bitte so schnell wie möglich wissen) !!!!


Aktualisieren:

Ich habe eine andere mögliche Ursache gefunden. Nouveau wurde möglicherweise nicht auf die schwarze Liste gesetzt, und nvidia-current hat sich möglicherweise nicht selbst in der .conf-Datei platziert, die zur Auswahl Ihres Bildschirmtreibers verwendet wird. So beheben Sie das Problem:

NB:

Bevor Sie fortfahren, stellen Sie sicher, dass Sie den Treiber nvidia-current aus den Repositorys haben. Das Herunterladen des Treibers von der nvidia-Website kann später zu Problemen führen, da das Debian-Paketformat nicht verwendet wird und Probleme bei späteren Installationen auftreten können. Stellen Sie also sicher, dass Sie zuerst alle Spuren davon entfernen und dann den Standardtreiber von den Ubuntu-Repos installieren. Wenn Sie dies nicht tun, wird ein Treiberfehler angezeigt, und dieses Update ist sinnlos.

  • Wenn Sie an der Konsole hängen bleiben, melden Sie sich an und installieren Sie den nouveau X.org-Treiber: sudo apt-get install xserver-xorg-video-nouveau
  • Starten Sie Ihren Computer neu (Sie werden Arbeitsgrafiken haben, yay! Aber das ist vorübergehend).
  • Öffnen Sie gedit als root: gksu gedit.
  • Aus gedit öffnen /etc/modprobe.d/blacklist.conf.
  • Fügen Sie diese Zeile am unteren Rand: blacklist nouveau.
  • Speichern Sie die Datei und öffnen Sie sie /etc/modprobe.d/nvidia-graphics-drivers.conf.
    • Fügen Sie diese Zeilen hinzu:

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

  • Speichern Sie nun diese Datei und schließen Sie gedit.
  • Lauf:
    • sudo nvidia-xconfig,
    • und dann:
    • sudo apt-get remove xserver-xorg-video-nouveau,
    • gefolgt von:
    • sudo shutdown -r now.
  • Wenn Ihr System neu gestartet wird, sollten Sie über funktionierende NVIDIA-Treiber verfügen.
Übrigens scheint das Problem, dass Nouveau nicht auf die schwarze Liste gesetzt wird, in den neueren Treibern (nvidia-current) zu existieren. Daher würde ich nach Behebung des Problems vorschlagen, dass Sie auf ein Update dieses Fehlers warten (ich werde den Fehler bald melden) ).

Alternative Lösung: Wenn Sie die NVIDIA-Treiber von ihrer Website installiert haben, müssen Sie in ein Text-Terminal booten (beim Booten gedrückt halten, um das Grub-Menü anzuzeigen und den Wiederherstellungsmodus der Kernel-Version auszuwählen, die zuletzt mit den NVIDIA-Treibern funktioniert hat) und wähle die Kommandozeile als root Option)

Führen Sie dann das ursprüngliche NVIDIA-Installationsshell-Skript aus, das Sie ausgeführt haben, um die NVIDIA-Treiber von ihrer Website zu installieren. zb sudo ./NVIDIA-Linux-x86-290.10.run --uninstall. (Ihre Version kann abweichen.)

Sie müssen den Befehl "sudo dkms remove nvidia" nicht ausführen, da dies in Ihrem Fall nicht zutrifft.

RolandiXor
quelle
Ich habe es versucht, aber als ich neu gestartet habe, zeigte es wieder nur Terminal. Ich habe sudo startx im Terminal ausprobiert und unter anderem die folgenden Meldungen erhalten: FEHLER: API-Konflikt: Das NVIDIA-Kernelmodul hat die Version 260.19.36, die NVIDIA-Treiberkomponente hat die Version 270.41.06. Bitte stellen Sie sicher, dass das Kernelmodul und alle nvidia-Treiberkomponenten dieselbe Version haben.
Sixthlaw
Ich habe auch Folgendes: Schwerwiegender Serverfehler, kein Bildschirm gefunden.
Sixthlaw
1
@ Sixthlaw: ahhh - halt dich fest, es ist ein dkms-Problem und es ist dasselbe, das ich hatte. Sie müssen den dkms-Build über die Befehlszeile ausführen (ich habe den Befehl vergessen, also warten Sie, bis ich ihn erhalte, und ich aktualisiere meine Antwort).
RolandiXor
1
sudo apt-get install nvidia current->sudo apt-get install nvidia-current
IanVaughan
1
Beachten Sie, dass der angegebene Aufruf von dkmsnur in 11.10 oder neuer unterstützt wird. Ab 11.04 müssen Sie auch die Modul- und Kernelversion ( man dkms) angeben .
kynan
12

Aus diesem Grund empfehle ich immer, Ubuntu als Neuinstallation zu installieren, anstatt ein Upgrade durchzuführen. Dies ist nur meine Meinung, aber ich hatte immer ein oder andere Probleme beim Upgraden. Keine Probleme bei einer Neuinstallation.

Für das, was ich über die anderen Antworten gelesen habe, haben Sie den Nvidia-Treiber von der Nvidia-Site installiert. Auch wenn es gut funktioniert und etc .. TUN SIE ES NICHT !. Das in den Ubuntu-Repositories enthaltene wurde getestet und wird empfohlen.

In Ihrem Fall müssen Sie mehrere Dinge tun.

Schritt 1 - Deinstallieren Sie den von Ihnen installierten nvidia-Treiber und installieren Sie ihn nie wieder. Es erspart Ihnen DIESES spezifische Problem, dass ... ehem .... jemand es auch hatte (Me;)) Sie müssen auch die Module und alle Konfigurationsdateien entfernen, die es hinterlässt. Wenn ich mich nicht irre, haben nvidia-Treiber von der Nvidia-Website eine Deinstallations-Binärdatei. Führen Sie das aus und vergewissern Sie sich, dass keine anderen nvidia-Dateien mehr vorhanden sind.

AKTUALISIERT - Um einen von der Nvidia-Site installierten Nvidia-Treiber zu deinstallieren, haben Sie möglicherweise eine der folgenden Möglichkeiten:

  • Einige empfehlen die Deinstallation mit demselben Installationsprogramm.
    Beispiel: NVIDIA-Linux-x86-1.0-8178.run --uninstall
  • Andere schlagen vor, das Nvidia-Installationsprogramm zu verwenden.
    Beispiel: nvidia-installer --uninstall

TIPP - Versuchen Sie, --help am Ende der Nvidia Binary Executable einzugeben, um festzustellen , ob dort Hilfe angezeigt wird . Seiten wie https://help.ubuntu.com/community/NvidiaManual und http://www.nvnews.net/vbulletin/showthread.php?t=83678 geben eine Vorstellung davon, wie der Nvidia-Treiber von der Nvidia-Site deinstalliert werden kann.

Schritt 2 - Starte neu und stelle sicher, dass NICHTS von nvidia übrig ist. Löschen Sie die Datei xorg.conf, da Sie bald eine neue erstellen werden. Starten Sie neu.

Schritt 3 - Installieren Sie die empfohlenen Nvidia-Treiber. sudo apt-get install nvidia-currentoder sudo apt-get reinstall nvidia-current(Wenn Sie es bereits installiert hatten. Ich würde empfehlen, es zu deinstallieren und dann erneut zu installieren.)

Schritt 4 - ERSTELLEN Sie die Datei xorg.conf für den von Nvidia empfohlenen Treiber. nvidia-xconfig. Dadurch wird die Datei xorg.con mit den für Ihre nvidia-Grafikkarte erforderlichen Optionen erstellt. Starten Sie erneut.

Bis zu diesem Schritt würde ich ein Feedback benötigen, wenn Sie ein Problem hätten. Für eine allgemeinere Lösung lesen Sie bitte dieses Handbuch: Wie installiere ich die Nvidia-Treiber?

Luis Alvarado
quelle
1
Ich entschuldige mich, aber ich weiß nicht genau, wie ich Schritt 1 ausführen soll. Ich kann das Deinstallationsskript, von dem Sie sprechen, anscheinend nicht finden.
Sixthlaw
1
Kein Problem, Sixthlaw. Lass mich es finden. Geben Sie mir ein paar Minuten
Luis Alvarado
1
Aktualisiert, um eine kleine Hilfe zum Entfernen zu enthalten. Bitte lassen Sie mich wissen, ob es hilft und welche Hilfe den Trick getan hat.
Luis Alvarado
1
Das ist keine Lösung. Wenn ich einen bestimmten Treiber installieren möchte, ist es keine Lösung, etwas anderes zu installieren. Das ist so, als würde man ein Java-Problem lösen, indem man sagt, man soll kein Java, sondern Python verwenden. Ich habe das gleiche Problem (Versionsungleichheit des Kernelmoduls), aber ich benötige definitiv diesen NVIDIA CUDA-Treiber.
Skrat
1
Ich sage nicht, etwas anderes zu installieren. Ich sage, dass das Kompatibelste in diesem Fall dasjenige ist, das mit Ubuntu geliefert wird. Es hat sich immer wieder gezeigt, dass es weniger Probleme gibt, dass es bei einem Update / Upgrade benutzerfreundlicher ist und dass Sie mehr Dokumentation und Community-Feedback dazu haben. Wenn ich über Java sprechen würde, würde ich das openjdk aus vielen Gründen empfehlen, für Python das, das standardmäßig mitgeliefert wird, weil es bereits getestet wurde und so weiter und so fort. Sie verstehen, was ich meine.
Luis Alvarado
7

Ich hatte auch ein Problem mit nvidia-Treibern und habe alles getan, was ich finden konnte (auch in den anderen Antworten):

  • Entfernen Sie die zuvor installierten Treiber und installieren Sie sie erneut
  • Booten failsafeXund Aktivieren des Treibers
  • mit dem vorherigen Treiber ( 173)
  • Ich fügte hinzu UNITY_FORCE_START=1, /etc/environmentwie hier erwähnt (als GeForce 7300/7400 sind auf der schwarzen Liste, aber ich habe eine GeForce Go 7100)

Aber alles scheiterte. Also habe ich als letztes Mittel (ich hätte früher darüber nachdenken sollen) die X-Log-Dateien untersucht. In meinem /var/log/Xorg.0.logfand ich, dass NVIDIA Probleme hatte, den Speicher zuzuweisen:

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

Anscheinend ist dies ein bekannter Fehler, und ich musste Folgendes tun, um dies zu beheben:

  • bearbeiten /etc/default/grub
  • finde die Option GRUB_CMDLINE_LINUXund füge hinzu nopat, also sah das für mich so aus

    GRUB_CMDLINE_LINUX="nopat"

  • Lauf sudo update-grub

Und dann hat endlich alles gut geklappt :) Hoffe das hilft.

nathanvda
quelle
Das hat den Trick perfekt gemacht, vielen Dank! (Nvidia GeForce 9400 auf Natty 64-Bit mit "aktuellen" Treibern)
Löwenzahnstimmung
2

Beachten Sie, dass der Kernel unten auf eine frühere Ubuntu-Version verweist. Der neue Kernel mit Ubuntu 11.10 ist 3.0.0.12. Ich hatte das gleiche Problem, als ich in den Befehlsmodus versetzt wurde und Xserver ausfiel, obwohl ich den Treiber nvidia_173 nicht finden konnte. Dann stellte ich fest, dass das Upgrade meinen MBR nicht auf 3.0.0.12 aktualisiert hat. Ich habe die Datei mit EasyBCD aktualisiert, neu gestartet und alles war in Ordnung. Diese Art von Treiberfehlern kann natürlich auftreten, wenn sie gemischt sind. Mein Rat nach dem Upgrade, stellen Sie sicher, dass Sie den neuen Kernel ausführen, initrd, vmlinuz, ... was haben Sie.

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

Ich habe herausgefunden, dass der in meinem / usr / bin verwendete cc (Alias ​​für gcc) nicht dieselbe Version wie der gcc hat, der sich in demselben Verzeichnis befindet, unabhängig von allen bereits auf meinem Computer installierten dev-Paketen. Ich musste einen symbolischen Link erstellen, um auf die gcc-Datei zu verweisen.

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

Danach hat die Neuinstallation des nvidia-current-Pakets für mich den Trick getan.

Grüße

Steven Rosato
quelle
2

Mein Upgrade auf 11.04 startete auch nur in einem Terminalfenster. Dann habe ich diese Seite gefunden. Ich fing an zu tun, was Roland Taylor empfohlen hatte. Zuerst tat ich es

sudo apt-get install linux-headers-generic

Dann habe ich versucht zu tun:

sudo dkms remove nvidia 

Es klagte jedoch nicht darüber, dass der Befehl nicht vollständig war, dass ich -mund -vund die Version brauchten

Ich wollte es noch einmal versuchen, aber ich bemerkte, dass der Bildschirm vom ersten Befehl an Protokollinformationen enthielt, die feststellten, dass er installiert war, nvidia-currentals ich den Header-Generic installierte. Also habe ich und der X-Desktop kam gut. Also hat nur ein Befehl mein Installationsproblem behoben.

Johngee
quelle
0

Das hat bei mir funktioniert.

1) Wechseln Sie zum F1-Terminal, indem Sie Strg + Alt + F1 drücken.

2) Führen Sie die folgenden Befehle aus.

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
quelle
0

Stellen Sie sicher, dass Optimus (Nvidias Grafikkarten-Switching-Technologie) im BIOS deaktiviert ist.

Sam Youtsey
quelle