Bumblebee
Archivierte Anleitung
Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.
Anmerkung: Die Entwicklung des Projekts wurde 2013 eingestellt.
Artikel für fortgeschrittene Anwender
Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
- Vor der Installation
- Installation
- Start einer Anwendung mit Bumblebee
- Power-Management
- Nvidia-Konfigurations GUI
- Antialiasing
- Problembehebung
- Allgemein
- Cannot access secondary GPU
- Multimonitorbetrieb
- Keine grafische Oberfläche nach Bumblebee-Installation auf Ubuntu 12.04
- Thinkpad T420s, DELL Latitude E6520, (eventuell auch andere Modelle betreffend)
- Probleme bei der Benutzung von Bumblebee mit Ubuntu 14.04
- Nvidia Treiber wird standardmäßig geladen oder Inteltreiber ohne glx mit einem Nvidia Treiber > 331
- Deinstallation
- Links
Bumblebee 🇬🇧 ist eine Softwarelösung für Laptops mit einer Nvidia-Optimus-Hybridgrafikkarte. Optimus ist eine Technologie von Nvidia, die auf zwei Grafikprozessoren (GPU) beruht, mit dem Ziel, die Leistungsfähigkeit und die Akkulaufzeit zu erhöhen. Der "normale" Desktop läuft über die sparsame Intel-GPU, nur bei Bedarf wird die leistungsstärkere Nvidia-GPU genutzt. Bumblebee richtet einen 2. X-Server für die Nvidia-GPU ein, dessen Bild dann mittels primus
an die Intel-GPU zum 1. X-Server übertragen wird. Diese Übertragung ist verlustbehaftet. Bumblebee installiert den proprietären Nvidia-Treiber, ohne den freien Intel-Treiber für die Intel-GPU zu beeinträchtigen.
Als Alternative kann nvidia-prime angesehen werden. Da die Weiterentwicklung von Bumblebee seit 2013 ruht, sollte man bei Neuinstallationen nvidia-prime bevorzugen.
Vor der Installation¶
Ein eventuell im BIOS vorhandener Schalter für die GPUs ist auf "switchable" zu stellen. Bevor die Installation gestartet wird, muss eine eventuell vorhandene xorg.conf in /etc/X11/ entfernt werden; bumblebee
verwendet eine eigene xorg.conf.nvidia in /etc/bumblebee/.
Installation¶
Bumblebee ist ab Ubuntu 14.04 in den Paketquellen verfügbar [1]:
bumblebee (universe)
bumblebee-nvidia (universe)
bbswitch-dkms (universe)
primus (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install bumblebee bumblebee-nvidia bbswitch-dkms primus
Oder mit apturl installieren, Link: apt://bumblebee,bumblebee-nvidia,bbswitch-dkms,primus
Dann muss nur noch die Konfiguration angepasst werden.
Fremdquelle¶
Alternativ stellen die Bumblebee-Entwickler bis Ubuntu 15.10 ein PPA [2] bereit.
Adresszeile zum Hinzufügen des PPAs:
ppa:bumblebee/stable
Hinweis!
Zusätzliche Fremdquellen können das System gefährden.
Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der PPA-Beschreibung des Eigentümers/Teams bumblebee zu entnehmen.
Nach dem Aktualisieren der Paketquellen sind folgende Pakete zu installieren:
bumblebee (ppa)
bumblebee-nvidia
bbswitch-dkms
primus
Befehl zum Installieren der Pakete:
sudo apt-get install bumblebee bumblebee-nvidia bbswitch-dkms primus
Oder mit apturl installieren, Link: apt://bumblebee,bumblebee-nvidia,bbswitch-dkms,primus
Um 32-Bit Anwendungen wie z.B. Wine auch auf 64-bit-Systemen verwenden zu können, müssen auch die Pakete virtualgl-libs:i386
, libgl1-mesa-glx:i386
und libc6:i386
installiert werden.
Konfiguration anpassen¶
Nach der Installation muss noch /etc/bumblebee/bumblebee.conf angepasst und mit Root-Rechten die folgenden Zeilen geändert werden[4][5]:
Driver=nvidia […] ## Section with nvidia driver specific options, only parsed if Driver=nvidia [driver-nvidia] # Module name to load, defaults to Driver if empty or unset KernelDriver=nvidia-xxx PMMethod=auto # colon-separated path to the nvidia libraries LibraryPath=/usr/lib/nvidia-xxx:/usr/lib32/nvidia-xxx # comma-separated path of the directory containing nvidia_drv.so and the # default Xorg modules path XorgModulePath=/usr/lib/nvidia-xxx/xorg,/usr/lib/xorg/modules XorgConfFile=/etc/bumblebee/xorg.conf.nvidia
Dabei ist xxx geweils durch die installierte Treiberversion zu ersetzen (z.B. 352 oder 340-updates). Nun noch neu starten und bumblebee sollte funktionieren.
Start einer Anwendung mit Bumblebee¶
Nach einem Neustart des Rechners können Anwendungen auf NVIDIA-Grafik durch das Präfix optirun
gestartet werden. Beispiel:
optirun glxgears
Mann kann einen Menüeditor nutzen, um die entsprechenden Starter anzupassen. Oder man tippt den Befehl durch Aufruf der Tastenkombination Alt + F2 ein. So bleibt der Befehl gespeichert und liegt für den nächsten Programmaufruf bereits vor.
Power-Management¶
bumblebee
deaktiviert die Nvidia-Karte automatisch, um Strom zu sparen, wenn sie nicht durch eine "optirun
" Anwendung in Benutzung ist, was die Laufzeit des Akkus deutlich erhöht. Um den Status der Nvidia-GPU zu prüfen:
sudo cat /proc/acpi/bbswitch
Nvidia-Konfigurations GUI¶
Wenn man das Konfigurations-Werkzeug nvidia-settings von Nvidia nutzen möchte, muss man diesem mitteilen, den im Hintergrund laufenden X-Server anzusprechen.
optirun nvidia-settings -c :8
Nutzt man die Option "Save To X Configuration File", muß man anschließend die dadurch in /etc/X11 erstellte xorg.conf nach /etc/bumblebee als xorg.conf.nvidia verschieben, da sonst Probleme beim nächsten Bootvorgang auftreten:
sudo mv /etc/X11/xorg.conf /etc/bumblebee/xorg.conf.nvidia
Antialiasing¶
Da die Nvidia-GPU die Frames in den Pixelbuffer 🇬🇧 mit eigenem Renderkontext rendert, haben Antialiasing-Einstellungen in nvidia-settings keine Wirkung. Um eine Applikation mit Kantenglättung zu starten, kann man z.B. den Befehl:
VGL_SAMPLES=16 optirun glxgears
verwenden und den Grad des Multisamplings (im Beispiel 16) festlegen.
Problembehebung¶
Allgemein¶
Auf manchen Optimus-Laptops ist eine Installation von Ubuntu oder das Booten nach Installation von der Alternate-CD nur möglich, wenn der nouveau-Treiber deaktiviert wird. Dazu nutzt man die Bootoption nouveau.blacklist=yes
, wie auch im Abschnitt Treiber deaktivieren erläutert. Nach der Installation von bumblebee-nvidia ist diese Bootoption nicht mehr unbedingt nötig, da das Paket den nouveau-Treiber selbst "blacklistet", also deaktiviert.
Cannot access secondary GPU¶
Es kann passieren, dass beim Start einer Anwendung mit Bumblebee die folgende Fehlermeldung erscheint:
[ 2609.645273] [ERROR]Cannot access secondary GPU - error: Could not load GPU driver [ 2609.645612] [ERROR]Aborting because fallback start is disabled.
In diesem Fall muss noch die Konfiguration angepasst werden.
Multimonitorbetrieb¶
Bei vielen Optimus-Laptops sind die HDMI-/VGA-Ausgänge fest mit der Nvidia-GPU verdrahtet. In diesem Fall sollte man den Displayport, bei Bedarf mittels HDMI-Adapter, testen. Eine befriedigende Softwarelösung existiert z. Zt. nicht. Möglich ist es u.U., HDMI- bzw. VGA-Ausgänge zu nutzen 🇬🇧, mit der Einschränkung, dass das Laptop-Display nicht mehr angesprochen werden kann.
Keine grafische Oberfläche nach Bumblebee-Installation auf Ubuntu 12.04¶
Sollte der X-Server nicht mehr starten, kann dies mit einer Neuinstallation diverser Pakete im Recovery Modus behoben werden:
apt-get install xserver-xorg-video-intel xinit ubuntu-desktop
Thinkpad T420s, DELL Latitude E6520, (eventuell auch andere Modelle betreffend)¶
Befinden sich im Ordner /usr/share/X11/xorg.conf.d Konfigurationsdateien wie z.B.
10-nvidia-current-latitude-e6530.conf
10-nvidia-current-updates-latitude-e6530.conf
10-nvidia-current-thinkpad-t420s.conf
10-nvidia-current-updates-thinkpad-t420s.conf
müssen diese umbenannt werden, z.B. in: 10-nvidia-current-latitude-e6530.conf.old, damit das System diese nicht mehr berücksichtigt und Bumblebee funktioniert.
Probleme bei der Benutzung von Bumblebee mit Ubuntu 14.04¶
Bei der Nutzung von Bumblebee mit Ubuntu 14.04 können Probleme auftreten. Unter anderem ist folgende Fehlermeldung beim Start von Programmen sehr häufig zu finden:
[ 428.933119] [INFO]Response: No - error: [XORG] (EE) intel(0): [drm] failed to set drm interface version: Permission denied [13]. [ 428.933181] [ERROR]Cannot access secondary GPU - error: [XORG] (EE) intel(0): [drm] failed to set drm interface version: Permission denied [13].
Um dieses Problem zu Lösen gibt es folgenden Ansatz: Zunächst editiert man /etc/bumblebee/xorg.conf.nvidia mit Root-Rechten[4][5]und fügt folgendes ganz oben in der Datei ein:
1 2 3 4 | Section "Screen" Identifier "Default Screen" Device "DiscreteNvidia" EndSection |
Dann werden die nvidia-331-updates Treiber installiert:
sudo apt-get install nvidia-331-updates
Alternativ kann man natürlich auch nvidia-304 oder nvidia-319 nutzen, dies kann aber zu Problemen führen. Die oben genannte Methode mit nvidia-331-updates Treibern funktioniert bisher sehr gut!
Nvidia Treiber wird standardmäßig geladen oder Inteltreiber ohne glx mit einem Nvidia Treiber > 331¶
Sollte man einen sehr aktuellen Treiber wie z.B. nvidia-346 nutzen, kann es passieren, dass bumblebee beim Systemstart nicht ordnungsgemäß startet. In dem Fall muss die Datei /etc/modprobe.d/bumblebee.conf mit root-Rechten [5] geöffnet [4] werden und analog zu den schon vorhandenen Zeilen die Vier Zeilen
1 2 3 4 | # xxx blacklist nvidia-xxx blacklist nvidia-xxx-updates blacklist nvidia-experimental-xxx |
hinzugefügt werden, wobei xxx durch die zu nutzende Treiberversion (z.B. 346) ersetzt wird. Danach muss das System neu gestartet werden.
Deinstallation¶
Bumblebee wird bei Bedarf über die Paketverwaltung entfernt, z.B. mit
sudo apt-get purge bumblebee sudo rm /etc/modprobe.d/bumblebee.conf
Links¶
Primus FAQ 🇬🇧
Set Up Bumblebee With Bumblebee Configurator GUI 🇬🇧
Blog Linux-Hybrid-Graphics 🇬🇧 seit 2009 aktiv
Hybrid-Graphics-Linux 🇬🇧 - Wiki bei tuxfamily.org