Wie kann ich als Titel die nvidia-optimus-Technologie unter Ubuntu korrekt einrichten?
Wie kann ich als Titel die nvidia-optimus-Technologie unter Ubuntu korrekt einrichten?
Antworten:
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
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 nvidia
und dpkg -l | grep bumblebee
: es sollte nichts zurück. Denn dpkg -l | grep nouveau
es 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-prime
standardmäß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.conf
und 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.conf
und fügen hinzu (alle ohne Anführungszeichen).
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.conf
und 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 glxspheres
oder 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!!
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-indicator
in das Befehlsfeld einfügen und auf Hinzufügen klicken).
6. Starten Sie neu.
Wenn Sie die Option auch nvidia-prime
manchmal verwenden möchten, befolgen Sie die nachstehenden Anweisungen.
1. Um zu verhindern, dass bumblebeed
beim 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 bumblebeed
Daemon nicht mit diesem ausgewählten Profil starten müssen, da dies zu Problemen führen kann.
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
vblank_mode=0 primusrun ./glxgears
oder wir können verwenden vblank_mode=0 optirun -b primus ./glxgears
. danke :)