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!
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.
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.
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...
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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/)
[1] https://indianexpress.com/article/technology/opinion-technol...
[2] https://www.powerpc-notebook.org/why-powerpc/