Back in May, we mentioned that we’d been sponsoring the development of the ARM port of PyPy, the high-performance Python interpreter. Earlier today the team released a first beta of the upcoming 2.1 release, which for the first time adds ARM as an officially supported architecture.
While we love all programming languages equally here at the Foundation, we do love Python an awful lot. Most users run their code under the “default” CPython interpreter, but over the last few years the PyPy project has made great strides in producing an highly compatible alternative interpreter with an integrated tracing JIT compiler. On x86 platforms this can improve the performance of some workloads by a factor of ten or more, and the PyPy team are now bringing the same sort of boost to the ARM world.
You can download an Pi-compatible alpha release of PyPy for ARM and see some benchmarks here. We’re proud to have been able to contribute a small amount of funding to the latter stages of this project; over the next few weeks we’ll be running an irregular series highlighting some of the other open source projects that we’ve been contributing to.
It’s really been interesting watching the Pi Store fill up with content. Today we approved OpenArena for the Raspberry Pi – if you played Quake III, OpenArena will be shockingly familiar. It’s a multiplayer first person shooter (FPS) based on Quake III, using a fork of the same game engine, and it’s free and open-source. Because there is blood and guns, we’ve marked the download with an adult content sticker.
We know Quake and its derivatives are popular around here: one of the first videos we ever released of the Raspberry Pi, pre-release, in the summer of 2011, was a demo of Quake III running with all the visual settings turned up to maximum. It kind of surprised us by getting more than a million hits on YouTube.
The devs at the Raspberry Pi Foundation, the mods, and the guys at IndieCity are already talking about setting up some semiofficial tournaments – let us know if you’re interested!
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.