Bumblebee 3.0: Die Hummel lehrt NVIDIAs Optimus unter Linux das Fliegen

36 Kommentare Autor: Jürgen (jdo)

NVIDIA Optimus Linux Teaser 150x150Wichtig! Bevor Du mit Bumblebee rumspielst, sollte Du Dich erst einmal informieren, was NVIDIA Optimus ist! Du machst damit Deine vorhandene GPU nicht schneller. Du kannst damit zwischen der schnelleren NVIDIA-Karte und der stromsparenden Intel-Grafikkarte hin- und herschalten. Beispiel: LibreOffice braucht keine GPU-Power – Intel-Karte. World of Padman willst Du wahrscheinlich lieber mit der NVIDIA-Karte aufrufen. Also bitte erst lesen, dann machen – sonst könnte das passieren!

Update: Ich bin gerade in Kenntnis gesetzt worden, dass ich das Highlight von Version 3.0 völlig ignoriert habe. Die neueste Version schaltet die NVIDIA-Karte automatisch ab, wenn diese nicht gebraucht wird. Das geschieht völlig automatisch und der Anwender muss nichts manuell konfigurieren. Das ist natürlich eine feine Sache, weil es logischerweise Strom spart und somit die Akkulaufzeit erhöht: siehe diesen Kommentar und vielen Dank für den Hinweis!

Update: In diesem Beitrag findest Du, wie man Bumblebee unter Linux Mint 14 / Ubuntu 12.10 mit den experimentellen NVIDIA-Treibern (310.xx) aus dem Ubuntu-Repository zum laufen bekommt.

Die Entwickler von Bumblebee haben Version 3.0 “Tumbleweed” angekündigt und versprochen, dass alles sofort “Out of the Box” läuft. Der Nutzer muss laut Aussage der Macher nichts mehr manuell konfigurieren. Um es gleich vorweg zu nehmen – sie haben Recht und das Teil ist Klasse. Der Performance-Gewinn ist unglaublich und der Name Bumblebee (zu deutsch Hummel) kann nur ein ironischer Seitenhieb sein. Mit Hummel assoziiert man gerne schwerfällig, aber Bumblebee verleiht 3D unter Linux einen echten Turbo.

Ich habe die Software auf Linux Mint 11 installiert, das bekanntlich auch Ubuntu 11.04 basiert. Somit bin ich folgender Installations-Anleitung gefolgt, die im Ubuntu-Wiki zu finden ist:

  1. sudo add-apt-repository ppa:bumblebee/stable
  2. Wer Ubuntu 11.04 oder älter verwendet, sollte die neuesten Treiber installeren. Das funktioniert folgendermaßen: sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
  3. sudo apt-get update
  4. Bumblebee mit den neuesten proprietären Treibern von NVIDIA installieren: sudo apt-get install bumblebee bumblebee-nvidia
  5. sudo usermod -a -G bumblebee $BENUTZERNAME ($BENUTZERNAME mit Deinem Benutzer tauschen)
  6. Neustart oder Ab- und wieder Anmelden

Das ist alles. Mehr Magie braucht es mit der neuesten Version von Bumblebee nicht. Einen Hinweis geben die Entwickler noch: Wer 32-Bit-Programme wie zum Beispiel Wine unter Ubuntu 11.10 “Oneiric Ocelot” oder später laufen lassen möchte, muss die 32-Bit-Bibliotheken einspielen: sudo apt-get install virtualgl-libs:i386 libgl1-mesa-glx:i386 libc6:i386

Ist das geschafft, kannst Du nun Applikationen aufrufen und diesen verklickern, dass sie bitte die NVIDIA-Karte zum rendern verwenden sollen: optirun [Optionen] <Applikation> – im einfachsten Fall könnte das so aussehen: optirun firefox. Mit optirun –help bekommst Du eine Übersicht der Möglichkeiten.

Ich möchte noch anmerken, dass die Startzeit etwas verzögert ist, bis Bumblebee ein neues X-Fenster aufmacht. Als Kompressions-Möglichkeiten stehen Dir übrigens proxy, jpeg, rgb, xv und yuv zur Verfügung. Ersteres (proxy) ist dabei Standard. Solltest Du eine andere Kompressions-Methode bei Start haben wollen, kannst Du die Datei /etc/bumblebee/bumblebee.conf editieren und den Parameter VGLTransport=proxy entsprechend abändern.

