Raspberry Pi team announces open source ARM userland

No readers like this yet.
open source button on keyboard


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.

Raspberry Pi Software Architecture

Note: above image is owned by Paul Beech @guru, copyright 2012.

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.

Originally posted on Raspberrypi.org. Reposted with permission.

User profile image.
PhD student at the University of Cambridge Computer Laboratory and Raspberry Pi Foundation’s lead Linux developer.


As commented on http://airlied.livejournal.com/76383.html it is not really open source in spirrit. It only provides a intermediate api that passes the commands and data around. It also has no chance of ever being merged.

The comments at original site are already discussing this issue, excellent discussion.

I feel slightly guilty, as I once offered this very solution for video card vendors who want to protect their secrets but interface with open source drivers - put the secrets in firmware. I only feel slightly guilty because I doubt my input had anything to do with this.

But I needed to be more specific. A hardware interface needs a very different design from a software API like GLES:

o It needs to provide security guarantees (bugs in the firmware can't be exploited to scribble on shared RAM).

o It needs to provide lower level functions - that would be cumbersome and error prine for applications, but can be combined in creative and flexible ways by drivers.

Just sticking a high level API in firmware is a security and maintenance nightmare.

The picture doesn't look like any Raspberry Pi I have seen.

Two thumbs up! I wish I could write that well. Especially the stuff on team logo was pretty good. There are few points I need to add in. I believe, team is all about unity and if I were given a chance to judge a team logo, I’d look for something that makes me feelhooked up. I am not very fond of logos with catchy phrases and funky images, good to eyes but with no meaning at all. I prefer seeing team logos that are simple yet give you a feeling of warmth and togetherness. For instance, just have a look at the 2nd logo in this collection of <b><a href="http://www.logodesignconsultant.com/logo_design_gallery/team-logo-designs.html">team logo designs</a></b>:

The designer has used the image of fire really well. Since it’s a sport’s team logo, fire reflects the speed and passion and gives a feeling of affection. It’s my point of view, of course. One might prefer the first one – it’s really simple and looks sophisticated. This made me think if it isn’t better to let members choose the team logo for themselves. After all, they are the ones who’ll hold that up.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.