ubuntuusers.de

Bumblebee - Ein Blick hinter die Kulissen

software.png

Bumblebee bietet die Möglichkeit, Grafikchips mit Nvidias Optimus Technologie unter Linux zu nutzen. Wir haben ein Interview mit den Entwicklern Peter Wu, Joaquín Ignacio Aramendía und Bruno Pagani geführt.

bumblebee.jpg
Bumblebee-Logo

Seit nun fast zwei Jahren gibt es Laptops mit leistungsstarken Nvidia GPUs fast auschließlich mit der Optimus-Technologie. Nachdem Nvidia beschlossen hatte, dafür keine Treiber unter Linux bereitzustellen, suchte 🇬🇧 die Community eigene Lösungswege.

Im Frühjahr dieses Jahres war Bumblebee 3.0 fertiggestellt, durch das neue Kernel Modul bbswitch war nun eine Nutzung und das stromsparende Abschalten der Nvidia-GPU ohne tiefere Eingriffe ins System möglich, allerdings ist diese Lösung prinzipbedingt (VirtualGL/2. Xserver) verlustbehaftet. Durch Dave Airlies jüngste Erfolge mit PRIME steht eine weitere neue Lösung vor der Tür.

Das Interview wurde auf Englisch geführt und ist im Wiki 🇬🇧 hinterlegt.

Stellt Euch erstmal vor!
Lekensteyn: Ich bin Peter Wu, 18 Jahre alt, komme aus den Niederlanden und mache meinen Bachelor in angewandter Informatik. Als mein Windows XP Rechner trotz Tweaking immer langsamer wurde, begann ich Linux zu benutzen (Ubuntu). Die Freiheit und Offenheit von Linux reizten mich, also traf ich meine Wahl. Mittlerweile läuft bei mir Arch, ich mag es gerne extrem.

Samsagax: Ich bin Joaquín Ignacio Aramendía, 25, studiere Maschinenbau in Argentinien. Auch für mich war die Freiheit unter GNU/Linux ausschlaggebend, bei mir läuft Arch Linux, da es schlank, klar strukturiert und perfekt für Entwicklungsaufgaben ist.

ArchangeGabriel: Ich bin Bruno Pagani, 20, Physikstudent in Frankreich. Der erste Computer zu Hause (1999) lief mit Mandrake Linux, so entdeckte ich Linux vor Windows. Mittlerweile benutze ich beides, da einige Programme, die ich brauche, dies erfordern. Aber ich bevorzuge Linux, da ich für kostenlosen und offenen Zugang zu Kulturgut kämpfe, und denke, dass Computer dazu gehören.

Hat Euch Nvidia jemals in irgendeiner Form unterstützt bei der Entwicklung von Bumblebee?
Lekensteyn: Kein Stück. Tja, nur mit dem README zu den xorg.conf Optionen ihres proprietären Treibers. Darüber hinaus bekamen wir keinerlei konkrete Hilfe, um Optimus auf Linux umzusetzen.

Samsagax: Zu keinem Zeitpunkt. Deswegen fühle ich mich auch verarscht wegen Nvidias lausiger Antwort 🇬🇧 auf Linus Torvalds "Mittelfinger-Zwischenfall"

ArchangeGabriel: Nicht direkt. Allerdings zeigen einige Änderungen am Nvidia Treiber, dass sie uns wahrgenommen haben, und versuchen, ein paar Bugs zu fixen, auf die wir gestoßen sind. Aber das ist auch alles.

War es sehr aufwändig, Bumblebee und speziell das "bbswitch" Modul zu entwickeln?
Lekensteyn: Die ursprüngliche Idee, VirtualGL in Verbindung mit einem 2. Xserver zu nutzen hatte Martin Juhl. Mir war zuerst nicht klar, dass ACPI das Potenzial zur Abschaltung von GPUs hat; es waren Leute wie Michael Kottman, die acpi_call entwickelten, ein sehr nützliches Tool, um ACPI-Tabellen auszulesen und Befehle zu testen.

