Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
Arm Community blogs
Arm Community blogs
Mobile, Graphics, and Gaming blog Making the Mali GPU Device Driver open source
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded and Microcontrollers blog

  • Internet of Things (IoT) blog

  • Laptops and Desktops blog

  • Mobile, Graphics, and Gaming blog

  • Operating Systems blog

  • Servers and Cloud Computing blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tags
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Making the Mali GPU Device Driver open source

Samuel Taylor
Samuel Taylor
September 11, 2013
3 minute read time.

Recently we released a major update to the Linux drivers for the Mali-200 and Mali-400 MP GPUs. Like many software projects we time-box our driver development, with two major releases each year. This release (r2p0) contains a bunch of exciting new features including Android support, full SMP support, performance optimizations and some important EGL extensions. We'll talk about some of these in future blog posts, but for today I wanted to tell you about the other big change we made for r2p0: we've started to release parts of the driver stack under an open source license.

People who get excited about software licenses are not necessarily the people you invite to a dinner party for their sparkling conversation and witty repartee. In fact the terms "exciting" and "software license" are used together about as often as the words "glamorous" and "garden shed". Not very often at all. But despite that I'm going to admit that I think this is a pretty exciting change for our Mali drivers!

So what exactly have we decided to open source?

For the r2p0 release we've opened up all the Linux kernel side components of the Mali drivers under the GPLv2. Specifically we've opened up two things:

  • Mali Device Driver - The Device driver is the lowest level of the driver stack and it talks directly to the Mali GPU. It takes graphics rendering tasks from any process in the system and manages them in a prioritized queue. It also deals with interrupts from the hardware when each rendering job is done. Other tasks the Device driver is responsible for include low-level memory management and control of the MMU. It is a powerful and flexible piece of software, and with only minor modification the same component has been ported to a number of different operating systems.
  • Unified Memory Provider (UMP) - The UMP is an auxiliary component which enables memory to be shared across different applications, drivers and hardware components. Imagine your system has a hardware video decoder as well as a Mali GPU. In that system the UMP would allow you to use a video frame decoded by the video hardware as a texture on a piece of geometry rendered by the Mali, without needing to take any intermediate copy. This kind of zero-copy operation is essential when you're dealing with HD resolutions. There are plenty of other things that the UMP can be used for. In fact the UMP is one of our most heavily used pieces of software when we do custom integrations of our drivers. We think this is a really useful bit of code which could be used by lots of other open source projects.

The code is available today so download it now and start hacking - we're very keen for people to use this stuff! By releasing the Device Driver and UMP under the GPLv2 license we hope to make it easier to include Mali drivers in all sorts of different Linux products. We're also looking at other ways of distributing the code and talking to lots of partners as well as people like our good friends over at Linaro. Stay tuned.

Going forward, our plan is to update these components each time we make one of our major releases. We may also decide to make other pieces of the driver stack available under an open source license in the future, especially parts of the driver which integrate with important UI infrastructure such as X11, Android or MeeGo.

So having admitted that I get excited about changes in software licenses I guess I shouldn't expect too many dinner party invitations. But if you've read this far then perhaps you too are interested in this change, in which case you may have some thoughts on what we've done. Please let us know if you do. We always love to hear your feedback!

Anonymous
Parents
  • Jure Repinc
    Jure Repinc over 12 years ago
    Are there any more recent news on progress of opening up more parts of the driver? Any other news about the open source driver?
    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
Comment
  • Jure Repinc
    Jure Repinc over 12 years ago
    Are there any more recent news on progress of opening up more parts of the driver? Any other news about the open source driver?
    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
Children
No Data
Mobile, Graphics, and Gaming blog
  • Unlock the power of SVE and SME with SIMD Loops

    Vidya Praveen
    Vidya Praveen
    SIMD Loops is an open-source project designed to help developers learn SVE and SME through hands-on experimentation. It offers a clear, practical pathway to mastering Arm’s most advanced SIMD technologies…
    • September 19, 2025
  • What is Arm Performance Studio?

    Jai Schrem
    Jai Schrem
    Arm Performance Studio gives developers free tools to analyze performance, debug graphics, and optimize apps on Arm platforms.
    • August 27, 2025
  • How Neural Super Sampling works: Architecture, training, and inference

    Liam O'Neil
    Liam O'Neil
    A deep dive into a practical, ML-powered approach to temporal super sampling.
    • August 12, 2025