Lima-Projekt: Freier Linux-Treiber für Mali-GPUs wiederbelebt

Die Mali-GPUs von ARM zählen neben den Adreno-Chips von Qualcomm zu den wohl am weitesten verbreiteten Grafikprozessoren in Embedded-Geräten und Smartphones. Der bei AMD in China angestellte Entwickler Qiang Yu hat nun das Lima-Projekt neu gestartet und einen neuen freien Linux-Treiber für die Mali-400-GPU erstellt, wie der Entwickler ankündigt(öffnet im neuen Fenster) .
ARM selbst stellt zwar für seine Hardware einen freien Kernel-Treiber bereit, der ist allerdings bisher nicht in den sogenannten Upstream-Kernel der Linux-Community eingepflegt, nutzt deshalb nur bedingt die sonst üblichen Linux-Techniken, und die Userspace-Komponenten sind proprietäre Blobs. Dies gilt auch für viele weitere Grafikkomponenten, die in ARM-SoCs verwendet werden.
Das ursprünglich von Entwickler Luc Verhaegen gestartete Lima-Projekt versucht dagegen, einen Linux-Treiber per Reverse Engineering zu erstellen, bei dem sowohl Kernel- wie auch Userspace-Teil völlig frei sind und die gleichen Schnittstellen und Techniken nutzt wie die anderen freien Linux-Treiber auch. Mit Freedreno für Adreno-GPUs, dem Etnaviv-Treiber sowie dem Treiber für die VC4-GPU des Raspberry Pis gibt es auch einige weitere Projekte, die diesen technischen Anspruch auch für weitere SoC umsetzen.
Yu hat das zwischenzeitlich nicht mehr weiterverfolgte Projekt nun also wieder mit Code versorgt. Dieser unterscheidet sich jedoch fast vollständig von dem Code von Verhaegen. Es werden aber die für den ursprünglichen Lima-Code gesammelten Hardware-Informationen sowie Algorithmen wiederverwendet. Bisher sind die Arbeiten an dem neuen Treiber aber noch nicht besonders weit fortgeschritten. Der Code steht auf Github zum Download(öffnet im neuen Fenster) bereit.