Als ich erkannte, dass die Lösung in den ACPI Tabellen liegt, begann ich, mich darin einzuarbeiten. Die Community war sehr hilfreich, da wir viele ACPI-Tabellen zum Auslesen zugesendet bekamen, welche meine grundlegenden Ideen bestätigten, und mir ermöglichten, ein nettes Tool zu basteln, das manuelle ACPI-Befehle zum An/Abschalten der Nvidia GPU (bumblebee 2.4) überflüssig machte:

Nach einigen Testläufen und Feedback, konnten wir Bumblebee 3.0 mit bbswitch fertigstellen.

Habt Ihr jemals an einen "Donate" Button gedacht? Bei der Vielzahl an Bumblebee Nutzern..
Lekensteyn: Wir hatten ja alle dieses Problem mit Optimus und waren froh, dass andere das Problem angingen. Ursprünglich dachten wir nicht an Spenden, später wurde das mal diskutiert, aber wir entschieden uns dagegen, auch weil die erforderliche Infrastruktur dafür Zeit und Aufwand erfordert. Dennoch haben uns ein paar Leute, denen wir via Email geholfen haben, hin und wieder Spenden zukommen lassen.

Samsagax: Dem ist nichts hinzuzufügen. Wir kamen überein, dass es mehr Aufwand als Nutzen bringen würde.

ArchangeGabriel: Eigentlich alles gesagt. In der Tat gab es viele Nutzer, die auf einen "Spenden-Button" warteten, zumindest im französischem Forum Ubuntu-fr 🇫🇷 , so um die 100. Irgendwann schlugen wir vor, dcommander, den Entwickler von VirtualGL, zu unterstützen, was wir aber nicht dauerhaft machten, da wir es für Bumblebee auch nicht gemacht haben.

Wird bumblebee noch weiter gepflegt (Kepler GPUs funktionieren teilweise nicht), oder ist Eure Mission mit Dave Airlies jüngsten Erfolgen mit PRIME erfüllt?
Lekensteyn: Real-Life lässt uns nicht viel Zeit, aber momentan ist PRIME für uns kein Grund, Bumblebee einzustellen. PRIME ist großartig, aber noch nicht fertig. Für PRIME braucht man aktuelle Entwicklerversionen des Graphic Stacks, was nichts für jedermann ist. Aktuelle Baustellen von PRIME sind noch:

  • Wenn DDX und Kerneltreiber geladen sind, gibt es noch keine Möglichkeit, die Nvidia GPU abzuschalten.

  • Solange Nvidia nichts am proprietären Treiber ändert, kann er in Verbindung mit PRIME nicht genutzt werden

Wer zuviel Zeit hat und gerne sein Betriebssystem zerschießt, um es wieder zu debuggen: Hier 🇬🇧 ist mein Scratchbook für PRIME.

Samsagax: Bumblebee ist ja nur ein Workaround für ein Xserver Designproblem (Kein Dynamic Switching + Render Offloading), relevant geworden durch die Optimus Technologie. Da das Problem durch Dave Airlies Patches (frisch getestet und für wirklich gut befunden) nicht mehr besteht, wird Bumblebee in seiner jetzigen Form nicht mehr gebraucht werden, aber vielleicht werden Teile davon für PRIME benutzt werden.

PRIME ist im Moment weder stabil noch ausgereift, das Projekt braucht noch einiges an Testläufen und Arbeit. Ich versuche, dies zu unterstützen, damit es eine saubere und finale Lösung für Optimus unter Linux wird. ☺

Wir bedanken uns für das Interview!


Ein großes Dankeschön an realzippy für das Führen des Interviews.

Veröffentlicht von svij | 11. Juli 2012 16:45 | Kategorie: Software | # Fehler im Artikel melden

Tolga

Avatar von Tolga
1 11. Juli 2012 17:30

meine güte. 18 jahr jung. respekt! und vielen dank für alles. ich nutze bumblebee ^^

danielrichter

