Hacker News new | past | comments | ask | show | jobs | submit login
GNU/Linux Open Hardware PowerPC Notebook Project (powerpc-notebook.org)
91 points by type0 36 days ago | hide | past | favorite | 65 comments

Using PPC in a laptop form factor is a really confusing choice, given that Apple abandoned PPC [1] in their laptops for Intel because they judged that there was no way that IBM was ever going to come out with a PPC chip that was ever going to be as power efficient as the comparable Intel parts. Their "Why PPC" page [2] makes no mention of power or thermal efficiency, and just states that PowerPC is better because the original version of the ISA was invented after x86 and ARM. By that logic Itanium is the best ISA of all!

[1] https://indianexpress.com/article/technology/opinion-technol...

[2] https://www.powerpc-notebook.org/why-powerpc/

Many, myself included, would gladly take a major hit in battery life if it means having a machine we can actually trust.

Trust means no ME backdoors, no random blobs which can be supply chain attack vectors.

Freedom means I can do anything I want to the software and firmware and repair anything as needed long term without the consent of a corporation that has a financial interest in seeing their hardware go to a landfill in 2 years so people buy the latest.

How does the open/libre/trustworthy potential of PPC and Power products compare with RISC-V? Current, and near future?

This is something I've been wondering. It's started looking like there will be a lot more hardware options based on RISC-V. Thus far, PPC/Power has had better libre options due to: https://www.raptorcs.com/ I hope there will be healthy competition from open/libre/trustworthy and performant RISC-V boards.

> open/libre/trustworthy potential

It's not just potential but actual: Those Raptor workstations and servers already have coreboot firmware and run Linux (and whatever BSDs run on PPC today.)

Agreed for current, over recent years. But what about near-future, with multiple sources of performant RISC-V CPUs? And will a larger variety of boards follow, possibly including very libre ones like Raptor does for Power?

Could you please point at a source of currently available performant RISC-V CPUs, something comparable to Intel's lower-end mobile chips like, say, Intel i3 from 5-7 years ago?

I used to think that current RISC-V offers are approximately in the ARM A57 league.

I don't want to put words in the mouth of who you are responding to, but here would be my assumption. PPC is probably in a better position for mass distribution in the short term. Where as RISC-V still has some time to go before we can get there at modern performance in a package that goes in consumer hardware. Also, just have more architectures means more possibilities of design decisions and more choice, which is always good.

Unfortunately with POWER10, a couple of blobs are required, so Raptor are sticking to the older POWER9 for now.

I saw, I saw. I hope that changes. Maybe someone can reverse it, or pressure IBM (ha!)

What's even more confusing is their choice of parts. The NXP QorIQ line is designed for use in networking hardware, not in mobile devices -- it has limited power management functionality, and, as best I was able to tell when I looked into this last year [2], has idle power consumption somewhere around 7W, ramping up to 20W under load. It's not especially fast, either -- it's only got four cores at 1.8 GHz. Most new cell phones will run rings around it.

My best guess is that they somehow decided on the PowerPC architecture before evaluating what parts were available, and realized too late that nobody makes mobile PowerPC SoCs...

[1]: https://www.nxp.com/products/processors-and-microcontrollers...

[2]: https://news.ycombinator.com/item?id=24188796

Fully agree, but at the same time I'm hard pressed to think of an alternative that doesn't need binary blobs to bring up & is better in terms of power usage / efficiency.

Most modern chips really can't initialize themselves anymore without feeding them some blob, most frequently for DDR controller calibration but also sometimes SERDES bits.

That said I'm not sure why this should be treated harsher than if the same code were burned into a mask ROM on the chip. The latter case would be acceptable for "blob-free open hardware enthusiasts". It's a rather arbitrary distinction IMHO.

add.P.S.: my personal goal would be a system where I control 100% of all running code starting at the bootloader. Most of these initialization blobs are one-shots, e.g. push the appropriate electronic parameters into some high-speed analog block. But this means no Intel ME & no AMD PSP, please. It also means no "power management" coprocessor (reasonably common on ARM SoCs), not even due to openness or trust concerns but rather because I've been bitten by bugs in those… :(

