So installieren Sie nVidia-Treiber mit Bumblebee unter Ubuntu 14.04

Antworten:

26

NB: Dieser Beitrag ist das Ergebnis vieler Tage, in denen Sie verschiedene Artikel im Internet gelesen haben. Gehen Sie ihn also auf eigenes Risiko ein. Es wurde unter Ubuntu 12.04 / 12.10 / 13.04 / 13.10 / 14.04 (alle 64 Bit) mit einer nVidia GT650M-Grafikkarte getestet. Fühlen Sie sich frei, Kommentare und Vorschläge hinzuzufügen


Installieren Sie nVidia und Hummel

1. Zunächst müssen wir alle Videotreiber auf dem Computer löschen:

sudo apt-get remove --purge nvidia*

Dann Hummel für den Fall, dass Sie es zuvor installiert haben:

sudo apt-get remove --purge bumblebee*

Wir müssen auch alle Nouveau-Treiber löschen mit:

sudo apt-get --purge remove xserver-xorg-video-nouveau

Um sicher zu gehen , die ganze stopft gelöscht haben, versuchen zu geben dpkg -l | grep nvidiaund dpkg -l | grep bumblebee: es sollte nichts zurück. Denn dpkg -l | grep nouveaues ist wahrscheinlich, dass es einige Zeilen zurückgibt, die sagen libdrm-nouveauXXXXX: Ignoriere sie vorerst einfach.

2. Dann müssen wir sicherstellen, dass alle Header eingegeben werden:

sudo apt-get install linux-source && sudo apt-get install linux-headers-$(uname -r)

3. Als Nächstes müssen Sie die verbleibenden Nouveau-Treiber und einige andere Pakete, die Probleme verursachen könnten, auf die schwarze Liste setzen:

sudo cp /etc/modprobe.d/blacklist.conf /etc/modprobe.d/blacklist.conf.bak
 sudo gedit /etc/modprobe.d/blacklist.conf

Hinzufügen der folgenden Zeilen am Ende der Datei:

# Necessary to install nvidia drivers
blacklist nouveau
blacklist lbm-nouveau
blacklist nvidia-173
blacklist nvidia-96
blacklist nvidia-current
blacklist nvidia-173-updates
blacklist nvidia-96-updates
alias nvidia nvidia_current_updates
alias nouveau off
alias lbm-nouveau off
options nouveau modeset=0

Einfach speichern und beenden.

4. Führen Sie nun die bekanntesten Ubuntu-Befehle aus

sudo apt-get update && sudo apt-get dist-upgrade -y

5. Ab sofort arbeiten wir an tty. Öffnen Sie die tty1-Konsole mit STRG + ALT + F1 und melden Sie sich mit Ihrem Benutzernamen und Passwort an. Führen Sie dann Folgendes aus:

sudo service lightdm stop

Jetzt werden wir die Treiber installieren. Ausführen:

sudo apt-get install nvidia-XXX-updates nvidia-settings

Dabei ist XXX der neueste stabile Treiber. Ich verwende die 331-Treiber, habe aber irgendwo gelesen, dass die 343 zum Herunterladen verfügbar sind (ich weiß nicht, ob sie stabil sind).

NB: Mit den neuesten Treiberversionen wird es auch nvidia-primestandardmäßig installiert . Diese Technologie soll ohne Benutzereingriff automatisch zwischen Intel- und nVidia-Grafikkarte wechseln. Dazu bleiben beide Karten eingeschaltet. Optimus hingegen schaltet die nVidia-Grafikkarte nur mit ausdrücklicher Benutzeranforderung ein. Dies führt zu einem deutlich geringeren Stromverbrauch in Bezug auf Prime.

Ich persönlich bevorzuge Optimus gegenüber Prime, aber wenn Sie sich nicht um die enorme Energieverschwendung kümmern, hören Sie hier auf. Ansonsten haben Sie zwei Möglichkeiten:

  • Prime ( sudo apt-get remove --purge nvidia-prime) vollständig löschen ;

  • lass Prime dort; Im Abschnitt "Prime with optimus" erfahren Sie, wie Sie optirun auch mit installiertem prime zum Laufen bringen

6. Jetzt müssen wir bumblebee und die virtualgl-Pakete mit installieren

sudo apt-get install bumblebee bumblebee-nvidia virtualgl virtualgl-libs virtualgl-libs-ia32:i386 virtualgl-libs:i386

