Show Your Support: This site is primarily supported by advertisements. Ads are what have allowed this site to be maintained on a daily basis for the past 18+ years. We do our best to ensure only clean, relevant ads are shown, when any nasty ads are detected, we work to remove them ASAP. If you would like to view the site without ads while still supporting our work, please consider our ad-free Phoronix Premium.
Lima GPU Driver Faces Changes, Advancements
The open-source Lima driver project was first announced on Phoronix one year ago and then more broadly announced during the FOSDEM conference in February from Brussels. The Lima driver project was spearheaded by Luc Verhaegen while being employed by the Codethink consulting company. The Lima driver has been developed via reverse-engineering and without the support of ARM Holdings while much progress has been made this year.
In an email this week to Phoronix, Verhaegen shared some advancements made to this ARM Mali graphics driver. Verhaegen started off by sharing that he's no longer employed by Codethink. "Since codethink further increased its focus on baserock, and I have been rather unhappy with the lack of progress on the lima driver, codethink has decided to no longer employ me. I now have a bit of time available to finally push lima where it should've gone at the beginning of the year." (Baserock is Codethink's open-source project for building embedded systems with Linux.)
As far as the progress that Luc has now made independent of Codethink, "First, the lima driver was brought up on a proper GNU/Linux, with a now useful build system, and it is now running on the r3p0 mali kernel drivers. Then the hackish demo code from May was restructured and cleaned up, and a proper Creative Commons licensed companion cube was put in place (as the author of the cube used at linuxtag could no longer be traced)."
He has shared a video of this Lima spinning cube on YouTube. The video is showing Lima running on 720p, with the cube spinning at the display refresh rate, but it would spin at 91fps when not synced. The cube itself is 4052 triangles, and a 512x512 texture, and is part of the Limare tests.
In the email to Phoronix, Luc also described the hardware configuration for this Lima test. "All of this is running on an Allwinner A10, probably the most free ARM SoC out there at this time. This up-to 1.5GHz single core Cortex A8 comes with a Mali400MP1 and is very cheap and can therefor be found in many cheap chinese tablets, set-top-boxes and the mk802 "smart-tv-stick". There are even two boards being sold which have full schematics available, namely the cubieboard and the olimex Olinuxino. The A10 is unbrickable, and there is no massive non-free blob pulling the strings in the background like on the Broadcom SoCs."
Luc also shared some of the future work being planned for this driver. "As for lima, prepare for a flurry of development in the next few months. Connor Abbott is still beavering away at the shader compiler for the mad (but fast!) Mali200/400 vertex shader. There is one big milestone which I want to reach still before I look into bringing up an actual driver for this hardware."
While still running on the ARM Mali binary blobs, here's a video of this forthcoming milestone goal:
The recent Git commits to the Lima driver can be found on their Gitorious account.