Archiv/Hybrid-Grafikkarten/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:

  1. Installation von Programmen

  2. Ein PPA verwenden

  3. Benutzer und Gruppen verwalten

  4. Einen Editor öffnen

  5. Root-Rechte

Inhaltsverzeichnis
  1. Vor der Installation
  2. Installation
    1. Fremdquelle
    2. Konfiguration anpassen
  3. Start einer Anwendung mit Bumblebee
  4. Power-Management
  5. Nvidia-Konfigurations GUI
  6. Antialiasing
  7. Problembehebung
    1. Allgemein
    2. Cannot access secondary GPU
    3. Multimonitorbetrieb
    4. Keine grafische Oberfläche nach Bumblebe...
    5. Thinkpad T420s, DELL Latitude E6520, (ev...
    6. Probleme bei der Benutzung von Bumblebee...
    7. Nvidia Treiber wird standardmäßig gelade...
  8. Deinstallation
  9. Links

./bumblebee-logo.png 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]:

Paketliste zum Kopieren:

sudo apt-get install bumblebee bumblebee-nvidia bbswitch-dkms primus 

Oder mit apturl die Pakete 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:

Hinweis!

Zusätzliche Fremdquellen können das System gefährden.


Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der Wiki/Vorlagen/PPA/ppa.png PPA-Beschreibung des Eigentümers/Teams bumblebee zu entnehmen.

Damit Pakete aus dem PPA genutzt werden können, müssen die Paketquellen neu eingelesen werden.

Nach dem Aktualisieren der Paketquellen sind folgende Pakete zu installieren:

Paketliste zum Kopieren:

sudo apt-get install bumblebee bumblebee-nvidia bbswitch-dkms primus 

Oder mit apturl die Pakete 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.

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