Dann müssen wir unseren Benutzer zur Hummelgruppe hinzufügen mit:

sudo usermod -a -G bumblebee $USER

Und dann starten Sie den PC neu.

7. Melden Sie sich in Ihrem Benutzerkonto an, öffnen Sie ein neues Terminalfenster und geben Sie Folgendes ein:

cd /etc/bumblebee
ls -Al

Unter den verschiedenen aufgelisteten Dateien sollten sich insbesondere zwei befinden: bumblebee.confund xorg.nvidia.conf. Lassen Sie uns eine Sicherungskopie von beiden erstellen mit:

sudo cp FILE_NAME FILE_NAME.bak

Sie sollten FILE_NAME durch den tatsächlichen Namen der Datei ersetzen. Dann ändern wir die erste Datei mit sudo gedit bumblebee.confund fügen hinzu (alle ohne Anführungszeichen).

  • Abschnitt [Hummel]: Nach "Driver =" "nvidia" einfügen
  • Abschnitt [nvidia-driver]: Nach "KernelDriver =" "nvidia-XXX-updates" einfügen
  • Abschnitt [nvidia-Treiber]: Nach "LibraryPath =" Einfügen "/ usr / lib / nvidia-XXX-Updates, / usr / lib / nvidia-331-Updates: / usr / lib32 / nvidia-XXX-Updates"
  • Abschnitt [nvidia-driver]: nach "XorgModulePath =" insert "/ usr / lib / nvidia-XXX-updates / xorg, / usr / lib / xorg / modules"

Stellen Sie sicher, dass "XorgConfFile" unter [nvidia-driver] gleich "/etc/bumblebee/xorg.conf.nvidia" ist (ebenfalls ohne Anführungszeichen), speichern Sie gedit und schließen Sie es.

Jetzt müssen wir die andere Datei mit bearbeiten sudo gedit xorg.conf.nvidia(in diesem Fall müssen wir auch die Anführungszeichen einfügen !!). Ersetzen Option "ConnectedMonitor" "DFP"durch Option "UseDisplayDevice" "none", speichern und beenden.