Indeed, they must have decided on the Power architecture first, because it's available and can run without proprietary binary blobs. That was the key consideration, I think.

Otherwise picking an Intel or AMD part would be much more efficient from many angles.

> because it's available and can run without proprietary binary blobs

Which isn't even necessarily true. The POWER architecture is just an ISA. It doesn't specify anything about how the rest of the system works.

(The POWER Architecture Platform does exist, but, as far as I know, it's only used in IBM's POWER servers.)

Conversely, it's hardly as though POWER is the only architecture this is true of. Coincidentally, NXP also sells a line of ARM SoCs (the i.MX line) which can be used in a blob-free mode, and there are already several open hardware laptops built around those parts!

The team is also looking for donations to obtain 55W MXM-A cards. It would be nice to have a proper GPU, but is there a reason why it can't be a random SXGA-compatible framebuffer or some FPGA IPs? Is this laptop being designed for some specific task?

I wouldn't think that PowerPC is ill suited for reasonably low power designs. It is a RISC chip after all. And up to and including the G4, they ran very well in the Apple laptops. Only the IBM-made G5 was a very hot beast, perhaps because it pushed the cpu frequency beyond the comfort zone for its process in the attempt to keep up with Intel. But a fresh design with a modern process could yield very low power and still well performing chips. Even the Itanium, which had a reputation for being power-hungry probably would be efficient enough to be used in a smart phone, if ported to the TSMC 7nm technology.

A ton of ARM designs are RISC chips, because ARM stands for Advanced RISC Machines.

Somehow they power nearly 100% of mobile phones, and various other mobile devices.

Yes, of course, all ARMs are RISC chips. That is why I think a reasonably designed and manufactured PowerPC should have similar power and performance characteristics.

Apple has since moved off of x86 for similar reasons. The issue is the fab process more than the architecture.

They are not aiming for the "ultrabook" form factor, but rather the mobile workstation form factor.

According to the leaflet from NXP, the CPU has a "typical" power consumption of ~15W - if that means under load, it would be in the ballpark of Intel and AMD mobile CPUs, as far as I understand.

Because Open hardware.

I figure someone might as well go whole-hog on that and build a PC with just a big ol' FPGA.

FPGAs are incredibly closed, outside of Lattice Semiconductor's tiny FPGAs (unsuitable for computers). In all practicality for "openness", any open-source advocate should rather use Intel/AMD than Xilinx/Altera.

Closed-source synthesizers, closed source bootup, closed source loaders, etc. etc. You're pretty much trusting the FPGA software more than any CPU.

> In all practicality for "openness", any open-source advocate should rather use Intel/AMD than Xilinx/Altera.

That's an ironic comparison to make -- Intel bought Altera in 2015, and AMD is in the process of acquiring Xilinx.

Between the two, though, there's been a lot more work done on open toolchains for Xilinx FPGAs.

oh, bummer. So you'd need a clean tool chain too.

Fpgas are very unsuitable general purpose computers. De10 nano is a very beefy fpga and can barely play doom acting like a general purpose 486 and lacks a fpga

Oh well, I figured that a PowerPC Notebook was for hobbyists.

What I would find fascinating is to think about languages and OSs for FPGA and try to break loose from the utterly boring C/Unix/68k,x86,MIPS,blah paradigm. Having something turnkey with attachment to various ports and a display would be kind of cool. Maybe that exists already.

I worked on a project with a processor-on-an-FPGA and while it wasn't fast, the video codec in FPGA made it useful. Kind of a neat thing I think.

Ppc notebook is a thing because ppc has been “open sourced” so you can just make ppc chips using great documentation with nobody knocking on your door. As a technology it’s dead as a door nail but it’s free as speech.

That is being done too for when trust REALLY matters.

See the Precursor.

If they went for a NUC/Apple Mini form factor that would have been an interesting (and easier) first try: A meaningful difference from Talos, yet a less restrictive power budget than laptops.

I am surprised this is the most upvoted comments.

Energy efficiency of a chip has relative little if not close to zero relation to the choice of ISA in PC usage. Apple moved to Intel because of Fabs and uArch design choices.