Nun will ich Dich aber nicht länger auf die Folter spannen und ein paar Ergebnisse liefern. Der Testrechner ist ein Acer ASPIRE 5742G mit einer NVIDIA GeForce GT 540M.

glxspheres

Ohne optirun pendelt sich der Test so auf 30 Frames pro Sekunde ein. Ist OK und das Auge sieht kein Ruckeln. Starte ich die Applikation mit optirun, verdoppelt sich die Frame-Rate und ich komme auf über 60 Frames pro Sekunde. Das ist allerdings noch nciht das Ende der Fahnenstange. Schalte ich zum Beispiel jpeg-Kompression mittels optirun -c jpeg glxspheres hinzu, liefert mir die Applikation fast 100 Frames pro Sekunde.

glxspheres normal ohne optirun

Ohne optirun: ungefähr 30 Frames pro Sekunde

glxspheres mit Bumblebee optirun proxy

proxy: zirka 60 Frames pro Sekunde

glxspheres mit Bumblebee optirun xv

xv: um die 73 Frames pro Sekunde

glxspheres mit Bumblebee optirun rgb

rgb: um die 77 Frames pro Sekunde

glxspheres mit Bumblebee optirun yuv

yuv: zirka 87 Frames pro Sekunde

glxspheres mit Bumblebee optirun jpeg

jpeg: fast 100 Frames pro Sekunde

Man sieht also, dass glxspheres mit optirun über drei Mal schneller sein kann. Das ist schon ordentlich.

Andere Applikationen

Auch wenn glxspheres zwar ganz hübsch und auch hypnotisch ist, bringt mir das als produktive Software natürlich nicht viel. Von daher habe ich mal getestet, wie es mit anderen Programmen aussieht. Starte ich zum Beispiel VirtualBox, scheinen die Test-Maschinen mit GNOME 3 performanter zu sein. Das ist aber nach Gefühl bewertet, weil ich das nicht ausführlich getestet habe.

Bei der Arbeit mit Corel AfterShotPro merkt man optirun auch sehr deutlich. Das Programm lief auf meinem Rechner vorher schon schnell. Aber nun macht die Software gleich doppelt so viel Laune. Bilder laden sich komplett ohne Verzögerung und der Arbeitsfluss wird kaum durch (kleine) Wartezeiten unterbrochen.

Starte ich Firefox 9.0.1 damit und lasse Futuremarks Peacekeaper laufen, sehe ich schon einen Geschwindigkeitsschub. Das Ergebnis von 1924 Punkten (ohne optirun) im Gegensatz zu 1941 Punkten (mit optirun) scheint nicht so viel zu sein. Kein Wunder – optirun macht sich hauptsächlich in einem Test bemerkbar – bei der Sphäre im Wald. Während es ohne optirun ein echtes Trauerspiel ist und die ganze Sache einfach nur ruckelt, fliegt der durchsichtige Ball mit Hilfe von optirun fließend durch den Wald.

Bumblebee Firefox ohne optirun Peacekeeper

Firefox ohne optirun …

Bumblebee Firefox mit optirun Peacekeeper

… schon besser mit optirun, weil …

Bumblebee Firefox mit optirun Peacekeeper Sphäre im Wald

… hier der Hase im Pfeffer liegt!

Fazit

Bumblebee zu installieren macht auf Geräten mit NVIDIA Optimus durchaus Sinn. Der Geschwindigkeits-Zuwachs ist enorm und vielen Grafik-intensiven Applikationen kannst Du damit Flügel verleihen. Ich spiele nun erst seit einem Tag damit, aber die Ergebnisse stellen mich mehr als zufrieden. Ich war bisher mit dem Rechner schon immer gut zufrieden und hab die NVIDIA-Karte gar nicht so vermisst. Wenn ich mir allerdings ansehe, was ich bisher nicht genutzt habe – DANKE optirun und dem Bumblebee-Team!!!

Der Installations-Vorgang ist wirklich einfach und es gibt derzeit Pakete für:

Zusätzliche Informationen findest Du auch im Wiki von ubuntuusers.de!




 Alle Kommentare als Feed abonnieren

