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.