A Year of Open Hardware
As 2022 winds to a close, I'm reflecting back on a year of purposefully choosing open computing hardware. Previously.
I purposely chose a RockPro64, Pinebook Pro, and Purism over alternatives. All allow me to run whichever operating system I wanted to run (I run arch, btw) on the hardware. This allows me to learn, setup, and work on more open hardware than not. And where I couldn't use open hardware, I could swap operating systems on the hardware for a better experience. Let's go through each of the hardware bits. Let's take a quick tour of the hardware. We'll skip the RockPro64s since I've already documented both of them previously and previously.
Pinebook Pro
When the Pinebook Pro (PBP) became once again avaiable, I bought one. It's an inexpensive laptop that is basically a rockpro64 in a laptop. My PBP is documented here. In the first day, I powered it on and made sure it all worked. Once confirmed working, I wiped the OS and installed archlinux. I then installed an NVMe drive in it, and swapped out the EMMC with a 128GB module. I then reinstalled archlinux again. it worked great for weeks without issue. Until one day, it refused to power on.
I figured I just let the battery drain by leaving it running unplugged. Let it charge for a few hours, and....nothing. I hooked up a serial console to it and watched it do nothing on power on. It wouldn't even do the basic power on of the CPU. Uhh...huh. In chatting with some others, they asked me to try various steps to no avail. Back to basics, I removed the nvme drive and adapter. Nothing. Removed the EMMC module and tried serial. The system is getting power, because my multimeter shows power flowing. However, the system fails to power on at all, confirmed with serial console.
Ok, well then. We have a dead PBP sitting in the pile. 66% success rate with PIne64 so far.
Purism Librem14
I wanted a laptop without the "security coprocessor" or "management engine" enabled. The only options in the spring of 2022 were Nitro or Purism. I went with the Purism Librem14 laptop. it comes with Purism's own PureOS installed (based on Debian). I powered it on, it worked. I didn't like PureOS, so I swapped out the 2TB NVMe drive for my own. I then installed archlinux (btw) on it, and got on with my life.
And a quick digression, I know it's not truly open hardware. The whole system is engineered to be much more open, but the main Intel CPU is not open. In fact, the PBP running the Rockchip 3399 isn't open either. It's ARM, which like Intel, is a proprietary ISA (Instruction Set Architecture). RISC-V isn't yet ready for general computing. I seriously considered a Raptor Talos system. But that would involve a different set of computing challenges when traveling (remote terminal into the desktop), isn't nearly as silent, and is multiples more expensive than I wanted to spend. I could buy a rackmount server and just remote terminal into it all the time, but then I have two computers instead of just one.
And back to the Librem14. The system is shockingly fast. Like, 8 seconds from power on to waiting for me to login to the desktop. Once logged in, it starts apps in a blink. I'm now ruined for every other laptop/desktop/computer. This system is so fast. I can saturate wifi, ethernet, bluetooth connections with ease. I can fill the ram shockingly quick, meaning, I can load a 32 GB database into a DataFrame in milliseconds. It's amazing. Everything "just works". I love the hardware switches. I love the disabled Intel Management Engine. Despite all the challenges below, I will 100% buy one of these again. Heck, I might buy a librem5 phone.
Likely, 90% of people would not run into these issues if one stuck with the defautl hardware and PureOS. One of the challenges is that the 4TB NVMe I used worked fine. However, the system uses a BIOS instead of UEFI. This means my lazy partitioning plan (one giant 4TB root) didn't work. I could set it up, but once powered on, the kernel couldn't boot. It was because the BIOS is 32bit and the kernel couldn't address more than the 2TB partition for booting (I think). I ended up configuring a 3.5TB /home and 500GB / for everything else. It works, not ideal, but whatever.
The librem14 comes with a Atheros-based wifi/bt chipset. This is supposed to be "more free" than the alternatives. However, it's horrible. It constantly had weak connections on both bluetooth and wifi. I ended up swapping in an Intel x230 card, which has worked great.
And finally, there's the keyboard layout. it's fine, it works, and I use it every day. However, I'd really like a "home row" on the far right to break out Home, Page Up, Page Down, End, and Delete. The delete key is right next to the power key. I had to set a warning popup on power button press because I hit it so often when trying to hit delete. It's just an annoyance to press "Function" and one of the arrow keys to get Home, Pg Down, Pg Up, and End functionality. Instead, I just build a custom WASD Keyboard and use it when not traveling.
Truly open hardware is still elusive for general computing. At work, we have a rack of Raptor Talos systems and they are amazing. Open hardware down to the BIOS, BMI, and microcode which runs on the CPUs.
Overall, it's been a productive year.