I wasn't aware of that project; it's extremely cool. Thanks for spreading awareness about it!
Libre Hardware
I own one, and am really happy with it. There is some jank to expect though:
- The official system image is based on Debian Unstable. This means that you frequently get broken updates (for instance, currently waybar is broken, and just a few days ago, boot got broken by a buggy initramfs).
- At least for some SoMs there are also Debian Stable images available, which are, well, stable.
- I am running Gentoo on my Reform, and once one gets past the initial setup (kernel config is a challenge) it works pretty well. I have written a blog post about installing Gentoo on the Reform.
- DPMS off might not work reliably (depending on SoM). I got it working well on my BananaPi CM4 SoM by changing sway config though.
- Suspend-to-disk (hibernate) does currently not work. Last time I tried it, the system continued just fine, but froze a few seconds later.
- No clue if standby works. I don't use standby.
- Some other issues exist with the Banana Pi CM4, but there are workarounds: https://community.mnt.re/t/tracking-known-issues-and-solutions-with-the-bpi-a311d-upgrade
- There are probably more issues that I cannot remember right now.
That said: Now that I have Gentoo running on it, and found workarounds for the most annoying issues (except for the suspend-to-disk issue), I am loving the laptop and would not trade it for anything else.
Well I'll see how it goes. It can't be anymore frustrating than my stupid HP laptop. Worst case, it is so unusable that I have to revert to the HP laptop. But I doubt it.
Re OS, I'm not installing Gentoo. This is 2024 and I value my time ๐ As for Debian, I kind of intend to blow the partition and install Ubuntu 24.04 since I opted for the RK3588 module.
I expect stuff won't work. That's okay: it comes with the territory with a machine such as this one. If I just wanted something speedy that works reliably with Linux and satisfies my repairability requirements, I'd have picked a Framework laptop.
In fact I hesitated for quite some time, but in the end, I think the Reform will provide a lot more fun for a lot longer than a boring-ass it-just-works laptop. And the 18650 cells are a huge plus too: good luck finding another laptop with 18650s ๐
I am curious how much work it will be to modify that Ubuntu image to fully work on the Reform. The audio chip and some other peripherals are on the mainboard, and need to be included in the device tree for the kernel to pick them up, so I would expect that at least some modifications of the image are needed.
It might already be enough to grab the device tree from the MNT gitlab, compile it, and put it in the boot partition for stuff to work. (You will likely also want to install the reform-tools - either from their gitlab or from their repository. They include a kernel module that is needed to get battery readout and to power off the laptop on shutdown.)
What helped me a lot while setting up the system was that I kept the SD card with the official (Debian Unstable) image around - every time something didn't work, I could boot it up and check how the official image does it.
Well I don't know how MNT will configure the Reform. I presume they'll load the OS entirely in the eMMC flash. So my plan is to dual boot it - either the default OS in eMMC or Ubuntu in the NVMe SSD. That way I can go back and forth and see what works best. Once my mind is made up, if I decide to install Ubuntu in eMMC, I'll back it it, blow it, transfer Ubuntu onto it and mount the NVMe SSD as /home. If I decide Ubuntu sucks, I'll just wipe the SSD and use it as /home immediately.
At least in my case, the default OS came on an SD Card, and both, the M.2 SSD (which I had ordered together with the laptop) and the eMMC were empty. The manual contains a section about moving the OS to eMMC, so I guess that's their default setup.
(In my case there's an additional thing though: For the Banana Pi CM4 SoM the installation of u-boot into eMMC is officially not supported, as one would need a CM4 I/O board to erase it again, if anything goes wrong. I installed it there anyhow, and it's working for me, but I did buy the I/O board beforehand as a precaution.)
Oh right okay. Yeah now that you mention it. I do seem to recall watching somebody's video booting the reform from the SD card. Well then, that's even better: I can just backup the SD card and reinstall over anything I'm not happy with.
I'm totally unfamiliar with how these things boot. I'm not even sure it's more or less standardized between various SoMs. But I suppose it's possible to select which device to boot from at some point or other after power-up. So maybe what I'll do is follow the manual just to familiarize myself with the machine as MNT Research intended, then install Ubuntu on a SD card and boot off of that, until I'm happy enough with it and replace the default stuff on the eMMC with it.
I'm curious: why do you need an I/O board with the Banana Pi CM4? Do you need a JTAG or SWD port that the add-on board provides to program the flash if the updater gets hosed or something like that?
I haven't looked at the schematics, so I am not certain which connection exactly would be needed. I only know that the Reform Mainboard and the Reform CM4 adapter don't expose any way of writing to the eMMC other than booting the system first. The problem here is that the Banana Pi CM4 boot process first looks for a bootloader in eMMC, and only if it cannot find one there, tries the SD card. So, if one flashes a bootloader that gets recognized by the firmware, but that later fails to boot, one is stuck...
The I/O board on the other hand allows to connect to the CM4 via USB, and there is a weird, but supposedly working, procedure to erase the data in eMMC.
In any case, I now have a spare CM4 I/O board lying around, and if I ever choose to upgrade my Reform to the Rockchip SoM (or something even faster), I can then still use the CM4 as a small standalone PC.
Interesting... I'll have to dive into all that at some point. Thanks!
If you're using an AMD iGPU you should really consider one of the Wayland options.
I tried it. It's unstable either way. Not to mention, I can't really do Wayland because I have software I use all the time that rely on X.
The problem is the driver with the AMD Radeon Vega 6 chipset: it's an older chipset and it's not well supported by either the amdgpu or amdgpu pro drivers. I mean it works well enough most of the time, but every once in a while, it starts corrupting the display so bad I have to reboot. It usually happens when waking up from sleep or - strangly - when taking a screenshot with Flameshot (really weird that one).
I am reliably told that newer AMD stuff is better supported. That's great. But AMD obviously doesn't care about supporting the older Vega 6 chipset anymore, and I'm not exactly keen on debugging the open-source amdgpu driver to get better performances on a laptop that has other issues and that I can't stand anyway.