Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Lipstick on a Pig a.k.a. the Raspberry Pi 3 (nullr0ute.com)
74 points by dexterdog on March 13, 2016 | hide | past | favorite | 65 comments


So the RPi foundation deliver the first mass-market hackable board, capturing the imaginations of children and adults alike to start delving into the guts of computing instead of seeing computers as magic black boxes, make barebones devices easily purchasable where previously you could only by via B2B channels, pour money, heart, and soul into doing public outreach, educational materials, and more, and keep updating the system to provide accessible mass-market devices to tinkerers the world over.

But their entire work is 'lipstick on a pig' because they used an ugly hack to work around the byzantine mess that is embedded firmware code and licensing, and people should go out and buy another board whose entire existence is only possible because RPi demonstrated the market existed. Way to go giving people credit for their hard work..


The part that always bothers me about it is, yes, OK, so there's this other board with twice the hardware and for not much more money that checks all of Richard Stallman's loyalty boxes.

But what the fuck do I do with it? No one's out there writing software for your obscure embedded-systems evaluation board. There's no pre-packaged SD images out there to let me play with different OSes. There's no ecosystem of cool plug-in hardware to play with and do fun things with.

The cool thing about the RPi is not just the card itself or how cheap it is, it's all the stuff around it.

Some guy ranting about how it's not as cool and open as this random board GPX5-3520-V2-a from Hardware Maker In China I've Never Heard Of that I'll have to hand port and code every piece of software for, is the same blind category error that Slashdotter types have been making for years about Linux.

Your magic "open" box doesn't mean shit if there's nothing I can do with it.


>> Some guy ranting about how it's not as cool and open as this random board GPX5-3520-V2-a from Hardware Maker In China I've Never Heard Of that I'll have to hand port and code every...

Some guy talking about porting fedora support to it, so no, you wouldn't have to do any of this.


In my experience, those "some guys" do a lot of just that: talking. If they get code out to the public, it's utterly undocumented, the source code is unintelligible, and fails to compile or install most of the time, but everything's fine according to him because "it works on my hardware."


My last Linux machine was a Fujitsu lifebook, and the best ACPI firmware available for it was on Windows. The second best one was mine, cobbled together from a guy who solved less than half the problems, a guy who no longer had a Lifebook, and an idea from another guy to try to backport things from a later model.

I probably blew a hundred hours of weekends and weeknights to get 50 minutes of run time out of my machine and something like five people benefited from it.

When Apple came out with a 13" laptop that was less than a pound heavier (with the real battery, not that shitty fake one that was 90 minutes of run time) and happened to run a video game I was interested in, I said screw this and jumped ship.

And suddenly I understood those guys who had been showing up to tech meetups for a year or two with MacBooks. I can spend all my time futzing with my machine like a classic car aficionado, or I can get out and enjoy doing things with it. Once I realized that I had never actually wanted to learn Linux, I just wanted to use it to learn other things, I couldn't go back.

I still occasionally maintain Linux boxes, and sometimes bash, find or sed is the answer to a problem, but with the exception of Docker you literally have to pay me to use it.


The "some guy" in this case is a well known Linux developer, working for Red Hat (last I heard).

He's not a clueless, random noobie. ;)


So...it will eventually be usable. Great, let me know when.


Already is according to the site for the board, it has ubuntu and android booting.


I hardly think that vaporware constitutes a valid counterpoint.


Ubuntu is already available for that board. It's a perfectly valid counterpoint.


> blind category error that Slashdotter types have been making for years about Linux

I think It's safe to call if "for decades" now. 1.85 decades is close enough to count.


>> So the RPi foundation deliver the first mass-market hackable board

I take issue with this.

They certainly managed to capture people's interest but they were not the first and they absolutely still have black boxes on their devices. And no, there were many previous devices available through normal online retail channels.

The 'Plug Computing' phenomenon from a few years previously, while not on the same scale, did some of this.

And did you even read the article linked? At no point does the author say their entire work is lipstick on a pig, just that some of the way the Pi 3 works may class that way.

Open(ish) embedded computing existed before the Pi, they did good work taking it more mainstream, but please don't credit them with everything.


