Hacker News new | ask | show | jobs
by yjftsjthsd-h 531 days ago
I've also argued in favor of that; I don't actually like Pis personally, but they're a super common, cheap enough, easy to acquire system and that's huge.
1 comments

Raspberry Pi's are highly proprietary for hardware blobs...
Well unless they want to target PowerPC and make interested parties buy a Raptor Talos workstation what else is open enough for you? (Actually I would support this) Are there RISCV systems that are blobless?
Hey, if they target PowerPC I could run it on my eMac!
It also documented far better than any other easily accessible hardware. I’d pick the Pi over any other real hardware target.
I don't know where this idea that the RPi has good hardware documentation comes from. One glaring example is its DWC USB controller. Sure, it has a Linux driver that is open source, but its datasheet is not publicly available!

So if you want to develop your own driver for it, you have to second guess its documentation by reading at the driver's comments. This is bad.

What do you mean by documented? Sure we have a general idea of how stuff works, and some implementations can even serve as a reference but almost nothing is documented in an official sense. Your average Chinese SBC is much, much better documented, in the sense that the SOCs are at least officially documented. The Broadcom soc isn't.
The few devs I know in that space prefer the various Beaglebone SBCs
+1 here. Peak beaglebone DX to me was the beaglebone white. Full Soc documentation, and only a single usb cable to carry power, jtag, and serial.

A gem of a device and hmm maybe I should write some code for one again..

I think the replies to this post may be missing the point? AIUI The raspi CPU drivers being closed makes it actually pretty hard to write an open driver for it. So you would need raspberry pi or their CPU supplier to write the driver for you, which they wouldn't do for a small OS. It took multiple years to support raspi 4 in mainline Linux and AFAIK raspi 5 still does not have a fully functioning mainline driver. That's why Raspberry Pi OS exists. You would pick a CPU that has open drivers because it would be easier to write your own for a different operating system.
Sure, that's one of the reasons I don't like them. But AFAIK that's not an impediment to running a custom OS, so I think for a lot of projects the tradeoff is good.
And yet there is a wide variety of operating systems available for the RPi, so it doesn't seem to be too much of a hurdle in practice.
As a maintainer of one of these OSes that runs on the pi (though not the person that did the port): no, it's a pretty big issue.
What issues did the proprietary blobs cause versus porting to other arm based SBCs without them?
It's not so much the proprietary blobs, as the complete lack of documentation and debuggability for the peripherals. The PC platform, and several other SBCs, are either well documented, or at least give you the possibility of obtaining hardware with documentation.

That, combined with general flakiness (eg, power delivery issues for peripherals on older pis), and you end up with users blaming the software for hardware issues.

It's just not very fun to develop an OS for.