The Raspberry Pi Foundation has released the source code for the graphics core of the mini-computer’s Broadcom BCM2835. That makes the Raspberry Pi the first ARM-based system-on-a-chip computer with vendor-provided open source drivers.
What does that mean? If you’re a developer it means that you can now get to work porting operating systems or optimizing software to run on the Raspberry Pi with full support for the VideoCore’s 3D graphics and HD video capabilities.
If you’re more of a user than a developer, it means cool stuff is probably in the pipeline.
The Raspberry Pi is a tiny computer system that features a 700 MHz ARM11 processor (which can be safely overclocked to run at 1 GHz), 512MB of RAM, and an SD card slot for removable storage.
Oh yeah, and it costs just $35. At that price you don’t get WiFi, storage, or even a case for the little computer. It comes as an exposed system board. But it does have 2 USB ports and an Ethernet jack and HDMI output.
The Raspberry Pi is aimed at students, teachers, and hobbyists who are looking for a small, cheap platform for learning to use computers, develop software, or hack together interesting projects. If you’re looking for a computer that works perfectly out of the box, this probably isn’t the PC for you.
You can already run a number of Linux-based operating systems on the Raspberry Pi, but with the release of graphics drivers, this little device could get a lot more useful.
The graphics code is being released under a BSD license, and you can grab the code from Github.
Update: Some folks seem to be underwhelmed by the source code that was released. Since it doesn’t include the binary blob which actually does much of the heavy lifting. In other words, the new code doesn’t really allow developers to do much… at least not yet.
If you want more details about what exactly was open sourced, see https://www.raspberrypi.org/archives/2221#comments.
According to Mesa3D developers there is no driver code in there merely header defines for RPC communication with the firmware which itself is the driver. This code doesn’t know how to directly drive the hardware at all like you would expect of an acutal driver.