Zum Hauptinhalt Zur Navigation

Linux: Treiberentwicklung fast ohne Hardware

Linux -Treiber sollten dann verfügbar sein, wenn Endkunden Geräte damit kaufen können. Die Entwicklung geht zunächst auch ohne Hardware zum Testen.
/ Sebastian Grüner
3 Kommentare News folgen (öffnet im neuen Fenster)
Linux-Treiber müssen nicht immer auf der passenden Hardware entstehen. (Bild: MARTIN BERNETTI/AFP via Getty Images)
Linux-Treiber müssen nicht immer auf der passenden Hardware entstehen. Bild: MARTIN BERNETTI/AFP via Getty Images

Bei den freien Linux-Treibern, die durch Reverse Engineering entstehen, stellt sich Entwicklern häufig das Problem, dass die Treiberentwicklung erst mit der öffentlichen Verfügbarkeit der Hardware selbst beginnen kann – und nicht schon vorher wie etwa beim Hersteller. Die Entwicklerin Alyssa Rosenzweig beschreibt im Blog der Unternehmensberatung Collabora(öffnet im neuen Fenster) , wie diese Zeit nun aber deutlich verkürzt werden kann – auch ohne Zugriff auf die passende Hardware.

Üblicherweise brauchen die Entwickler der Treiber zunächst von Linux unterstützte Boards, um einzelne Teile wie etwa die GPU per Reverse Engineering zu untersuchen und darauf aufbauend Treiber zu erstellen. Im Fall der freien Linux-Treiber für die Valhall-Architektur von ARMs Mali GPUs ( Mali-G57 , Mali-G78 ) setzte Rosenzweig zusammen mit ihren Mitstreitern aber zunächst auf ein Android-Telefon mit der GPU. Hier ließ sich der Treiber zwar nicht austauschen und das Smartphone auch nicht rooten, es reichte zunächst aber für genügend Informationen über die Hardware, um einen Treiber zu schreiben.

Linux-Hardware, um ihren Treiber damit zu testen, stand Rosenzweig zu diesem Zeitpunkt allerdings noch nicht zur Verfügung. Mithilfe zahlreicher Unit-Tests und der Linux-Bibliothek DRM-Shim konnte Rosenzweig ihren Treiber jedoch zumindest auf ihre eigenen Erwartungen hin testen. Hinzu kommt, dass der freie Panfrost-Treiber für die Mali-Architektur über Jahre gewachsen ist. Die Anpassungen für die aktuelle Generation sollten sich dabei in Grenzen halten, so zumindest die Erwartung von Rosenzweig.

Spekulative Entwicklung zahlt sich aus

Erst Monate später konnte Rosenzweig ihren Treiber auf echter Hardware, einem Chromebook, testen, wie sie schreibt. Die Tests konnte Rosenzweig hier aber zunächst aufgrund eines Hardware-Bugs in dem Mediatek-SoC nicht durchführen. Nach einigem Debugging gelang Rosenzweig dank der Unterstützung weiterer Entwicklung letztlich der Boot auf dem Gerät und das Laden ihres Treibers, der zuvor nie auf echter Hardware getestet worden war.

Hinzu kommen mussten dann noch einige weitere kleine Bug-Fixes. Dazu schreibt Rosenzweig: "Nachdem ich die Hardware und ein serielles Kabel erhalten hatte, brauchte ich nur wenige Tage, damit Hunderte von Tests auf der neuen Architektur durchlaufen. Monate der spekulativen Entwicklung des Treibers haben sich ausgezahlt." Der Valhall-Treiber sollte darüber hinaus bald verfügbar sein, hofft Rosenzweig.


Relevante Themen