Open Source ARM userland

Today we have some really big news, which is going to mean a lot to many programmers in our community who have been asking about it ever since launch. This is one of those announcements that has been in the pipeline for quite some time, but we haven’t been able to talk about it until now.

As of right now, all of the VideoCore driver code which runs on the ARM is available under a FOSS license (3-Clause BSD to be precise). The source is available from our new userland repository on GitHub. If you’re not familiar with the status of open source drivers on ARM SoCs this announcement may not seem like such a big deal, but it does actually mean that the BCM2835 used in the Raspberry Pi is the first ARM-based multimedia SoC with fully-functional, vendor-provided (as opposed to partial, reverse engineered) fully open-source drivers, and that Broadcom is the first vendor to open their mobile GPU drivers up in this way. We at the Raspberry Pi Foundation hope to see others follow.

As you’ll see from the diagram above, everything running on the ARM is now open source. So, what does this mean to the average Raspberry Pi user? Aside from being exciting to FOSS enthusiasts for philosophical reasons, it’s also going to make it much easier for third party developers to (for instance) implement Wayland EGL client and EGL server support, or to provide better integration of GLES/VG with X.Org. We look forward to working with the relevant communities on this. It should also now be easier, with appropriate cleanup, to get the vchiq messaging system integrated in to the upstream Linux kernel, which is another goal we are keen to work with the community on achieving.

The open sourcing of the userland libraries is of course going to be massively helpful to those of you who have been either actively porting or wanting to use alternate operating systems on the Raspberry Pi. We’ve been excitedly following the progress of FreeBSD, NetBSD, Plan9, RISC OS, Haiku and others. All these projects could now potentially port these libraries and make use of the full hardware accelerated graphics facilities of the Raspberry Pi. The Raspberry Pi could not have existed without the massive body of Free and Open Source Software we use and build upon. We are delighted to have been involved in giving back to the community in this way, and hope many of you find it useful. I’d like to give a big thank you to Broadcom for being the first vendor to take this step forward, a significant step for the embedded Linux community and the wider FOSS community interested in embedded GPUs.

Alex Bradbury is the Raspberry Pi Foundation’s lead Linux developer. 

301 Comments