Broadcom Releases Source For Graphics Stack; Raspberry Pi Sets Bounty For Port
One of the few but lingering complaints about the Raspberry Pi is that it relies on a proprietary GPU blob for communication between the graphics drivers and the hardware. Today, Broadcom released the full source for the OpenGL ES 1.1 and 2.0 driver stack for the Broadcom VideoCore IV 3D graphics subsystem running on one of its popular cellphone systems-on-a-chip. It's available under a BSD license, and Broadcom provided documentation for the graphics core as well. The SoC in question is similar to the one used on the Raspberry Pi, and Eben Upton says making a port should be 'relatively straightforward.' The Raspberry Pi Foundation has offered a $10,000 bounty for the first person who can demonstrate a functional port. (The test for functionality is, of course, being able to run Quake III Arena.) Upton says, 'This isn't the end of the road for us: there are still significant parts of the multimedia hardware on BCM2835 which are only accessible via the blob. But we're incredibly proud that VideoCore IV is the first publicly documented mobile graphics core, and hope this is the first step towards a blob-free future for Raspberry Pi.' Side note: the RPi is now two years old, and has sold 2.5 million units.
"One of the few but lingering complaints about the Raspberry Pi is that it relies on a proprietary GPU blob for communication between the graphics drivers and the hardware."
It wouldn't be so bad if this was the case. Unfortunately, closed GPU core is the main one in the device and the CPU is in fact a small, "slave core" in relation to the GPU. Without closed blobs running on the GPU, you cannot even boot CPU at all. Open OpenGL stack won't change that.
If I spend days writing a GPU core port, I MIGHT get $10,000, unless someone beat me to it.
I appreciate the injection of funds into the open source community, but that's no way to run an economy. Hire someone. If you want more than one implementation or you want to have it fast, hire multiple people and offer a bonus for completion. But if you do the latter, don't expect to actually use the first one you receive, as it will likely be the shoddiest, meeting the bare minimum of your specs.
Someone had to do it.
Depending on what you're trying to do, you may or may not ACTUALLY have any performance trouble with this bug. I've been using an rpi as a router / firewall / proxy / etc. in my home for about 1.5 years now. I'm using the Ethernet port, plus a USB -> Ethernet adapter to get a second port. Performance may not be spectacular, but it's still good enough to saturate my home (15-20mbps) connection, with about 8-10 devices on the other side. Not bad, for a device that cost (including case, power supply, SD card, and ethernet dongle) about $60. Granted, there's lots of applications for which the rpi is not well-suited - but basic home-networking stuff doesn't necessarily have to be written off.
Well, I started off trying it out just to make sure I could get the software running the way I wanted to. My plan was to trial it with the rpi, and then move to "proper" hardware with dual ethernet ports eventually. But, as I mentioned, I'm saturating my connection with the rpi and a USB->Ethernet adapter, so I haven't seen any reason to move "up". Works great, draws very little power, and gives me all the speed I need. So, why wouldn't I?