36 Kommentare zu “Bumblebee 3.0: Die Hummel lehrt NVIDIAs Optimus unter Linux das Fliegen”

  1. Felix says:

    Hallo,

    das ist ja ein super Artikel. Nun kann ich mir endlich ein Laptop mit Optimus holen. Bisher war die Umsetzung nicht wirklich zufriedenstellend.

    Eine kleine Anmerkung noch:
    $BENUTZERNAME kann mit `whoami` (mit den "Anführungszeichen" kleiner Test: echo `whoami`) ersetzt werden. So wird automatisch der richtige Benutzername eingesetzt.

    Schöne Grüße
    Felix

  2. Baul says:

    Hey!
    Soweit konnte ich das ja auch schon ausprobieren.
    Aber zum Namen Bumblebee noch:
    Ich glaube, der hat was mit Transformers (dem Film) zu tun, weniger mit Selbstironie 😉 Deswegen heißt der Fork vom Bumblebee-Gründer auch Ironhide (allerdings inaktiv!)

    Die Benchmarks probiere ich jetzt auch gleich mal aus! 😀

    Baul

    • jdo says:

      Man lernt nie aus - ich dachte es wäre ein Seitenhieb auf das schwerfällige NVIDIA, die sich nicht um die Linuxer kümmern 🙂

      Auch wenn Winzigweich ist, probier mal: http://ie.microsoft.com/testdrive/ gleich den ersten Test "Let It Snow". Ohne optirun ist bei mir 4 FPS, mit optirun 11!

      • Baul says:

        Tja, zu NVIDIA hätte es natürlich auch gepasst 🙂

        "Let it snow" brachte nur einen kleinen Unterschied von 7 auf 12 FPS mit meiner GT555M :\
        UNd der Peacekeeper-Benchmark war im Wesentlichen auch identisch (ohne optirun 2110, mit: 2099) mit Firefox 9.0.1. Aber dafür ist alles im 3D-Bereich wesentlich performanter (Peacekeeper-Sphere: von knapp 58 auf knapp 120 FPS :))
        Ich schaue mir jetzt mal die WbGL-Demos von Mozilla an (https://developer.mozilla.org/de/demos/tag/tech:webgl/) 🙂

        • jdo says:

          42% Unterschied bei "Let It Snow" würde ich persönlich nicht als klein bezeichnen ...

          • Baul says:

            Stimmt, eine relative Sichtweise ist in diesem Fall angebracht. Man ist es eben gewöhnt in Sachen Framerate absolut zu denken 🙂

  3. chris says:

    Geht das nur für Laptops? Hab grad ca 3h gebraucht um meinen X-Server aufm Desktop-Rechner wieder zum arbeiten zu überreden... NV GTS450 auf Ku11.10

  4. chris says:

    Keine Ahnung. Konnte bei nvidia.com keine Hinweise finden. Es ist die GTS450. (PCIe) Hybrid kann sie, glaub ich. Onboard sitzt noch ne GeForce8100 GPU...
    Aber ich merk schon, ich hätte vorher mehr lesen sollen, ob die GraKa das überhaupt kann... 🙂

      • chris says:

        Ja, hab ich gesehen. http://www.nvidia.de/object/product-geforce-gts-450-de.html Hier findet sich nix zum Thema Optimus. Aber ich vermute langsam, ich hab das auch falsch verstanden. Es boostet ja nicht die vorhandene GPU, sonder schaltet zwischen der stromsparenden Intel und der starken NVidia-GPU hin und her. Anyway, danke für die Tips und Danke für eure Blogs. Ich verfolge euch auf dem uu.de-planeten aufmerksam. 🙂

        • jdo says:

          Richtig. Und nun geht es recht einfach, auch die performante NVIDIA-Karte anstatt der langsameren, aber stromsparenden Intel zu verwenden.

          Ich schreib das nun noch oben mit rein, nicht damit es anderen auch so geht ... 🙂

          • Marc says:

            Hey,

            ich habe ein ähnliches Problem wie Chris.

            Möchte die CPU-interne GPU i5-2500 nutzen und die GTS450 im normalen Desktopbetrieb lahmlegen. Das soll Strom, Wärme und Lautstärke sparen!

            Motherboard MSI Z68A-G43 (G3) mit LucidLogix Virtu Technologie http://de.msi.com/product/mb/Z68A-G43--G3-.html

            Können Desktoprechner die Grafikkarte überhaupt abschalten?

            Danke
            Marc

          • jdo says:

            Bumblebee soltle das mittlerweile automatisch machen. Die legt die NVIDIA auf Eis und damit sparst Du Strom. Die NVIDIA wird erst aktiviert, wenn Du ein Programm explizit mit optirun startest.

            Voraussetzung ist natürlich "NVIDIA Optimus"!!!

  5. Logaff says:

    Hiho,
    unterstützt mittlerweile Bumblebee das automatische wechseln zwischen Grafikkarten wie Ironhide ( ähnliches Projket -> jetzt aber stillgelegt) ?

    mfg,
    Logaff

    • jdo says:

      Sorry, aber die Frage verstehe ich nicht ganz. So weit mir bekannt ist, startest Du eine Applikation mit entweder der Intel oder der NVIDIA. Willst Du die NVIDIA verwenden, musst Du die Applikation mit optirun ... starten, sonst verwendet das System automatisch die Intel.

      Aber so weit ich weiß, ist das unter Windows auch so. Oder kann Windows während des Ausführens einer Applikation die Grafikkarte wechseln? Ich lerne ja gerne dazu 🙂

    • Baul says:

      Nun, momentan ist es so, wie jdo es beschreibt.
      Es soll aber noch Optidesk dazu kommen, da wird dann ein weiterer Menüeintrag angelegt für die Anwendung, die du mit Optirun starten willst.
      Außerdem wurde Das GUI von Martin Juhl (Ironhide/ old Bumblebee) geforkt. Das kommt also vermutlich auch noch irgendwann. Dann wird vermutlich eine Option vorhanden sein, die Standard-GPU wie unter Windows für einzelne Programme festzulegen.
      Bis dahin ist aber Tumbletweed schon ziemlich komfortabel

      • jdo says:

        Ich hab das nun über die Launcher geregelt. Bei mir sind es nur eine handvoll Anwendungen, für die ich die NVIDIA-Karte verweden möchte. Schreib ich halt ein optirun davor und beim Mausklick wird das dann automatisch mit Bumblebee gestartet.

        Gut ist nicht so komfortabel wie eine GUI. Aber das manuell schnell zu bearbeiten dauert wahrscheinlich auch nicht länger, als das mit der Maus hin zu schubsen.

        • Logaff says:

          ich empfehl euch einfach mal nach Ironhide zu googeln. Ironhide kann genau das gleiche, nur das automatisch zwischen den Karten gewechselt wird wie bei Windoof (bin ich der Meinung). Und wollte nu wissen ob ob Bublebee auch schon automatisch wechseln kann.

          mfg,
          Logaff

          • Baul says:

            Mit Ironhide wäre ich momentan vorsichtig. Ein GUI ist schön und gut. Aber Ironhide benutzt noch die alte Methode über acpi-call die Grafikkarte zu steuern. Und da grad eine Entwicklungspause ist, bleibt das noch ein wenig so. Man läuft also eher Gefahr, die Grafikkarte zu schrotten 😉 Außerdem ist das mit der Konfiguration der Grafikkarte unter Ironhide noch so eine Sache, die klappen kann oder auch nicht

  6. Sasch says:

    Super, das habe ich mir auch schon lange gewünscht, danke für den Beitrag, ich hab das mal zu Diaspora getragen: https://diasp.eu/posts/215657

    Nach dem installieren von Bumblebee und dem Eintragen in die Gruppe habe ich meinen Rechner neu gestartet und beim Bootvorgang blieb dieser stehen.

    Nachdem ich "vesa" in die /etcX11/xorg.conf eingetragen hatte, konnte ich wieder starten, danach habe ich den NVIDIA Treiber neu installiert und jetzt gehts wieder.

    Allerdings habe ich jetzt immer noch kein Bumblebee, kann mir da evtl. jemand helfen?

    • jdo says:

      Darf ich fragen, was Du für einen Rechner hast? Genaue Bezeichnung, bitte.

      • Sasch says:

        Oh, ja, sorry:

        Laptop von Sony - VGN AR51J

        Sollte eigentlich ne NVIDIA GeForce 8400M GT drin sein!

        • Sasch says:

          Und? Kann mir da wer helfen?

          • Sasch says:

            Ahhhh, bei uu.de steht:

            Bevor die Installation gestartet wird, muss eine eventuell vorhandene xorg.conf in /etc/X11/ entfernt werden; bumblebee verwendet eine eigene xorg.conf.nvidia bzw. xorg.conf.nouveau in /etc/bumblebee/. Der nvidia-current Treiber wird bei der Installation von bumblebee mitinstalliert.

          • jdo says:

            Ah, ok. Auf diesen Stolperstein bin ich nicht gestoßen. Danke für die Information!

  7. sudo ist sudo says:

    hi!

    Sehr nett, das Du Deine Erfahrungen hier teilst! Danke!

    Es gibt auch einen kleinen Artikel im Wiki von ubuntuusers.de:

    http://wiki.ubuntuusers.de/Grafikkarten/Nvidia/Nvidia_Optimus

    Würde es schön finden, wenn Du den noch in den Artikel aufnehmen könntest?

  8. zippy says:

    Hallo jdo !
    Super, daß Du das bumblebee Projekt mit diesem Artikel bekannt(er) machst. Leider fällt das Highlight der Version 3.0 völlig unter den Tisch:
    Powermanagement (An/Abschalten der Nvidia-Karte zwecks Erhöhung der Akkulaufzeit)
    funktioniert nun out-of-the-box (!!!). In Version 2.4 (und anderen Derivaten, wie z.B. Ironhide) war dies nur mit Acpi_calls möglich, die -je nach laptop- unterschiedlich waren. Die bloße Benutzung der Nvidia Karte "konnten" schon die Vorgänger....
    Noch ein kleiner Hinweis fürs "benchmarken":
    Die verschiedenen Bildtransportoptionen (yuv, proxy usw.) unterscheiden sich nicht nur in der Performance, sondern auch in der Qualität.
    Übrigens, die Tastenkombi strg+shift+F9 öffnet ein Fenster (während irgendeine "optirun" anwendung läuft) und ermöglicht es, on-the-fly zwischen den Kompressionen
    umzuschalten und auch die "jpeg" Qualität auf 100% zu setzen (default 95), was sie dann im Vergleich zu "yuv" wieder etwas abfallen läßt.
    Wenn Du noch einen kleinen (+40%) Schub testen willst, dann starte mal "optirun glxspheres" (oder welchen benchmark auch immer) mit dem Parameter VGL_READBACK=pbo,
    also "VGL_READBACK=pbo optirun glxspheres" ...
    Grüße, zippy

    • jdo says:

      Hallo und vielen Dank für den Hinweis. Ich habe es gleich noch oebn mit reingschrieben - also das mit der automatischen Abschaltung.

      Das sollte eingentlich gar kein so richtiger Benchmark sein, sondern nur zeigen, dass man wirklich satt mehr aus seinem Rechner mit Bumblebee holen kann. Aber auch hier noch mal danke für die Portion an Zusatz-Informationen!

      Grüße,
      Jürgen

  9. abulafia says:

    Danke für den Artikel, hat mir sehr weitergeholfen! Ich hatte daneben folgende Idee: Viele benutzen ihren Laptop ja heute als Ersatz-PC. Da wäre es wohl ganz sinnreich, wenn ein Programm, das es nötig hat, dann mit optirun gestartet wird, wenn genug Saft da ist, sprich: Das Notebook an einem AC Adapter hängt. Das lässt sich mit folgendem Script lösen (für mich funktioniert es zumindest):

    #!/bin/bash
    if test -z "$1"; then
    exit 1
    fi
    if echo "`cat /proc/acpi/ac_adapter/AC/state`" | grep -q "on-line"; then
    optirun $1
    else
    eval $1
    fi
    exit 0

    Einfach die Programmaufrufe dem Script übergeben und das Script entscheidet, ob optirun benutzt wird oder nicht. 😉

  10. Ben says:

    Hi, Ich habe ebenfalls Linux Mint. Aber leider klappt es bei mir nicht.
    Ich mache es wie du beschreibst.
    Schritt eins bis drei. Keinerlei Fehlermeldung.
    Doch gibt es dann bei mir kein Packet welches bumblebee oder bumblebee-nvidia heißt.

    Muss der Nvidia-Treiber schon VORHER installiert sein? Oder wird der bei der Installation von bumblebee mit installiert? Dereit habe ich noch keine zusätzlichen Treiber isntalliert. Nur das was Linux Mint mit sich bringt.
    Wenn ich "sudo apt-get install nvidia-" ins Terminal eingebe und mir die Vorschläge anzeige, werde da einige Treiber angezeigt (klar habe bei Schritt Zwei ja scheinbar die Quelle hinzugefügt). Woher weiß ich, welcher der Richtige ist ? (habe eine GeForce GT540M CUBA)

    MfG
    ben

  11. Ben says:

    Problem gelöst. Habe über die GUI noch die Hacken setzen müssen. Die Software-Quelle wurde also hinzugefügt aber aus irgend einen Grund "deaktiviert" oder wie man es nenne soll.

  12. Toni says:

    n link zum projekt wäre noch schön, dass das auf google bisschen höher kommt...