The Lima driver
is slowly but surely progressing for supporting ARM Mali graphics hardware in an open-source world. A Mesa driver has been started, their demo code can be faster than the binary driver, user-space memory management is being tackled, and evidently the management at ARM Holdings isn't too happy.
Luc Verhaegen has written a new blog post this week entitled Old and new limare code, and management overhead...
This post provides an update on the progress of the "Lima" driver he started last year.
- His updated Limare demo driver code is cleaned up a lot and there's now support for the ODROID-X series hardware, multiple PP support for the Mali 400MP4, fully-threaded job handling, multiple textures support, multiple programs support, memory access optimizations, UMP support, X11 EGL support, and more.
- There's no real performance change in the past few months of the code itself.
- For bringing up an actual driver, he's started work on memory management. However, as Luc doesn't want to write a proper kernel DRM driver now and use ARM's kernel driver, he's workinf on user-space memory management. From user-space he's just tapping the address space given by the Mali MMU. He's actually tweaked some greater performance out of his code using user-space memory management.
- He's had success in overclocking his Mali graphics hardware.
- According to Luc, "ARM management seriously dislikes the Lima driver project."
- It's not covered directly in his blog post, but in chatting with Luc recently, he's started work on a Mesa driver for Lima. This is being done as a classic Mesa driver rather than a Gallium3D driver. This classic Mesa driver will also be using ARM's binary shader compiler too. After getting all of that working, he will see what code could be restructured in Gallium3D form.