Rasperry Pi: Now Mostly Open Source

If you’ve been following the developments of building Android, Chromium, and other OSes for the Raspberry Pi, you’ll come across a common theme. The drivers for the Raspi’s chip are closed source and protected by Broadcom with an NDA. This limits the ability of devs to take on projects that involve messing around deep inside the CPU.

Today, this is no longer the case. The CPU on the Raspberry Pi is now the first ARM-based system with fully functional, vendor-provided drivers.

Previously, the drivers for OpenGL ES, OpenMax, and other goodies inside the ARM chip have been closed source, available only to the Raspberry Pi foundation and those willing to sign a non-disclosure agreement with Broadcom. With this release, the drivers are open source, allowing the devs behind the Android, Chromium, Haiku, *BSD, and the RISC OS to dig deep into the Broadcom drivers and get their projects working.

The new files are available in the Raspberry Pi git, just waiting for devs to take a look at it.

70 thoughts on “Rasperry Pi: Now Mostly Open Source

  1. I feel like the tech press really dropped the ball on this and swallowed the hype from the Raspberry Pi Foundation.

    The drivers are not open source. The userspace stubs are.

    The stubs just use RPC to talk to the real driver which is still closed.

    Go look at the source code linked:

    https://github.com/raspberrypi/userland/blob/master/interface/khronos/glxx/glxx_client.c#L488

    The code here does nothing except RPC – this is not a driver.

    Which means that it’s not possible add OpenCL or new OpenGL versions.

    This announcement is a disgusting lie.

    http://www.raspberrypi.org/archives/2221#comment-34981

    http://www.raspberrypi.org/archives/2221#comment-35048

  2. Even worse than just spreading this crap.. their drivers are as open as Nvidias .. this post is just wrong;

    >ARM-based system with fully functional,
    >vendor-provided drivers.

    Really? Atmels SoCs have open source drivers for everything and the commits in the mainline kernel have atmel email addresses.. want to bet where they came from? If you want to make this out to be a “first” you have to filter it down with the keyword “multimedia” like the Raspberry Pi people did i.e. this is the only ARM SoC with GPU that is more powerful than a framebuffer/LCD controller that has “open source drivers”.

  3. @Zizzle, @rasz, @hellotanjent

    please stop spreading your rubbish on all the forums and news sites. we know you just have sour grapes and are spreading FUD and using different aliases to post the same thing multiple times is getting annoying.

    1. Citation needed.

      Can’t speak for the other guys, but I only posted as myself.

      No sour grapes here. Just calling out these “drivers” for what they really are.

      Feel free to ignore reality and pretend that you have open drivers.

      In a years time when Broadcom refuses to fix bugs in their closed blob or implement OpenCL and newer OpenGL versions, just ignore that and remember how Raspberry Pi Foundation told you how open it all is.

    1. All he did was side step the fact that these aren’t drivers by any means by trying to say that the GPU’s native interface is OpenGL. The bulk of the code is in the blob (Eben tried to make out there is more than stubs in the source release.. there isn’t) so you still can’t do anything interesting, you can’t fix bugs in the OpenGL implementation or add anything to it. As Luc Verhaegen(this is very much his area of experience) told Liz(better off writing cookbooks?) if the stuff in this “driver” was worth having it could reverse engineered in very little time.

      1. Liz IS cute. Liz is also qualified at her job and has much to pursue it as you loud mouths…..

        Try to remember what the RPF is about and stop and stop whining and griping when most of you are doing nothing to foster the open source movement, other than by whining and griping.
        As I posted on RP.org, if you all are so gifted and talented, why not side step RPF and produce your own ‘puter??

        :huh..What that??? you can’t? Why?

        :oh it prohibitively expensive? says who?

        :What TI wont play ball with the RPF?

        :Oh, only broadcom was willing?

        :But they suck, they want to keep their tech and their code to themselves and are not willing to share…

        :what?oh…you mean they actually lose money on each RPI because they saw RPI vision, and that didnt matter to them? yeah but they still suck.

        :why? err??? IOHNO!!!

        Remember, at the end of the day the RPF doesn’t owe you SHIT!! Their vision was for a cheap PC for educational institutions, mainly middle school aged to HS aged children.
        I don’t think they care one bit if Bubbah can DL and watch porn on his RPI in HD. Nope not at all, not one bit….(and lets be real, graphics acceleration and MPEG codecs license fees is what all this bitching really about)

        so all of these extra bits coming down the pipeline, should be viewed as a plus and taken with gratitude not derision…. even if you disagree!!!!

      2. @lionxl: You’re right but everything good RPF does doesnt mean they should lie. They say these files are full opensource drivers, but they are not. They are just some header files.

        :Oh look, they are giving cheap computers to children so they should lie that they have open source drivers. It’s for the children!

  4. This is fantastic news, no doubt the raspi, if they remain the cheapest ARM system will become the undisputed leader of all amateur hackers. This is great news for this community, the RPi is a real game changer.

  5. “The drivers for the Raspi’s chip are closed source and protected by Broadcom with an NDA. ”

    and still are.

    “Today, this is no longer the case.”

    Today, this is still the case. They released open source stubs and headers, not firmware/drivers. HAD will lose a lot of credibility because of this post. They should take it down.

    Mali 200/400 devices already have the open source lima drivers. Not useless headers that link to closed binaries. Broadcom is once again pushing their usual misleading marketing. They will never learn.

    Luc Verhaegen knows what he’s talking about BTW. All of his comments are spot on.

  6. the blobs have to go for the raspi pi to be considered a fully fledged open hardware platform. broadcom don’t seem to realise that they are holding back sales of the chip by keeping it closed.

    projects like freedombox, openwrt, etc are looking for fully open hardware to run on as an alternative to increasingly locked down computers and devices. with windows UEFI and grief from nvidia, AMD and intel on graphics, those vendors who go open first will win a substantial market share margin.

    people might not agree with me here, but I think raspberry pi foundation made a mistake upgrading the pi to 512MB! that’s right, i said it. the reason is that it makes the platform inconsistent and starts an upgrade cycle.

    the benefit of the C64 era computers is that the specs remain the same for ever, and programmers had to step up their game and write better efficient code to blow minds in game and demo scenes.

    1. AMD and Intel don’t belong on that list …

      Not to say their situation is ideal … AMD’s open source drivers might be in eternal development hell and while Intel has open source drivers for it’s own GPU it can’t provide anything for the ones with PowerVR cores.

      Still they deserve enough credit to not be named together with NVIDIA (or Broadcom).

      What is especially atrocious about Broadcom that there isn’t even a public handbook for the non GPU parts of the chip … I still don’t see why they picked that thing for the Raspberry PI.

    1. just read the /. thread post … did I end up in some mirror universe? There’s actually a post in there that calls people who want to wade through microcode “purists”. Just like with the binary blobs on android and the hidden google server interfaces in Chrome these blobs are actually the interesting bits.

  7. Someone correct me if I’m wrong (and I’m sure you will…) but this is a significant announcement because it enables some very cool software to be ported. And it fits the definition of openness that Stallman proposes for hardware with embedded firmware. It is a big win for users of the Pi.

    The reason the driver looks like a shim is because of the VideoCore GPU architecture. It is different than devices that expose a set of hardware registers to the system CPU driver. It exposes a packet interface.

    I always cringe when reading such negativity about announcements like this. There is some theoretical model espoused generally by people who have no industry knowledge that everything is open (and usually free) and then there is reality. The reality is that IP creators like Broadcom (Nvidia, et al) will probably never completely open up the core IP designs that they’ve spend tens of millions of dollars developing. Because they don’t want to give away competitive advantages. Because they probably infringe on competitors patents and don’t want to make it easy for their competitors (or, worse, some patent troll) to find out. Because they don’t want to deal with a million people pestering them with support questions. The fact that Broadcom worked with the foundation to provide a useful capability to the educational/hobby/maker market should be applauded so that they and others will consider it in the future. Didn’t your mothers teach you anything?

    There’s certainly merit in having 100% open hardware. So why don’t some of you throw some bucks, or if you are technically capable, some assistance towards the projects creating IP cores, etc. supporting open hardware. You know, instead of demonstrating how immature you are in an internet forum by constantly whining.

    1. Most of what you said and, in turn, what’s going on with the Pi totally contradicts Richard Stallman’s beliefs.

      If you’re whining about others whining, well that’s just… WHINE-CEPTION! How far down this rabbit hole you’re digging do you want to go?

      1. Honestly who cares about him. He lives in his own little world belonging to a bygone age. Who cares what he thinks, the world was never with him and has moved on beyond him.

    2. But the closed nature of the Raspberry Pi’s hardware and firmware means that in a years time we will be at the mercy of Broadcom to update the closed blobs to allow us to upgrade to the latest OpenGL standard. Unlikely to happen.

      FOSS developers will also not be able to fix bugs.

      1. You may be correct, however, in the meantime the device will be useful to a lot of people and arguably has created a new class of general purpose computers. Steps that enable the device to be even more capable should be acknowledged.

        I don’t mind people such are yourself pushing for more openness from the hardware vendors. Especially if done in a way that may actually yield results. It’s the mindless, knee-jerk negative commentary that contributes to the noise level here and elsewhere that makes me “whine” as that other guy said.

        I’m curious if you know of any comparable SOCs that are 100% open — at least as the GPU is concerned — I don’t see any realistic solution to all the media codec licensing issues on the horizon.

      1. Yeah, they deleted my comment. It’s interesting how the comment system moves your comment to the next-higher-up parent of the thread when its parent gets deleted. Seems kind of dumb.

  8. Oh look! A bunch of trolls who claim to be “industry insiders” or “experts” or “hardcore coders” are complaining about the openness of a piece of hardware that costs less than dinner for two at a decent restaurant!

    How unoriginal, sadly.

    We have what looks like 3 positive comments, and two pages of complaint. While I can see there is some mis-statement in saying there’s a whole new open-source video driver for the RaspberryPi, the vitriol and bile spewed forth by the troll community is just saddening.

    We, the hacking community, in addition to the educational community and the third world community, are being given a whole computer, of impressive processing power, for under fifty US dollars, and yet we sit fit to complain when that product is brought further into line with the ideals and goals that our community has been shaped by?

    Admittedly, it’s one step of many, not an entire means to an end. That doesn’t decrease it’s value, though. The RaspberryPi foundation was under no legal or ethical bind to get this set of headers and RPC calls distributed. Broadcom was under no legal or ethical bind to open source the firmware in their GPU. Without the foundation asking Broadcom for assistance and getting this out to us, the Pi would have one or two OSes, and that would be it. Now that this is done, more can be ported. That makes the Pi more open and more useful by definition.

    As my Grandmother says, “If you can’t say anything nice, shut up.” Grandma’s a fierce one like that; she doesn’t sugar-coat things.

    I, for one, love what the Pi can do, love it’s price-point, and am glad new software will be coming to it since this announcement.

    May the trolls choke on their own stomach acid.

    1. Nice strawman argument.

      There is no doubt that the Pi is more useful as the result of the release. And I don’t see anyone here arguing that.

      I think what people take issue with is the statement:

      “Raspberry Pi is the first ARM-based multimedia SoC with fully-functional, vendor-provided (as opposed to partial, reverse engineered) fully open-source drivers”

      which is a bold faced lie.

      But why did they have to lie like that? Why not just say the shims are open which will allow some limited hacking.

      The exciting thing about the Pi is not it’s price point (you can go and buy a router with similar specs for less), it’s the hackability. Locked down drivers limit the usefulness.

      Fortunately people are working on reverse engineering real drivers.

    2. >A bunch of trolls who claim to be
      >“industry insiders” or “experts” or “hardcore

      One the “trolls” complaining on the Raspberry Pi blog reverse engineered and wrote opensource drivers for at least one GPU that is commonly embedded in ARM SoCs… I think that does make him an expert. Maybe your standards are different?

      Your definition of trolling is “Anyone that disagrees with me”. If you want to not ever have anyone hurt your feelings by telling you that you are wrong or calling you out you thing you have said you should just get it over with and shoot yourself in the head right now.

      >are complaining about the openness of a
      >piece of hardware that costs less than dinner

      Cost has nothing to do with openness. There are open systems that are very expensive.

      >some mis-statement in saying there’s a
      >whole new open-source video driver

      It’s not a small error. It’s a massive lie. It’s a little bit like the “made in the UK” thing they posted a few weeks ago.. Not as big of a lie, but anyone with half a braincell to rub together can see that most of it is still fabbed and assembled abroad.

      >troll community

      == anyone that disagrees with you?

      >hacking community,

      You mean “makers”.. To put it really really bluntly I think I would trust what experienced (by my standards people that have multiple working video drivers for modern GPUs out in the wild) over anything a bunch of Arduino groping morons has to say any day of the week.

      >of impressive processing power,
      >for under fifty US dollars,

      x86 boxes of similar processing power can be had for free. If the only thing the Raspberry Pi has to offer is “it’s a cheap computer” then all hope is lost really.

      >line with the ideals and goals that
      >our community has been shaped by?

      Lots of people don’t like binary blobs etc.. but there isn’t much of an issue having them as long as they say “look, we’re trying to be as open as possible but this is just how it is”. Instead they have said “LOOK AT US! WE ARE THE ONLY GUYS WITH OPENSOURCE DRIVERS!!! WOOT”. Which is a massive lie. However much Eben tries to make out that the GPU speaks OpenGL so the userland part is the “driver” that is clearly bullshit from the fact that other people have reverse engineered the chip and written an assembler etc.

      >That doesn’t decrease it’s value, though.

      It’s great that they don’t have to ship a compiled binary.. so there are less distribution issues. But it doesn’t actually offer anything positive aside from that. The “driver” is simple enough that someone could have reverse engineered it without much effort if the compiled binary became a major issue.

      >no legal or ethical bind to get this
      >set of headers and RPC calls distributed.

      Yes, but they didn’t need to make untrue claims about what the code actually does.

      >bind to open source the firmware in their GPU.

      They haven’t opensourced the firmware or provided enough documentation to work with it without the firmware which is exactly what makes the wording of the press release very very misleading.

      >Now that this is done, more can be ported.

      If there is a serious effort to port non-linux oses to the Pi why didn’t anyone reverse engineer how the binary worked?

      >As my Grandmother says,

      I frankly don’t give a shit what your grandmother thinks on anything.

      1. And no one gives a shit about what you say but you still keep posting. If you dislike the raspberry pi so much then just fuck off, no one is forcing you to have anything to do with it. If total openness bothers you so much. Build your own, then we can come piss on your parade asshole.

  9. This is an awesome update — the Raspi needs accelerated X drivers in the worst way (or wayland ported) and this is a great step in the right direction for that.

    At this point, I’d settle for a XBMC port that doesn’t crash but I’m not picky.

    Don’t ever expect BC to fully open up everything, that’s absurd. This chip supports codecs that are licensed IP, so they have to preserve their licensing so that they won’t get sued out of existence. I’m not thrilled about having to buy licenses to support MPEG-2 codecs, but I understand the reasoning and I’m willing to grin and bear it and just order a medium mocha instead of a large for a day so I can pay for the codec support. But back to the point, if they open everything then they leave themselves completely unprotected. Why don’t you go into a restaurant and ask them for the recipes for everything on the menu. Good luck with that.

    Now for the non-gpu stuff I really wish they’d open it up more — especially for the cpus in common routers.

  10. Wow. I have never had such a detailed argument. Interesting to say the least.

    While I still am tickled to see this, and glad the Foundation is doing what they’re doing, I guess those angered by the phrasing of the announcement are larger in number than I had imagined possible.

    On that note, at least, I will stand corrected.

    Still, +1 to the RaspberryPi foundation.

  11. The use of the word “mostly” in the post title had me wondering what’s up. As for those suggesting the post be remove for HAD creditability purposes I don’t see the need, allowing informative comments,even if they include critical opinions. lends credibility. That would be HAD’s call, but if HAD followed the advice of nameless advisers it would have closed shop long ago. The term open (in the context in free to use as one wills) is beginning to be a tiring term to see used. In regards to the Raspi itself & the polices of the foundation that produces it , there are a lot of geeky hackers that need to get a life & move on. Sorry no one product can fulfill the desires/goals of all. The numbers of those who don’t purchase it most likely too few to swing the “fortunes” of the foundation.

  12. I don’t understand what all the fuss is about. Everyone should realize that the Raspberry Pi is not a platform, it’s not a community project: it’s a product. Products are subject to the whim of the supplier. The Raspberry Pi will never be part of an Arduino-like ecosystem of clones/compatibles/derivatives as long as it depends on Broadcom and their antiquated ideas of tight-fisted IP exclusivity.

    1. This is what it’s about:

      RPF says: “Raspberry Pi is the first ARM-based multimedia SoC with fully-functional, vendor-provided (as opposed to partial, reverse engineered) fully open-source drivers”

      Linux driver author says:

      “So really Rasberry Pi and Broadcom – get a big FAIL for even bothering to make a press release for this, if they’d just stuck the code out there and gone on with things it would have been fine, nobody would have been any happier, but some idiot thought this crappy shim layer deserved a press release, pointless.”

      http://airlied.livejournal.com/76383.html

  13. Honestly it seems like the biggest argument here is one of semantics. The Raspberry Pi people released open source drivers for everything that runs on the ARM. The key part is “runs on the ARM.” All the code that executes in the GPU is still closed-source. It’s just that almost all of OpenGL ES is implemented in the GPU’s firmware. So upgrading to the next version of OpenGL requires a firmware update, as does fixing virtually any bug that is found in the graphics pipeline. It’s funny because nobody would be complaining if the SoC had a fixed-function GPU.

    1. Fine, call it semantics if you want. Raspberry Pi is the most open system ever. Feel better.

      Only problem is that the the bit that runs on the arm is next to nothing.

      It means the driver will not be abled to support new OpenGL extensions. Or OpenCL. Or have any performance improvements done to it by anyone but Broadcom.

      Check out what one of the open source driver authors says about it:

      http://airlied.livejournal.com/76383.html?nojs=1

  14. You all sound like a bunch of spoiled brats who didn’t get what they wanted for Christmas. Let me let you in on something you may have not realized, NOBODY OWES YOU SHIT. This may not be the level of openness you want but it is a whole hell of a lot better then what was available before. You should be happy you got something at all, nobody has to open source their projects. I am sure people worked hard to create and provide what they provided. The least you could do is say thanks.

    Seriously though, if you were my kids I would close source the whole thing and send you guys to bed with out dinner.

    *Holiday style rant over*

    This is a great step in the right direction, I can’t wait to see where this leads.

    1. That’s not the problem here. It is probably better than before (I know nothing about the code released) people are complaining that the RPi foundation are touting their horn over something so small it is barely worth mentioning.

      I am sure nobody is hurt by the fact that this has become a little more open. People are hurt by the press release where the foundation makes this out to be a huge improvement, when it is not.

      I think the foundation catches a lot of this “ill-wind” because it was supposed to be different. I think many people had hoped it to be a lot more open.
      It is not just this issue. We cannot even get a list of camera chips that are already supported by the GPU. It is covered by an NDA at Broadcom. For no reason at all.
      I just think a lot of people had hoped for more…

  15. OK, to summarize:

    1. These are not drivers, they are stubs.
    2. RPF, Phoronix said they were drivers.
    3. People coplain a lot.

    Let my just add my $2 (inflation):
    A. Stop complaining about HaD losing credibility, HaD writers post stories they find on the internet, they can’t vet 5% of what is posted here (remember 2 days ago? someone put a phone on their wrist and called it a hack).

    B. Stop complaining about RPF/Broadcom making false claims, tech companies, game companies, etc always make huge claims “this game has the best graphics ever”, “this will be the worlds most powerful GPU” marketing departments do not know what source code is, they just market stuff, this story is just marketing that thing fans like “they want source… we have this source here… this has to be what they want!”

    C. You SHOULD complain about the GPU microcode, just because its marketing and there is some source released doesn’t take away from the fact that people have been complaining about the GPU microcode for a while now and they can and should continue to complain about microcode….

    D. BUT, you should NOT complain because this wasn’t what you were expecting from the announcement (because thats just marketing), the platform just got MORE open, that is something to celebrate even if its just RPC calls, after all we are talking about broadcom a company that was #3 on my ‘evil company’ list when I bought the pi (f*cking wifi drivers)

    In summary, don’t pay any attention to RPF (they don’t make the chip, rhe driver, or any money) don’t complain to HaD (they are just the messenger caught up in the hype) but do complain to broadcom about GPU code (which is also the bootloader and the SD card reader[not sure about this one, there is an embedded chip, but a lot of stuff passes through the GPU]) You can also complain about the implimentation (userspace libs that RPC to the GPU and VSHIQ is involved at the kernel level, but theres a daemon too… F*ck You Broadcom!)

    We shouln’t complain about what we got, we should complain about whats left to get… (and neither HaD, RPF, or Phoronix have that)

  16. I just wish I knew what everyone was talking about. I love this site. It has some of the coolest stuff made out there but at times it is way to technical for me. I have the Pi but I haven’t a clue what all this means.

  17. I think it’s good that they did this and that they announced it. Maybe they don’t deserve any Nobel prizes, but it helps to see “real vendors” talking about openness, and doing at least a bit of it.

    I also think that it’s unreasonable to expect people who believe fundamentally in software freedom to feel “grateful” about what are sometimes small gestures.

    I discuss this more over here:
    “On Being ‘Open Enough'”
    http://mwic.org/wp/?p=74

  18. Just so you know, this is, as stated in the press release, rather good news for non-Linux based OSes that will now be able to use the GPU by porting the driver. Because yes, however tiny it is, this is a driver. Sure, the GPU happens to be mostly software-programmed, and happens to do all of OpenGL by itself, and still be closed source. This has some drawbacks because the OpenGL implementation can’t be modified, and the GPU side likely can’t be used to its full power.

    But, let’s take the example of Haiku. We can now have a driver that will bring hardware accelerated OpenGL rather easily. We don’t need to port Gallium3D or some similar stuff anymore. The hardware takes care of it all and we just have to port that tiny driver that forwards OpenGL calls to the GPU. I think that’s rather good design and makes everyone happy (at least, it makes me happy).

  19. Quit your negatives. The purpose of the Pi is to teach kids. It wasn’t designed initially for adults to play with. When you’re up to you a** in alligators it’s hard to remember your objective was to drain the swamp.

  20. This is a load of rubbish, Broadcom have not released the driver for their GPU which is used in the Pi booting process, What a load of bollox! This shit aint true open source, and it aint documented that well either.

  21. I have been building PC’s since 1995, with dos, linux and windows. HDMI to HDMI connection, but no display. If I cannot get it to to work, no chance for children. Piece of crap. Zotac Zbox better.

Leave a Reply to lionxlCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.