ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

Bumblebee

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

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:

./bumblebee-logo.png Dieser Artikel behandelt Bumblebee {en} mit proprietären Nvidia Treiber für Nvidia Optimus Laptops. Optimus ist eine Technologie von Nvidia, um die Akkulaufzeit zu erhöhen. Dazu wird nur bei Bedarf die leistungsstärkere Nvidia-GPU genutzt, der Desktop läuft über die in die Intel CPU integrierte GPU. Unter Linux gibt es mittlerweile mehrere Projekte, die eine Umsetzung der Optimus-Technologie entwickeln haben. Ab Ubuntu 12.10 ist Dave Airlies PRIME, eine in X-Server, Kernel und freien Nouveau/Radeon Treibern realisierte Lösung verfügbar. Die GPL Lizenz verbietet Nvidia die Nutzung dieser Technologie: Bumblebee richtet einen 2. X-Server für die Nvidia-GPU ein, dessen Bild dann mittels virtualgl an die Intel-GPU zum 1. X-Server übertragen wird. Diese Übertragung ist verlustbehaftet, der leistungsfähigere unfreie Nvidia-Treiber kompensiert diesen Nachteil größtenteils. Das Projekt primus bietet ein optimiertes, schnelleres Backend als virtualgl an, das man zusätzlich zu Bumblebee installieren sollte. Das Bumblebee PPA beinhaltet ebenfalls primus.

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/. Der nvidia-current Treiber wird bei der Installation von bumblebee mitinstalliert.

Hinweis:

Vor der Installation von bumblebee sollte das PPA des Ubuntu-X-Teams (x-swat) zu den Softwarequellen hinzugefügt werden [1], da der angebotene nvidia-current-Treiber in den meisten Fällen zu alt für aktuelle Nvidia Optimus GPUs ist. Eine Beschreibung findet sich unter Nvidia - Installation aus PPA.

Hinweis:

Achtung! Bei Ubuntu 12.10 ist vor der Installation sicherzustellen, dass das Paket linux-headers-generic installiert ist

Installation

Derzeit gibt es noch keine Pakete für diese Technologie in den offiziellen Quellen von Ubuntu. Die Entwickler von bumblebee stellen aber ein PPA[1] 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 bietet die Wiki/Vorlagen/PPA/ppa.png PPA-Beschreibung vom Benutzer/Team bumblebee.

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

Nach dem Aktualisieren der Paketquellen folgende Pakete installieren:

  • bumblebee (ppa)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install bumblebee 

sudo aptitude install bumblebee 

primus als alternatives Backend ebenfalls installieren:

  • primus (ppa)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install primus 

sudo aptitude install primus 

Hinweis:

Ubuntu 11.10:

Um 32-bit Anwendungen wie z.B. Wine verwenden zu können, müssen auch die Pakete virtualgl-libs:i386, libgl1-mesa-glx:i386, libc6:i386 installiert werden.

Beispiel - Start einer Anwendung mit Bumblebee

Nach einem Neustart können Anwendungen auf NVIDIA-Grafik durch das Präfix optirun gestartet werden:

optirun google-earth 

Sehr leicht macht man es sich, wenn man den Befehl nach Aufruf der Tastenkombination Alt + F2 eingibt. So bleibt der Befehl gespeichert und liegt für den nächste Programmaufruf bereits vor. Damit ist das Anlegen von zusätzlichen Startern nicht unbedingt nötig.

Benchmark

Um den Geschwindigkeitszuwachs durch Benutzung der Nvidia-GPU darzustellen, kann der virtualgl eigene Benchmark glxspheres verwendet werden:

glxspheres 

Benchmark läuft auf der Intel-GPU

optirun glxspheres 

Benchmark läuft auf der Nvidia-GPU.

optirun -b primus glxspheres 

Benchmark läuft auf der Nvidia-GPU mit optimiertem Backend primus

vblank_mode=0 optirun -b primus glxspheres 

Benchmark auf optimiertem Backend primus ohne Limitierung durch Bildwiederhohlfrequenz

Power-Management

Seit Version 3.0 deaktiviert bumblebee 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:

optirun --status 

Nvidia-Konfigurationstool

Wenn man das Konfigurationstool 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.

VGL_SAMPLES=16 optirun glxspheres 

verwenden und den Grad des Multisamplings (im Beispiel 16) festlegen.

Problemlösungen

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.

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/VGA Ausgänge zu nutzen{en}, mit der Einschränkung, dass das Laptop Display nicht mehr angesprochen werden kann.

Keine grafische Oberfläche nach Bumblebeeinstallation 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 

Laptops mit Kepler GPU oder Fermi GPU mit Fehler (EE) NVIDIA(GPU-0): WAIT: (E, 0, 0x857d) im Xorg.8.log

Um bumblebee auf Laptops mit Kepler GPU nutzen zu können, ist der Nvidia Treiber ab Version 304.22 nötig, zu beziehen aus z.B. dem PPA [1] xswat.

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.

Verwendung des nvidia-experimental-310 Treibers/Steam

Die Verwendung dieses Treibers erfordert entsprechende Änderungen in der Konfigurationsdatei von Bumblebee oder das Setzen von Symlinks. Da dieser Treiber auch Probleme mit dem Intel Treiber verursacht, wird dringend empfohlen, stattdessen eine aktuellere Version manuell einzuspielen, z.B. aus dem PPA Xorgedgers .

Deinstallation

Bumblebee wird bei Bedarf über die Paketverwaltung entfernt, z.B. mit

sudo apt-get purge bumblebee
sudo rm /etc/modprobe.d/bumblebee.conf 

ubuntuusers.local › WikiHybrid-GrafikkartenBumblebee