My main workstation is too a Raptor Power9 running Void since November 2019, and I’m very happy with it although as the article mentions, “My experience with firmware is that open source does not mean necessarily better, rather the opposite”. OpenBMC (the firmware for the little ARM-based embedded computer that boots the big one) has a number of rough edges.
From time to time I submit patches to software to make it work (or work better) on this machine, last week it was these two trivial ones:
https://github.com/ciao-lang/ciao/pull/45
https://github.com/janet-lang/janet/pull/915
Typically that’s all that’s needed, in some cases it’s just more of it:
https://github.com/oneapi-src/oneDNN/pull/767
But for most things, since it’s Linux, it’s just those small changes: (one of my customers runs the software I write on AIX and that’s a little more work)
https://github.com/IntelRealSense/librealsense/pull/5586
https://sourceforge.net/p/speed-dreams/tickets/1022/
For Rust programs, many packages used i8 for C strings (to interface with OpenGL for instance) which broke when running on ppc64 and had to be changed to c_char, but that’s not a problem these days, I guess because many people now test on ARM.
https://github.com/femtovg/femtovg/pull/5
Before Power10 was done, IBM actually asked us Raptor users about proposals for useful machine code instructions to add to it. I replied that I’d like to have hardware UTF-8 de-/encoding but they wanted a more detailed proposal and I never got around to write it. I’m not even sure that this would be worthwhile, but I see UTF-8 de-/encoding everywhere in the code I write and would like it to approach memory read/write speeds.
I was very disappointed to learn that they had gone more proprietary with Power10 so I would not have been able to use those instructions anyway. What a pity!
This machine still covers my needs so I’m not planning to replace it any time soon.