8. Führen Sie aus gedit /etc/modprobe.d/bumblebee.confund stellen Sie sicher, dass alle Zeilen, die enthalten, blacklist <something>nicht kommentiert sind (dh nicht mit beginnen #).

9. Führen Sie zu diesem Zeitpunkt den folgenden Befehl aus

sudo service bumblebeed start

Wenn ein Fehler zurückgegeben wird, versuchen Sie, den Befehl erneut mit Neustart auszuführen, anstatt ihn zu starten. Wenn Sie immer noch Fehler haben, etwas wie:

restart: Unknown job: bumblebeed

In der Datei bumblebee.conf stimmt wahrscheinlich etwas nicht. Überprüfen Sie daher Schritt 7 erneut.

Wenn stattdessen das Ergebnis ähnlich ist wie:

bumblebeed start/running, process XXXXX

Sie sind bald fertig mit dem Einrichten der Hummel!

10. Jetzt können wir einfach laufen optirun glxspheresoder optirun glxspheres64. Wenn alle wie erwartet funktionieren, haben Sie eine Ausgabe wie folgt:

$ optirun glxspheres64
Polygons in scene: 62464
Visual ID of window: 0x20
Context is Direct
OpenGL Renderer: GeForce GT 650M/PCIe/SSE2
182.253407 frames/sec - 203.394802 Mpixels/sec
182.940725 frames/sec - 204.161849 Mpixels/sec
....

Um zu überprüfen, ob wir tatsächlich NVIDIA-Treiber verwenden, öffnen Sie ein anderes Terminal, während optirun <application>es ausgeführt wird, und geben Sie dann ein sudo lshw -c display | grep driver. Das Ergebnis sollte so etwas sein.

configuration: driver=nvidia latency=0
configuration: driver=i915 latency=0

Wenn Sie andererseits alle damit gestarteten Anwendungen schließen optirun, sollte nur der Intel-Treiber angezeigt werden. Das ist es!!


Installieren Sie die Bumblebee-Benutzeroberfläche

Dank dieser Antwort von Pavak Paul finden Sie hier die Anweisungen zum Hinzufügen der Hummel-Benutzeroberfläche unter Ubuntu 14.04 zum Verwalten von Apps, die mit nVidia geöffnet werden sollen.

1. Installieren Sie Python App Indicator:

sudo apt-get install python-appindicator

2. Installieren Sie Git:

sudo apt-get install git

3. Erstellen Sie ein Verzeichnis für git:

mkdir git && cd git

4. Überprüfen Sie das Repository:

git clone https://github.com/Bumblebee-Project/bumblebee-ui.git
cd bumblebee-ui
sudo ./INSTALL

5. Gehen Sie zu Startanwendungen und fügen Sie einen Hummelindikator hinzu. [Klicken Sie auf Hinzufügen, geben Sie den gewünschten Namen und Kommentar ein. bumblebee-indicatorin das Befehlsfeld einfügen und auf Hinzufügen klicken).

6. Starten Sie neu.


Mit Optimus grundieren

Wenn Sie die Option auch nvidia-primemanchmal verwenden möchten, befolgen Sie die nachstehenden Anweisungen.

1. Um zu verhindern, dass bumblebeedbeim Booten gestartet wird, führen Sie Folgendes aus:

echo "manual" | sudo tee /etc/init/bumblebeed.override

2. Dieser Punkt ist der problematischste; Es verhindert, dass Hummeln nVidia-Treiber auf die schwarze Liste setzen, und sollte zu einem Einfrieren der Grafiksitzung führen. Probieren Sie es auf eigenes Risiko! Lauf:

sudo gedit /etc/modprobe.d/bumblebee.conf

Und kommentieren Sie die Zeile mit Ihren nVidia XXX-Treibern. Es sollte zu so etwas führen.

# XXX
#blacklist nvidia-XXX
#blacklist nvidia-XXX-updates
blacklist nvidia-experimental-XXX

3. Starten Sie das System neu und starten Sie es nvidia-settings. Die letzte Situation ist folgende:

Wenn Sie in den nvidia-Einstellungen "Intel (Energiesparmodus)" auswählen, ist standardmäßig nur die Intel-Grafikkarte aktiviert. Sie müssen noch eine Anwendung mit ausführen optirun, um die nVidia-Grafikkarte verwenden zu können

sudo service bumblebeed start
optirun <application>

Wenn Sie stattdessen das Profil "Nvidia (Leistung)" verwenden möchten, wählen Sie es aus den nvidia-Einstellungen aus, melden Sie sich an / ab und alle sollten automatisch funktionieren. Das einzige ist, dass Sie den bumblebeedDaemon nicht mit diesem ausgewählten Profil starten müssen, da dies zu Problemen führen kann.

Falls Sie Probleme haben:

1. Wenn Sie nur verwenden möchten nvidia-prime:

sudo apt-get --purge remove bumblebee*

Dann neu starten.

2. Wenn Sie nur optimus verwenden möchten, ohne nvidia-prime zu entfernen, bearbeiten Sie die vorherige Datei erneut:

sudo gedit /etc/modprobe.d/bumblebee.conf

Kommentieren (Entfernen des # -Zeichens) aus den zuvor geänderten Zeilen:

# XXX
blacklist nvidia-XXX
blacklist nvidia-XXX-updates
blacklist nvidia-experimental-XXX

Und Neustart. In diesem Fall können Sie die Hummel beim Booten laufen lassen:

sudo rm /etc/init/bumbebeed.override
tigerjack89
quelle
1
Ich habe die Anweisungen unter Ubuntu 14.04 befolgt, aber mein Bildschirm wird nach dem Begrüßungsbildschirm schwarz und ich kann mich nicht anmelden. Mit Dell xps l502x kann nvidia gfrc gt540m.
DeepSidhu1313
1
Sind Sie sicher, dass Sie alle Anweisungen von Anfang an befolgt haben? Drücken Sie auf jeden Fall STRG + ALT + F1, um auf das tty zuzugreifen, geben Sie dann Ihre Anmeldeinformationen ein und starten Sie von vorne neu.
Tigerjack89
1
Ok, ich habe das Problem mit gelöst vblank_mode=0 primusrun ./glxgearsoder wir können verwenden vblank_mode=0 optirun -b primus ./glxgears. danke :)
DeepSidhu1313
1
Bitte beachten Sie, dass ich xorg-edgers ppa installieren musste, um die virtualgl-Pakete zu erhalten. Es gab keine verfügbaren in einer Neuinstallation Ubuntu 14.04
Ubuntuser
1
Dies ist bei weitem das aktuellste Tutorial, das ich hier abstimme. Ich habe es überprüft und es funktioniert für 17.10. Gut gemacht.
Doodloo