People may want to explain why you downvote?

Both Pentium 4 and Pentium M are x86? What has the ISA got to do with it? Seriously? Intel had the Fab advantage at the time, and IBM didn't want to design Laptop based computer chips. It was as simple as that. It has nothing to do with PowerPC incapable of making energy efficient chip.

That website is a trainwreck on mobile firefox. Two screen-covering popups and wrong language detection.

Agreed. They’ve disabled reader mode, too. Took one look at that mess and decided I didn’t care enough to even try tapping the deliberately minuscule X buttons.

I’m at the point where I am so done with disrespectful websites that I’m willing to forgo information I’d otherwise care about just so I don’t have to engage with them.

Same here, I consider it voting with my back button.

Three popups on desktop, one of which collapses into a large, persistent "chat" bubble in the upper left of the window.

Not to judge a book by its cover, but this certainly doesn't speak well for the level of care put into this project.

Three popups for me on mobile Firefox. Closed the tab after that.

The web is so fucking awful these days.

Same on Safari. That's not how one should do it in 2021…

Welp, I'll just skip the article then.

I cannot help but feel overwhelmed by the craptacular pixels being thrown at me. I closed the site immediately and likely will not return.

I thought everyone on HN had uBlock Origin installed with scripts disabled? I just see (desktop FF 92.0) a pleasantly organized page.

I agree it's horrible with scripts enabled though!

It's not at all the market this is aimed at, but movement in the direction of obtainably-priced new PPC hardware is exciting to me because it means that there's new hardware that can run classic Mac OS closer to the metal — potentially very close with a thin hypervisor layer that bridges the gap between what Mac OS is expecting and how the hardware actually is.

As for why it's exciting, emulation of classic Macs still has large holes (e.g. GPUs aren't emulated well enough to support 3D games) and is generally buggy, which will be a problem when all the old PPC Macs have broken beyond repair. A vast amount of unique software will be rendered not practically usable. There's also just a little bit of something lost in emulation… all the bits of added latency and quirks pile up to dampen the positive aspects of those old systems.

I would be happy with an affordable Power10 workstation. I want that more than ARM or RISCV.

Raptor starts at around $3800 and goes way up. Been dreaming about one of those for a long time.

My workstation now costs about $16.000 (And they dont feature the Power10 yet)

The reason for Raptor not having POWER10 is due to IBM introducing some proprietary blobs, IIRC for RAM bringup and something else.

BTW what do you do on a workstation this large? Mechanical / electronic CAD and modeling? Video / animation? Computer chemistry?

well, I think on a geeky place like this forum a geek should never be asked "why" he needs something: p

I do photography, video editing, video conversion on the personal side and research into distributed and parallel execution for a programming language I am working on at work.

I have a lot of VMs running at the same time, compiling the programming language is time consuming.

I have also made some hacky alterations to the Linux kernel so I get to compile that one a lot too.

Conceivably, a similar PowerPC motherboard could be put into a Framework Laptop. I wonder if this project would have considered going that route if the timing had been right.

cant donate in crypto, too bad

Are many people seeking charities that accept crypto donations? Or, at least, are there crypto donors?

crypto people are very generous. many made insane gains and are willing to donate to good causes.

I hope it's not big endian. A lot of modern software now just expects everything to be little endian, and won't work properly.

Yeah! Let's not fix the software and the bad assumptions some programmers make - let's all just do what's simplest for the bad programmers. What could go wrong? ;)

Seriously, there's zero reason why endianness should matter in code. All good code compiles and runs on whatever endian system you want. If it doesn't, then it's buggy and broken and should be fixed, and whoever wrote it should be ashamed.

I agree with this in principle, that good code should be endian neutral, but if the goal of the project is to produce something that's broadly useful as a "real laptop" then this is a serious concern, as a lot of software is either bugged or straight up broken on big endian.

