Raspberry Pi SoC drivers now fully open source
World first
The Raspberry Pi is now host to the “first ARM-based multimedia SoC with fully-functional, vendor-provided fully open-source drivers”, the organisation behind the credit-card sized computer said today.
The little PC uses the Broadcom BCM2835 SoC and the RaspberryPi Foundation’s lead Linux developer, Alex Bradbury, praised the chip maker’s decision to open its mobile GPU drivers. This is, he said, really big news and something many Pi programmers have been asking for from day one, and which the Foundation has been nagging for almost as long, if not longer.
“As of right now, all of the VideoCore driver code which runs on the ARM is available under a FOSS licence,” he said. To be completely accurate, he said, it’s a three-clause BSD licence.
One upshot: it will be a lot easier for fans of operating systems other than the Pi’s implementation of Linux to port their preferred OSes to the micro computer and take full advantage of the graphics core.
The source code is now available for download, too.
Within the Pi software architecture, the VCHIQ kernel driver is issued under BSD and GPL terms. Its EGL, OpenMAX, OpenGL ES and OpenVG drivers are BSD licensed. The Pi’s GPU firmware remains available only in binary form. ®
COMMENTS
Re: +1 @Gordon 10
Previous poster right - I already know what in there.
In fact, Lee Dowling is correct, the drivers are in fact mostly wrappers to a set of calls made to the GPU, via the VCHIQ driver which handles the actual message passing interface to the GPU. But that wasn't the point. The point is that previously the Arm side code was closed source (libEGL, libOGLES, libVG etc), so no-one knew what the messages were to do the multitude of available operations. Now that information is published, and people can use the code to make their own userland libraries for whatever OS they want to.
So although Mr Dowling is technically correct, he is being rather miserly in his attitude - this is a BIG THING to have got a BIG COMPANY like Broadcom to spend a lot of time and money making the source available and ready to release. He is belittling the huge amount of effort expended to get to this point. - technical effort AND legal effort - by saying 'its just a wrapper' .
Yipeee!!
Now watch as lots of tweaks make it even better as world wide expertise works on it.
@Lee Dowling
Of course, you describe pretty much how ALL drivers for embedded firmware devices work. They are in effect simple wrappers in to the functionality provided by the hardware. If you regard the GPU as a electronic device, with an interface, then everything you need to have to drive that interface is now open source. That's what drivers do. And this is the first time this has been done for ANY SoC.
Re: err (Lee Dowling)
I'm not sure what your argument is here. The foundation has now released _all_ the ARM-side code as open source under one licence or another. They don't claim to have done anything else. They have released the drivers - drivers which drive the GPU firmware. That's what the ARM-side drivers do.
The GPU firmware isn't going to be open-sourced, so let it go. It's closely tied with the hardware, and would provide more detail on the workings of the hardware (which is all commercially confidential) than Broadcom is prepared to release. That's their decision, and the rantings of a few people on comment forums really isn't going to sway them - you really don't _need_ this information, however much you might like to have it for your own purposes. This has nothing to do with the Raspberry Pi foundation. It's a commercial decision by Broadcom and it really doesn't matter how much you moan about it, it isn't going to change.
Feel free to modify the provided ARM-side code to support hardware acceleration using OpenGLES, display output, tv control etc, on any OS which you choose to port. That's what releasing this code allows - nothing more, nothing less.
Maximum smoke
Knowledge is power. Now it should be possible to do some serious damage to the chip. Who'll be first to set their Pi on fire?
