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. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Intel Ultrabook Performance Is Faster With Mesa 9.2
  2. Hot Relocation HDD To SSD Support For Btrfs
  3. Phoronix Test Suite 4.6.0 "Utsira" Released
  4. New Intel X.Org Driver Supports All Of Haswell
  5. SQLite Now Faster With Memory Mapped I/O
  6. Microsoft Releases Skype For Linux 4.2, Has Bug-Fixes
  7. Qt For Tizen Launches, Based On Qt 5.1
  8. KTAP Released For Linux Kernel Dynamic Tracing
  9. Linux 3.10-rc2 Kernel Takes In A Few Extra Pulls
  10. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
  11. Handbrake 0.9.9 Supports OpenCL Offloading
Latest Forum Talk
  1. Intel Ultrabook Performance Is Faster With Mesa...
  2. New Intel X.Org Driver Supports All Of Haswell
  3. Intel Linux OpenGL Driver Leading Over Apple OS X
  4. Kubuntu, KDE Has Little Hope For Ubuntu's Mir
  5. Hot Relocation HDD To SSD Support For Btrfs
  6. Phoronix Test Suite 4.6.0 "Utsira"...
  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