Fixing all the broken software and making all of GNU/Linux bug-free is a noble cause, and one FOSS contributors all want I'm sure, but people who are interested should know just how much software is broken on BE. It's not a tiny handful of packages. It's not a ton either, FWIW, but the broken packages tend to be the larger, more complex application software that IMO your average end user will want, especially if you're marketing this laptop for general users and not specifically to programmers or others willing to compromise on software.

It's not an insurmountable challenge, especially 64-bit PPC which works okay in BE, as there are enough diehard PPC64 users keeping the patches flowing to keep it working. But some things will never work without incredible porting efforts, and some of the things that work have issues.

> if the goal of the project is to produce something that's broadly useful as a "real laptop" then this is a serious concern, as a lot of software is either bugged or straight up broken on big endian.

This is really my only concern. From a practical perspective, big endian would not work for a general purpose usable laptop. Perhaps if Apple had kept with the PPC architecture, software developers would have paid more attention.

There is zero reason why developers should even concern themself with BE these days. LE officially won, just as two's complement, UTF-8 and IEEE-754 won. Sure, most software could easily be agnostic and probably most software is. But unless tested you don't know for sure. And why would you? It has zero application.

>Seriously, there's zero reason why endianness should matter in code

How about wanting to share binary blobs between architectures without spending the effort to marshal things.

How would binary blobs work on a different architecture regardless of endian-ness?

Your binary blobs are structures with fixed-size primitives and a known layout, on ABIs with manageable structure packing rules:

    struct my_data {
        uint32_t x;
        uint16_t y;
You can transmit data structures like this over the network with write(), if you want. You can say, “sizeof(my_data) == 8” and just refuse to support systems where this is not true. On the other end, you can

    obj.x = swap32(obj.x);
    obj.y = swap16(obj.y);
where necessary, or avoid the swap if both peers have the same endian. Keep in mind that this is illustrative. Not trying to describe the details of how you would design a system from a higher level.

Note that you’re not making any attempt to support all architectures, here. You can restrict yourself to byte-oriented architectures with the normal 8, 16, 32, and 64 bit integer types that have no stricter than natural alignment. That covers a useful, broad range of architectures. Depending on whether you care about architectures like M68k where uint32_t does not have natural alignment, you can manually pad out structures.

htonl and ntohl would like a word.

You mean https://linux.die.net/man/3/htonl ? What does that have to do with executing binaries on another architecture?

Binary doesn't imply executable. A NumPy array is a binary blob.

Big endian is backwards. Little endian is logical and should've been the only choice from the beginning.


The only real BE holdouts are networking hardware and mainframes.

(In LE, increasing offsets are increasing weight, just like the commonly accepted bit numbering. In BE, they're decreasing and length-dependent.)

PowerPC has been settling on powerpc64le lately for that reason. Is be surprised if little endian isn't at least an option, if not the default.

Unfortunately the SoC they've chosen, while technically supporting little endian, doesn't include the VMX extensions to the ISA IIRC, which all (?) distros require as they generally assume ppc64le = POWER8 or higher, which include VMX. There may be other caveats, but at the very least, you'd need a custom distro to get LE working on it, with special build flags used to restrict it to Altivec instructions.

Everything I'm looking at says that the T2080 SoC they've chosen contains e6500 CPU cores, which contain VMX units (also known as AltiVec). Unless you're talking about later additions to the VMX ISA, and not the VMX unit wholesale.

I'm also seeing the e6500 listed as Power 2.06 compliant, just the same as POWER8.

AltiVec is just NXP's (nee Freescale's nee Motorola's) trademark for VMX just like Velocity Engine is Apple's trademark.

I was mistaken, but the end result is the same. It's VSX that's POWER7 and higher specific, which is an extension of VMX/Altivec.

The reality is actually worse -- Altivec/VMX doesn't work at all in little-endian on the e6500. https://www.nxp.com/files-static/training/doc/ftf/2014/FTF-N... (search for "big-endian")

So an LE distro for the e6500 would have to built with Altivec support disabled.

(The powerpc notebook guys mention this in their FAQ, but sort of vaguely says that modern distros require "some functionality" not provided by the e6500 https://www.powerpc-notebook.org/faq/)

Here is a good article about how to handle endianness correctly in C : https://justine.lol/endian.html

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