'It would be fatal if we were still shipping the same Raspberry Pi in 2016'
6th Aug 2013 | 13:00
We caught up with Eben Upton, the creator of the Raspberry Pi
There can be few people as busy as Eben Upton. As the person most credited with bringing the Raspberry Pi into existence, he's been at the heart of its delivery; overseeing the minutiae of its design, its production and its incredible rise to mainstream recognition.
At the same time, the foundation has moved manufacturing to Wales, launched both the Model A and a camera module, and continues to push the Pi into new territories. In between fielding requests from potential partners and international media outlets, he was able to spare us a couple of hours for an interview.
He discusses everything from the project's inception to the difficulty in taking on the establishment.
Linux Format: How difficult has it been to adapt to the success of the Raspberry Pi?
Eben Upton: I think a lot of the heavy lifting in terms of the logistics and the scale has obviously been taken on by RS and Element 14 (the two manufacturers of the Raspberry Pi).
LXF: Had you always planned to use them?
EU: That was the idea, originally, because even before we launched we realised we'd probably have success beyond the scale we'd ever be able to cope with, and we had enough money to build the 10,000 - we had a quarter of a million dollars...
I think it was the point when we released the first SDCARD image for the device and we had 50,000 downloads, or the buggy alpha quality operating system from the team of people who didn't know whether it was going to exist yet, that was the point where we realised we were in trouble [laughs], and that we needed to think again about our model.
LXF: This is at the end of 2011?
EU: Yes, so if we'd stuck with our original model I think we would have spent the whole of last year dealing with the first day's demand. While it felt like we spent the whole of last year dealing with the first day's demand, we actually only spent 3 to 4 months. We certainly wouldn't have got anywhere - we might have got to 100,000 in our first year if we were really lucky, instead of being able to get to a million scale.
So from Raspberry Pi's point of view, I think we 'magicked' away quite a lot of the scale by handing over to these organisations who were all about scale. I mean, those are around the scale of Amazon's logistics operations. RS say they ship 44,000 packages a day. So although this is significant volume for them, it's not close to doubling their volume.
LXF: The launch was an event!
EU: Yes, absolutely. I think we'd been living it for maybe 9 months and they [RS and Element] had only been living it for a month or two.
Getting the word out
LXF: Liz (head of communications for the Raspberry Pi Foundation and Eben's wife) also did a good job of building anticipation.
EU: Absolutely, so I think it was a surprise for them. I think it turned into a very good surprise for them - it has become a good bit of business for both companies and you can see they've both been growing. I think there are scaling things for us. It's changed our view of what it is we're trying to do, and that's been the challenge for us.
LXF: And what about on a personal level?
EU: Certainly there is a sense… I wouldn't say it's less fun, but it's more serious. Because there are people whose jobs depend on this. It was never the idea for there to be people whose jobs depended on this, and not people here but people who make them and the people who distribute them.
There are significant numbers of people - probably a 100 people - who owe their livelihood to the Raspberry Pi at the moment. So that does focus the mind a little but when you think "Ooh, let's change this component on the PCB"
If we were building 100 of them a week and we accidentally crashed a week's production, then that's a 100 units we'd have to scrap. At the volume's we're running at now, of course, a week's production is 30, 40, 50 thousand units, depending on the week, and you could damage the business and then people would lose their jobs. So it's not so much that that's not really fun, but it does focus the mind.
LXF: It's interesting that you envisaged the Raspberry Pi to be both a foundation and a business, because that is a very specific feature you don't see often enough.
EU: I think it's really important that if you wanted to be sustainable, that's the thing, I think this idea that charity doesn't scale - we wanted to be a charity, we are a not-for-profit. But the money that gets made gets ploughed back in. I don't take a salary. I'm lucky enough not to have to take a salary.
LXF: Would that ever change?
EU: I could at some point I suppose. I do work, basically, more than full time - more than what most people would consider full time for this organisation. But I'm still employed by Broadcom. It's have been enormously generous. I think there's always been this suspicion that it's Broadcom marketing, and I think that this fuels the idea. I think we've just been lucky with this thing, and it took a while to persuade Broadcom this was worth doing.
LXF: Is it like when Linus Torvalds worked at Transmeta?
EU: It's becoming that kind of relationship. Possibly less involved because I understand he was quite heavily contributing to Transmeta. I spend, I'd say, 90% of my time now on Raspberry Pi activities.
So yeah. Would I ever take a salary? Yes, at some point it might get to the stage where that's not a sustainable thing for Broadcom anymore and that would probably be the right time to move across. In any case I might move across for a salary but it's not like people are getting dividends out of this so any retained profit in the organisation after we pay people just gets re-circulated back into the platform.
And that's nice because it means that our bit of it is sustainable and that we've got a bit of strategic depth so that we can afford to do interesting new things ... like finance the development of the camera.
The Pi was developed by Pete Lomas at Norcott (Technologies Limited) as a donation, basically, as one of the trustees of the foundation. The camera board has been developed as a commercial product, so we paid people to design the camera board for us.
The secrecy of the Pi
LXF: Does that affect whether the hardware schematics will be released?
EU: The schematics have been released but not the PCB, and that's an interesting question. Would we ever release the design of the PCB? The intention has always been to release the design of the PCB; it still is. The issue is that you really can't buy the chips. There's actually another problem we need to solve.
LXF: Is that why you're not releasing the design of the PCB?
EU: If we release the design of the PCB, the reason why you can't build a Raspberry Pi is because you can't buy the chips. And a certain amount of… opprobrium… there were a small number of people who, I think, were very offended that we haven't given away all of our IP. And right now, that opprobrium is heaped on us. Now if we were to give [the IP] away, I know where the opprobrium would end up. And I believe that Broadcom has been enormously supportive and I don't believe it deserves that opprobrium. So for now I'm happy to sit there and absorb those brickbats. I don't have a great ideological commitment to giving away my IP, given that the money that's generated by our ownership of that IP goes to make Pi sustainable...
One really important thing about Pi is that it's likely to be around in five years time. That's a big selling point. That you can build an industrial product on Pi, or you can design a curriculum around it.
LXF: And you don't want that diluted by third parties building their own…
EU: Absolutely. And I think to the extent that if we gave away the design and we enabled a lot of clone manufacturers, and we undermined the financial basis of what we're doing here, that would be all well and good. But it's not like we're scalping 10 bucks out of every Pi, right?
We're making little enough off every Pi and I think we've reduced the cost of the Pi to everyone else, so I think the profits that would just go into other people's pockets would be extracted in dividends; would be extracted in profits by companies. All that would happen would be that we'd end up destabilising the foundation; the foundation's ability to invest in education, the foundation's ability to invest in funding open source projects for no tangible consumer benefit.
There'd be an ideological benefit, because we'd be able to tick a box that says, 'Open!!' and that would be it. And then there would be this problem that I think opprobrium would be heaped on Broadcom if it didn't then make the chips available.
A new Pi
LXF: Is there going to be an upgrade to the Pi? Have you considered a modular Pi?
EU: We have no room for additional RAM on the device at the moment ... We have no ability to expand the RAM because that's all the SoC (system on a chip) can talk to. We have no ability to increase the processing power because that's the amount of processing power the SoC has got. We don't really have a hardware roadmap.
LXF: In the back of your mind, you haven't got Raspberry Pi 2?
EU: I think it would be really sad, and probably fatal for us, if we were still shipping the same Raspberry Pi in 2016, say. I think we'll have to do something but I don't know what that something is ... The real problem is that I can imagine boards I could build at any price between $25 and $85 ... I can imagine a different board that I could build at each $10 increment. None of which are currently being built.
But finding one that's actually attractive, that's got the same kind of attractiveness of the Pi… Pi's attractive because it's got a really interesting price/performance tradeoff. It really is extremely hard to do. I certainly don't think that at the $25 to $35 price point, I can't think of any other board I could build.
With any chip that's available to me, I can't think of any board that I could build at say $25 or even $35 that would be as good as Pi, let alone better. But it's a push even at $45. At $55 I could imagine that you'd get to the point where you can start to get better but it's interesting that there's nothing out there right now.
LXF: How do you then maintain the momentum of success?
EU: By doing a lot of software work.
LXF: So that's where all the effort is now?
EU: With 700MHz, [the Pi] is an enormously powerful media accelerator. The chip is 97% media accelerator.
LXF: And a default installation of Raspbian, what would that use?
EU: Currently, it uses the video output path, the USB controller; stuff that was there before the ARM. The ARM made the chip 3% bigger. You're beating up mostly on the ARM, a little bit of system infrastructure, an SDRAM controller and a few tiny peripherals.
A lot of the system is asleep most of the time. But in any case, the 700MHz on ARM it's still a powerful processor, but it is by historical standards a pretty beefy device. Because we're pinned in one place in our hardware, we're doing more work on the software side to get all of the juice out of it.
So we've spent a lot of time optimising system level components, hopefully upstreaming, optimised versions of system level components for Linux - so, pixmap. Optimised versions of things like memcopy and memset. We had an interesting debate about X acceleration. We don't have an X accelerator, we don't have an acceleration driver.
We have a lot of components of the chip, a lot of subsystems, which can be used to influence the X server accelerator. And it's actually OK. Software X is OK. I'm always surprised by how OK it is. It's ARM moving a pixel at a time, although now we've done this pixmap stuff it's an ARM going 'pixels - bang, bang, bang'. Insofar as a fairly low performance ARM can move pixels fast, we now move pixels fast.
We've had this debate about whether we do hardware X acceleration. And I think we've come down on the side that we shouldn't. What we should do is move to the brave new world.
LXF: Is that because it's easier?
EU: I think it is easier. I think we can afford to do one or the other … and given the choice I'd rather spend my money on the brave new world - given that that's where we want to go. People want to go [there] so I think we're going to try and go quite quickly.
We've done some work with a company here in Cambridge called Collabora. Pek [Pekka Paalanen], who works for them and is a big Wayland developer, has been doing a back-end for Weston, the reference Wayland compositor, which drives our hardware composition engine so we have a very powerful, what we call HVS, video scaler in the device which is effectively a big hardware sprite engine.
It just gives you a vast number of big hardware sprites and what you do is you put a window in each hardware sprite and then you [claps] bang them together onto the display. You can stack up a lot of these before you run out of memory bandwidth. At the point where you run out of memory bandwidth, there's a fallback which does offscreen composition. It's really cool. And that gives you pure 60Hz window drag.
In a world where every window is a hardware sprite, dragging a window doesn't move any pixels. We've got this hardware video scaler, which is probably about the same size of the ARM - bigger than the ARM, because the HVS has got a lot of buffer memory to control the sprites.
Given we've got [something] dedicated to building composited render hierarchies and we've got a compositing window manager, we should do the software work to join them together. It's a good example of where we can put software in and get a much improved user experience without minting a new chip. And it also gives us access to all that lovely Wayland.
LXF: This sounds like first high-profile use of Wayland we've heard of.
EU: I believe we're the first upstreamed non-GL backend for Wayland. It's typically on top of GL, but GL is a really lousy thing to do composition on top of because the scaling filters in GL are primitive.
Even with downscaling you have to generate a bunch of mipmaps in order to do that, whereas what ours does is: suppose I scale something down by a factor of 3:1, the problem is that's part-way between 2:1 and 4:1. If you do it with GL, you end up with a 2:1 mipmap and then you may get some noise, or you use the 4:1 mipmap and then you get blender. Or you try 'linearing' them together and then you get something a little bit better but still not great.
What ours does is (if you do 3:1) build each pixel by averaging together a 3x3 grid of pixels from the original image, every frame, for you for free.
Learn more about the foundation's work with Wayland and more by reading a further 4,000 words of this exclusive Eben Upton interview ontuxradar.com. Also check out our guide to Raspberry Pi operating systems.