Forgot your password?
typodupeerror
Open Source Graphics Software

Broadcom Releases Source For Graphics Stack; Raspberry Pi Sets Bounty For Port 77

Posted by Soulskill
from the ever-more-free dept.
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.
This discussion has been archived. No new comments can be posted.

Broadcom Releases Source For Graphics Stack; Raspberry Pi Sets Bounty For Port

Comments Filter:
  • by TheGratefulNet (143330) on Friday February 28, 2014 @04:51PM (#46370503)

    I have given up on the rpi and moved to the BBB since I could not stand the issues related to the broken-by-design usb system.

    since ethernet goes thru usb and usb was flawed, this really put a damper in my networking use of this box.

    its been at least a year since I checked in; have they fully and completely gotton around the usb 'elephant' bug yet?

  • by ledow (319597) on Friday February 28, 2014 @05:05PM (#46370619) Homepage

    I'm not the OP, but:

    The one that still had a ticket open.

    If you slag the USB / Ethernet buses simultaneously, things nowadays slow to a crawl. Why? Because if they don't make them slow to a crawl, you drop USB packets silently, which makes the driver stack crash.

    The bug was reported within weeks of release by a guy doing lots of USB / SD / Ethernet work simultaneously and I'm linked into it. Still unresolved, but they tweaked the "firmware" (really software) of the RPi to lessen the impact by degrading some performance.

    It's a timing issue on the shared bus that's part of the hardware design and can't be "resolved" without a redesign. They just worked around it so that the blindingly-obvious bug when it was first released isn't so prevalant, but there's a cost.

    My pre-order RPi ended up in my loft for 6 months after I waited a year for them to fix it (and also - on the request of some of the RPi designers / distributors - I had sent off SD cards to some guy at Broadcom who worked on the RPI "in his spare time" who then later discovered that it was because of things like this that SD cards weren't reading, not that they were old / strange cards). It's a nice gadget, but it is basically a bodge-job and for my use was useless for over 18 months without sight of permanent resolution.

  • Re:Communication? (Score:4, Interesting)

    by ssam (2723487) on Friday February 28, 2014 @05:11PM (#46370649)

    Looks like there are some parts (MPEG decoding) that will never be open. But there's a plan to make a open source firmware that is sufficient to boot.
    http://www.raspberrypi.org/arc... [raspberrypi.org]

  • Not actually sou (Score:5, Interesting)

    by david.given (6740) <dg AT cowlark DOT com> on Friday February 28, 2014 @06:49PM (#46371491) Homepage Journal

    The Videocore IV on the Raspberry Pi (which totally kicks arse, BTW, it's a beautiful, beautiful processor. Did you know it's dual core?) currently doesn't have an open source compiler that's any good[*] which I'm aware of. I have tried porting gcc, and got a reasonable way into it, but ground to a halt because gcc. I know another guy who's similarly about half-way through an LLVM port. And Volker Barthelmann's excellent vbcc compiler has a VC4 prototype which makes superb code, but that's not open source at all.

    Without a compiler, obviously the source isn't much good, although the VC4-specific code is really interesting to look through.

    In addition, having done a really brief scan of the docs they've released, this isn't what the article's implying: what we've got here looks like the architecture manual for the QPU and the 3D engine. The QPU is the shader engine. Don't get me wrong, this is awesome, and will allow people to do stuff like compile their own shaders and do an OpenCL port, but I haven't seen any documentation relating to the VideoCore IV processor. The binary blob everyone complains about runs on that.

    It does looks like the source dump contains a huge pile of stuff for the VC4, so maybe they're going to release more later. But even incomplete, this is a great step forward, and much kudos to Broadcom for doing this.

    [*] I have done a really crap port of the Amsterdam Compiler Kit compiler for the VC4. It generates terrible, terrible code, but I have got stuff running on the Raspberry Pi bare metal. It's all rather ground to a halt because there's still a lot of stuff to figure out in the boot process, but interested parties may wish to visit http://cowlark.com/piface [cowlark.com].

"Consistency requires you to be as ignorant today as you were a year ago." -- Bernard Berenson

Working...