I remember hearing about the Beagleboard for years before the Pi, along with the Plug machines and Gumstix (if I'm remembering correctly; never really dug into those at all). I think the RPi's greatest innovations have been their educational goals and (crucially) the price point. I think that most of the boards before it were marketed as hacker/dev boards and priced accordingly, and they were correspondingly more niche products.

It certainly wasn't the first hackable SBC, but I think adding "mass-market" into the claim makes it defensible. There's a parallel to the Arduino, in my mind. It wasn't the first microcontroller dev board, but it was the one that made that microcontrollers look cool to outsiders.


Well the first go around they really tried hard to hit a very ambitious price point and they ended up having to cut some corners and they sorta ended up with this chip that everyone seems to think is a bit of a mess...

It seems like version 2 or version 3 they could have gotten something a little less goofy. They have the clout to be able to make some good deals with any supplier. So you can sorta see why that people are frustrated b/c so much community effort is being spent on something that's sorta.. goofy. I wish there was the same community drive behind the ODROID boards for instance


Doesn't help that the community around it is kind of toxic. They have a history of blaming end-users for problems caused by the Pi itself (like the keyboard and mouse issues and the SD card compatibility issues), insulting users who can't figure out how to get it working (which is incredibly difficult for non-technical users), promoting it to non-technical users for purposes like media playback and then blaming them for trying to use it like that and failing because obviously it's their fault for using it for something it's not designed for, etc.


Their community is a bit of a mixed bag. There are definitely some good people in there that help users fix problems, but I've seen the open hostility you're referring to as well, in my case I got posts about the progress of Android on the RPi removed by a moderator of their forums. If you go to the RPi forums now you'll find that the Android subforum has broken CSS. I have a PM from a mod indicating this was an intentional decision.

https://www.raspberrypi.org/forums/viewforum.php?f=73

If they're so concerned about protecting their mission, I don't see why they encourage use of Kodi (well I do understand it, it sells boards, but Android support could be a good selling point too).


Woah woah, hold up a second here. It sounds like you're saying that someone who has sufficient enough access to change the html code on the Android sub-section of the RPi official forums has intentionally broken the display rendering because they... just don't want to deal with it? or, are tired of people asking about Android on the Pi(s)?

Edit: by blindly clicking around I found a post from a Foundation member that said they were locking the forum. Dated mid-March 2015, so i guess the css wouldn't matter anyway


> "so i guess the css wouldn't matter anyway"

As I said, I have proof via a PM from a forum mod that the CSS on that subforum was intentionally broken (it'd be easy to fix). The aim was to discourage any discussion of Android on the Raspberry Pi, as they saw it as going against the aims of the Raspberry Pi Foundation (the suggestion being that if students had access to Android they'd mostly use it with Android). There were three parts to blocking those discussions. First was to lock the Android subforum. Second was to mess up the CSS on that subforum so it was harder to use as an archive. Third was to lock/remove threads across all forums (including General Discussion) that were about Android on RPi.

If you don't believe me, try posting a thread on the Raspberry Pi General Discussion subforum about some recent Android on the Raspberry Pi progress:

http://www.ubuntufree.com/watch-android-6-0-marshmallow-and-...

https://www.raspberrypi.org/forums/viewforum.php?f=63&sid=4a...


It's not that I don't believe you, the questions were genuine, it's just that it seems like an extreme solution to do in a behind-closed-doors, almost underhanded, fashion. I was under the impression that it was a supposed "open" hardware platform geared towards education and enabling kids to get into low-level computing. Android is incredibly popular among that demographic, and if they want to use the Pi to create things for Android, why stop them?


One thing I don't understand for example is the hostility against every single competitor out there and everyone that dares to say something critical about the RPI. The latter I find strange seeing they constantly improve these devices.

If it is really about education, get small inexpensive devices in the hands of millions, children... does things should be welcomed. Hell some of them attack a guy that wants to experiment with a different open source OS, that seems extremely conflicting with an open platform from my POV.

For me it is the opposite of being "open", seems more a marketing ploy to me.


The original BegalBoard predated the Raspberry Pi by about 5 years and the gumstix before it. The real difference between all these products is that the price of all the components has come down a lot and the market segments they target.


[flagged]


"The real difference between all these products is that the price of all the components has come down a lot"

You literally just repeated what I said in my comment.


[flagged]


The current iteration of beagleboard costs $48 Raspberry Pi is $40. The beagleboard was never a million dollars it was around $100 at it's introduction.


Where did the author talk bad about "their entire work"? He is (IMHO understandably) disappointed with a specific aspect of it and recognized that "They are of course correct for their use case". He says nothing bad about 1) bringing out the boards at all, 2) the community work, 3) ...


Where did the author talk bad about "their entire work"?

Everywhere he said "the Raspberry Pi 3" he's referring to the product as a whole, which is the culmination of all the work the Raspberry Pi Foundation has done to date, ergo the entire article is about their entire work. If he has a problem with only a small part of it then he would have said "the Raspberry Pi 3's bootloader blob" instead.


