Linux: Treiberentwicklung fast ohne Hardware
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.
- Anzeige Hier geht es zu Linux: Das umfassende Handbuch bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.