2 11. Juli 2012 21:13

oO Kepler funktioniert nicht? Ich stehe kurz vor dem Kauf eines neuen Notebooks (und hatte die GTX 680m durchaus in Erwägung gezogen) aber dieses Optimus-Zeugs hat mich bisher erfolgreich davon abgehalten. Kann jemand mal seine Erfahrungen posten? Mich interessiert insbesondere:

  • welche externen Monitor-Anschlüsse funktionieren? Ich hörte, dass der HDMI-Port üblicherweise nicht mit der Intel-GPU verbunden ist und daher unter Linux nicht ohne Weiteres nutzbar ist. Unter Windows schaltet das wohl permanent auf die Nvidia-Karte (was auch irgendwie suboptimal ist - ich nutze meinen Laptop meistens mit einem externen Monitor - wenn bei allen Anschlüssen die dedizierte Grafik genutzt wird, kann ich auch gleich darauf verzichten). Wenn der HDMI-Port nicht geht - wie sieht es mit Display Port aus?

  • funktioniert Compiz bzw. Unity 3D?

Tolga

Avatar von Tolga
3 11. Juli 2012 21:46

@2: also meine gt540m/intel hd kombo funktioniert gut.

hab ein dell xps15 und habe einen externen monitor über hdmi angeschlossen. an der uni hat ich sogar über den "apple anschluss" (der ist auch für video und so ne art dvi oder so ich weiß es nicht...hatte extra nen adapter dafür auf vga gekauft, weil die beamer in der uni nur vga konnten und von hdmi auf vga gab es keine adapter) einen beamer am laufen. also ich konnte keine probleme feststellen - normalerweise ist die nvidia ja deaktiviert, d.h. unity läuft über die intel gpu.

ich persönlich würde mir das allerdings nicht noch einmal kaufen - habe allerdings auch keine erfahrung mit amd, mal schauen wie sie sich so weiterentwickeln.

axt

4 11. Juli 2012 22:09

@3:

über den "apple anschluss"

Du meinst Mini DisplayPort.

danielrichter

5 11. Juli 2012 22:16

@3: Danke, das hört sich gut an… wobei ich bzgl. HDMI meine Zweifel habe, nachdem ich diesen Thread gefunden habe: http://forum.ubuntuusers.de/topic/dell-xps/. Andererseits scheint DisplayPort aber zu funktionieren - das wäre für meine Zwecke ausreichend (muss eh einen Adapter nutzen, da der Monitor nur VGA und DVI kann).

Tolga

Avatar von Tolga
6 12. Juli 2012 17:31

@4: vielen dank, genau es ist ein mini displayport. aber wenn ich mich nicht irre von apple entwickelt?

mgraesslin

Avatar von mgraesslin
7 12. Juli 2012 21:59

Interview zu Bumbelbee und kein Vermerk auf GIANT BUG... causing /usr to be deleted... so sorry - sorry da kann ich nicht wiederstehen und muss das einfach posten.

Nehmt Zeit mit beim Lesen ☺

@Bumbelbee developers: congratulation to your work and even if NVIDIA did not support you directly it's quite an accomplishment to be recognized by them in a way that they fix bug in their drivers and even mention you in an official statement. That's something to be proud about. My experience with NVIDIA driver developers btw. is most pleasant and I would if I were you just try to contact some of them.

realzippy

8 12. Juli 2012 22:24

@7: There is a lot confusion about this project (Bumblebee). Du verwechselst hier Projekte, die Historie ist eben verwirrend. 😉. Das war jemand anderes.

Björn2L

9 14. Juli 2012 11:32

Danke für das Interview 👍

danielrichter

10 11. August 2012 00:28

Für den Fall, dass das hier noch jemand lesen sollte:

Ich habe heute meinen Alienware M17x R4 mit Geforce 675M erhalten und gleich mal die Ausgabe via HDMI getestet. Es funktioniert ohne Probleme out of the Box (Bumblebee habe ich bisher nicht installiert)!