Zum Hauptinhalt Zur Navigation

Linux: Freedreno-Treiber hat mehr Funktionen als Binärblob

Der freie Linux-Treiber für die Adreno-GPUs besteht inzwischen 85 Prozent der Mesa-Tests für OpenGL 3. Damit sind Funktionen möglich, die der proprietäre Binärtreiber von Qualcomm für seine Adreno-GPUs nicht leistet.
/ Sebastian Grüner
10 Kommentare News folgen (öffnet im neuen Fenster)
Das Inforce IFC6410 kann auch mit Freedreno-Treiber betrieben werden. (Bild: Inforce)
Das Inforce IFC6410 kann auch mit Freedreno-Treiber betrieben werden. Bild: Inforce

In einem kurzen Statusbericht zu Freedreno schreibt der Projektinitiator Rob Clark(öffnet im neuen Fenster) , dass bereits etwa 85 Prozent der OpenGL-3-Tests in Piglit(öffnet im neuen Fenster) von dem Mesa-Teil des Treibers bewältigt würden. Die Erfolgsquote für alle Tests liege gar bei über 90 Prozent. Mit Piglit testen die Entwickler verschiedene Funktionen und Erweiterungen der Grafikschnittstelle in ihren freien Treibern. Laut Aussage Clarks ermöglicht Freedreno damit inzwischen einige Funktionen, die der proprietäre Binärblob für die Adreno-GPUs von Qualcomm nicht bietet.

Das liege vor allem daran, dass der proprietäre Treiber nur OpenGLES 3 unterstützt, so Clark. Für den freien Treiber hätten die Entwickler aber auch Funktionen implementiert, die in dieser Spezifikation nicht vorkämen, dafür aber in OpenGL 3. Einige dieser Funktionen ließen sich aber nur durch eine Emulation umsetzen. Dies sei dem Team gelungen, da ihnen die Funktionen der meisten der Register und Bitfelder der GPU inzwischen bekannt seien. Dadurch sei die Implementierung nicht viel mehr als ein Ausprobieren mit gut begründeten Vermutungen.

Diese Arbeiten beschreibt Clark selbst allerdings als kleinere Implementierungen für Piglit. Darüber hinaus hätten die Entwickler sich in der Vergangenheit auf das Beheben von Fehlern konzentriert und damit den Treiber für die a300-Serie komplettiert. Aufregende neue Veränderungen habe es jedoch nicht gegeben.

Der geräteabhängige X-Treiber (DDX) unterstützt nun außerdem die Output-Class(öffnet im neuen Fenster) , was es einem aktuellen X-Server erlaubt, den richtigen DDX anhand des Namens des geladenen Kernel-Moduls zu verwenden. Die vor wenigen Tagen erschienene neue Version des X-Treibers(öffnet im neuen Fenster) behebt zudem einige Fehler. Für einen vollständigen Upstream-Support, womit Clark die Benutzung des Linux-Kernels aus Torvalds' Entwicklungszweig meint, fehlten derzeit nur noch wenige Funktionen zur Unterstützung des Entwicklerboards Inforce IFC6410(öffnet im neuen Fenster) mit einem Snapdragon 600 SoC.


Relevante Themen