Hm, I wouldn't see the Raspberry Pi 3 as the "culmination of all their work", but as a tiny part of it. The specific hardware IMHO is the most boring part of what they do. There are tons of cheap-ish ARM dev boards now, there always were in many ways "technically" better boards, for most purposes it doesn't matter that much what the specific Raspberry Pi X looks like (I was really surprised they came out with the 3 so fast, it didn't seem necessary to me). What's interesting in my eyes is the publicity, community, and ecosystem they've managed to attract.


Their most impressive achievement is growing such a large community. The product is a bit of a cute fallacy, very odd SoC / board. False price point, buy an old laptop and you have keyboard / lcd / wireless / case / psu / maybe even a battery for 50$. The form factor and power consumption was nice but unrelated to the original goal which was teaching programming, which you can do as easily on said old laptop. Missing part ? exposed IO pins.


"So the RPi foundation deliver the first mass-market hackable board,..."

I notice this type of negative comment about inexpensive, "hackable" hardware freqently on HN. As if the fact that a piece of hardware is inexpensive and "hackable" is insignificant. Perhaps to these commenters, it is. But to others it may be signifcant.

A pocket-sized computer with networking that boots _either_ a GNU/Linux project, a BSD project or Plan 9, not to mention a few other open source OS, from an SD card. For me, this is the major advance and appeal of the RPi.

Far from perfect but still a major advance from the previous status quo, IMHO. Thank you RPi.

In a sense RPi is a market maker. Now they have to find ways to compete in the market they made.


I see your kind of opinion in HN a lot and it makes me really sad.

Every time I feel like somebody has peed into the pool of all the perfect outcomes.

Yes, what the RPi foundation did was great, but it was not magnificent and everyone has the bloody right to voice their opinion about it.

Edit: also RPi actually destroyed some very specific and interesting ecosystems.


Which ecosystems?


To start the ARM processor in aarch64 (64bit) mode is just a question of setting the flag in the arm control (arm_control=0x0200) register to 0x0200 in the config.txt. see the discussion at https://www.raspberrypi.org/forums/viewtopic.php?f=72&t=1379.... I don't think it will give much of a benefit over aarch32 mode (arm_control=0x0000) because of the limited memory.


> I don't think it will give much of a benefit over aarch32 mode (arm_control=0x0000) because of the limited memory.

Some software requires 64-bit, like the Atom editor.


Does the Pi even have enough RAM to run Atom? I can't imagine that being a pleasant experience.


Does Atom support anything besides x86? Does the editor actually need to run on a 64-bit architecture, or is that just the only one that they produce official builds for?

I don't know off-hand any software specifically built for aarch64 that couldn't be compiled for aarch32 as well. I'd be interested in hearing about it though, and what 64-bit provides that 32-bit doesn't, when we're talking about a device with under 4GB of memory anyhow.


I don't use atom, what about it is irredeemably 64-bit?


All I know about Atom is that people come on the forum and report that they can't get it to work. Then they are told that the core team has no plan to support it. I guess there could be a pull request.

I myself am curious as to why something would not work. There must be new features in the 64-bit architecture.


"I don't think it will give much of a benefit over aarch32 mode (arm_control=0x0000) because of the limited memory."

I was also under that impression, but then again I'm not really a HW guy. But reading this thread (https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=1382...) shows that I was wrong with thinking that 64Bit was only a RAM benefit.

Somebody tested the RPI against another board that also has the Cortex-A53 processor and saw in some cases some dramatic improvements (3x the performance). Very interesting read.


Yeah, this is rather the problem with the Raspberry Pi. For example, the Pi Foundation recently started work on a firmware that uses a well-known, common technique that's in almost every modern audio DAC to increase the audio quality of the sound output hardware they've been using since the original Pi. Because sound output is part of the incredibly proprietary GPU firmware they're the only ones that can do this.


link?


https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=1364... - note that it was experimental and apparently somewhat buggy last I heard.


Been running it for a few days, no bugs discovered here and there is a clear difference in quality.


Bare metal aarch64 code can be run on the pi3, so while the binary boot blob is a big burning ball of shame, it is not what prevents an aarch64 kernel for the pi3. Rather, it looks like a matter of an expert investing sufficient time. https://github.com/swarren/rpi-3-aarch64-demo/


And FreeBSD has been booting on the Raspberry Pi 3 in AArch64 for a week. https://twitter.com/zxombie/status/706526055373414400


That goes a long way to call out the Pi foundation for not helping move AAarch64 support into Linux. I get that people are annoyed that its better for the RPi folks to just just ARM7 for all versions because its easier for unsophisticated users, but that is their choice right?

I was hoping the Dragonboard 4.10c would have better aarch64 support but so far the only 64 bit support is Android?

Of course even the "millions" of Raspberry Pis is just a pimple on the "hundreds of millions" of phone handsets that ship so there isn't a lot of incentive on chip maker's parts to create more accessible documentation. Sad though. And perhaps we'll get there with a MediaTek or AllWinner CPU at some point.


> I get that people are annoyed that its better for the RPi folks to just [use] ARM7 for all versions because its easier for unsophisticated users

Raspbian is ARMv6 for all versions.


The Dragonboard410c runs Aarch64 linaro Linux. I have one and I'm using it to test 64-bit ARM development. On the 96boards website you can download the Android or Linux disk images. It's not getting as much attention as RPI's, but it works pretty solidly and the price wasn't awful at $75 for the board (which includes wifi/bt).


The rationale for booting in 32bit mode is among other things that ram is fixed and small, so you don't need that extra address space anyway.


Yes, the title of the blog post ("lipstick on a pig") implies that the Raspberry Pi Foundation is dressing up the Pi 3 as something it is not, but they have been pretty transparent about the fact that they chose this processor because it is a better 32-bit processor than the one in the Pi 2 B+, not because it is a 64-bit processor.


AArch64 (and AArch32 for that matter) is a highly redesigned ISA, not just a 64bit extension, and it's the ISA ARMv8 cores were designed to run.


There's 32-bit ARMv8 - AArch32. This is running in ARMv7 mode.


So what are the advantages of AArch32? Given than the total ram is (I believe) 1G, there is no use to a 64 bit pointer. ILP64 or LP64 code would just cause unnecessary code bloat and cache pressure over ILP32. Is there something in AArch32 that is compelling enough to go to ArmV8 over ArmV7?


A register file that's twice as large (NEON really suffers without the extra registers), and atomic operations that aren't dog slow. Doing anything other than scalar sequential programming on ARMv7 is pretty painful coming from x86.


Yes, OK, that makes sense, at least for a chip that isn't doing register renaming the the back end, which takes a lot of pressure off the compiler's register allocator.


I sometime wonder if microchip/Soc wouldn't be better if we removed Wifi and USB kind of hardware support that are relying on enormous amount of (bloated) kernel code to perform magic.

Embedded system for having a real purpose of studying and experimentation would rather need a core HF radio transmitter/receiver instead of wifi and the abstract layer for modulation/demodulation digital/physical layer should better be handled in the user space.

USB could be replaced by other bus/hw link that have a simpler state machine and easier wire control. Ex: GPIB.

USB and Wifi have to much states required to function simply.

And seriously, just blitting operation (also usable in cryptography and matrix operations) should be enough to have a decent 2D CPU handling of graphics. Then, with an I2C bus you probably can pilot a chipset to just process the buffers at refresh time and either DAC or push them to a display.

The complexity in the design reflects in the complexity of the code needed to handle it.


This kind of simpler design is available in modern SOCs. The thing is that most of the hobbyist boards are built with cell phone application processors because those devices support a wide variety of hobbyist use cases.

If you look at evaluation kits for TI's Cortex R4 SOCs, for instance, those kits don't support USB because that's not the typical use case for an R4.

It sounds like you're really looking for something with basic I2C and SPI support, which are fairly modern interfaces with simple state machines.


I still think that FGPA should be thought in the perspective of building an ASIC. And that most ASIC should be thought like Keep It Simple Stupid device that have to handle state machine autonomously.

Encapsulation of the abstraction begins at the HW level.

I really don't like FSM handled by an external system.


wow, there's a whole lot of self-righteous self-entitlement in that post.


I read it more of a letter of disappointment. As I'm talking to both hobby users (makers) and people using the Pi for work or in startups that work on top of Pi, the differences in opinion are glaring. Users have almost nothing but positive things to say about the Pi and the Foundation, while the serious people have a much more skeptical view, and keeping a distance as being burned multiple ways by working with, or trying to work with them. This post is more of the latter, though maybe with more bold font and exclamation marks than usual.

I myself am an observer in it, have experiences in both camp, and think that people shouldn't take it too seriously - neither the positive comments (the occasional over-the-top enthusiasm), nor the criticism.


IMO it's not a big surprise that the RPi isn't great for "professional" product use. It's aimed squarely at tinkerers and beginners, and those people will have very different requirements than a professional.

I guess the RPi foundation has pushed for it to be used more professionally, but for power users who already know what they're doing or have specific product requirements, there have always been better devices out there.


What's the difference? I'd have though non-technical users would be a harder audience. What are the difference in requirements?

non-technical users will require stable, pre-built solutions, won't they be made by the technical users? As such, isn't serving non-technical users best done by serving technical users?


Nobody takes blog posts seriously! They're literally 1 monkey and a keyboard. The pi is what it is, and it's extremely successful at that; literally the most popular uk based computer ever. What a single person thinks of it probably doesn't even interest his mother.


add clueless, you CAN boot 64bit code today

https://github.com/swarren/rpi-3-aarch64-demo


Now, what exactly do you need the bootloader source code for? And if you're really depending on it, there is a reverse engineered VPU code, just build upon it.


Well, it would be cool to be able to control the RTOS running on the VPU, and by my understanding, there are still parts of the GPU's software that aren't open. All of that stuff is inside various pieces of the firmware.


For a "cheap computing for everyone" platform, it's surprisingly lax about software freedom.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: