Lima: An open source graphics driver for ARM Mali GPUs

Lima is an open source graphics driver which supports Mali-200 and Mali-400 GPUs.

The aim of this driver and others such as freedreno is to finally bring all the advantages of open source software to ARM SoC graphics drivers. Currently, the sole availability of binary drivers is increasing development and maintenance overhead, while also reducing portability, compatibility and limiting choice. Anyone who has dealt with GPU support on ARM, be it for a linux with a GNU stack, or for an android, knows the pain of dealing with these binaries.



All lima code is kept at github project. Some more recent commits (2013) are located at ng repository waiting for libv to eventually merge them into limadriver.

Documentation for the shader compiler, and the initial investigation of the instruction set is available here.





The documentation is currently kept in the wiki, pages of interest are:

Original (Falanx) datasheets:

Lima Documents


The Lima driver currently only has some preliminary and highly experimental support. This experimental phase is necessary to gain a full and complete understanding of how the Mali GPUs work. Once more is known, an actual graphics driver (most likely based off of Mesa/Gallium) can be written. There is a lot of interesting work that still needs to be done!

If you would like to contribute to this project, and would like to know what Devices can be used to help develop the Lima driver, check out the requirements. Rest assured though, due to the enormous popularity of Android on cheap tablets, contributing to a free graphics driver has never been this cheap and portable at the same time!


We can currently be reached on irc on freenode, in the #lima channel.