Ubuntu 12.10 „Quantal Quetzal“
Ubuntu 12.04 „Precise Pangolin“
Ubuntu 11.10 „Oneiric Ocelot“
Ubuntu 10.04 „Lucid Lynx“
Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.
Dieser Artikel behandelt Bumblebee
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.
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.
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.
Achtung! Bei Ubuntu 12.10 ist vor der Installation sicherzustellen, dass das Paket linux-headers-generic
installiert ist
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
Zusätzliche Fremdquellen können das System gefährden.
Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen bietet die 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)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install bumblebee
sudo aptitude install bumblebee
primus als alternatives Backend ebenfalls installieren:
primus (ppa)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install primus
sudo aptitude install primus
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.
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.
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
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
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
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.
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.
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, mit der Einschränkung, dass das Laptop Display nicht mehr angesprochen werden kann.
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
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.
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.
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 .
Bumblebee wird bei Bedarf über die Paketverwaltung entfernt, z.B. mit
sudo apt-get purge bumblebee sudo rm /etc/modprobe.d/bumblebee.conf