Open-Source ARM Mali Graphics Driver Achieves...

Posted by Michael Larabel on April 12, 2012

The open-source ARM Mali graphics driver, known as the the Lima project, has achieved a major milestone.

Since delivering the exclusive news of the Lima project as an open-source reverse-engineered ARM Mali graphics driver for Linux back in January, there hasn't been too much else to report on about this driver that's still early in its development life. This driver is called Lima since it doesn't have the official blessing of ARM Holdings and right now has been only running simple demos with Limare. The code is available and is running on the KDE Plasma Active Tablet as was talked about and shown at FOSDEM 2012.

Fortunately this morning I've heard some news from the Lima developers about hitting a major milestone. Joining Luc Verhaegen, the lead developer of the Lima project, have been Ben Brewer (another employee of Codethink) and Connor Abbot have been the latest developers joining the Belgian on this open-source driver project.

What these developers have now achieved is being able to decode the instruction set encoding for the fragment (pixel) shader unit of the ARM Mali graphics core. After reverse-engineering this, they've written tools to allow the code to be assembled and disassembled, including being able to pack the instruction data into ARM's shader binary format. With this, the assembled binaries can then be loaded in a clean manner by the official (closed-source) ARM Mali Linux graphics driver. The vertex shader unit is still being deciphered but is nearing a successful point too. It took about one month to decipher Mali's fragment shader.

Ben Brewer mentioned to me that when they have more of the command stream deciphered that they should then be able to implement OpenGL ES 2.0 and OpenCL drivers for this ARM chipset.

These new Lima driver tools can be found on Gitorious while they've also written documentation on the Lima assembler, Lima ISA (instruction set architecture), MBS format, and offline shader compiler.

Luc Verhaegen wrote to Phoronix, "When we started with lima a year ago, it was clear that we needed to split the job up in logical parts: the infrastructure and the shaders. Once the initial infrastructure was out, the work on the shaders could start in earnest. It was amazing to see Connor and Ben piece together everything from just the compiler output at such speed. Now we have the fragment assembler and they are working on the vertex shaders. I love it when a plan comes together. ;)"

Unrelated to this driver, coming up this week still is some really good open-source GPU driver news.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Intel Haswell HD Graphics 4600 vs. AMD Radeon Graphics On Linux
  2. Intel Haswell HD Graphics 4600 Performance On Ubuntu Linux
  3. Intel Core i7 4770K "Haswell" Benchmarks On Ubuntu Linux
  4. The First Experience Of Intel Haswell On Linux
Latest Software Articles
  1. Optimized Binaries Provide Great Benefits For Intel Haswell
  2. 11-Way Linux, BSD Platform Comparison
  3. SNA Acceleration Works Great For Intel Core i7 Haswell
  4. The Linux Evolution For Intel Haswell's Performance
Latest Linux News
  1. D Language Still Showing Promise, Advancements
  2. Planetary Annihilation Released For Linux Gamers
  3. Gentoo Starts Work On KDE-Wayland Support
  4. NVIDIA To License Its Kepler GPU Technology
  5. KDE's KWin Made Lots Of Progress In 4.11
  6. Ubuntu Announces Carrier Advisory Group
  7. Qt 5.1 Release Candidate 1 Has Arrived
  8. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  9. Subversion 1.8 Presents New Features
  10. LLVM 3.3 Officially Released
  11. LLVM/Clang Now Uses Loop Vectorizer At New Levels
Latest Forum Talk
  1. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  2. Intel GPU Driver Tries To Rip Out FBDEV Support
  3. Planetary Annihilation Plans To Come To Linux
  4. Mir Still Causing Concerns By Ubuntu Derivatives
  5. KDE's KWin Made Lots Of Progress In 4.11
  6. I got robbed at gunpoint today....
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite