When it became clear near the end of 2020 that things would be delayed by at least 2 months, we jumped at the opportunity to improve an aspect of the laptop that had been a matter of criticism by beta customers: the standard Kailh Choc keycaps don't have a particularly great feel, mainly because they are perfectly flat. After trying out the MBK concave keycaps, we talked to FKcaps about a collaboration. They were able to manufacture a new version of their caps in record speed that fit our laser engraving approach: a translucent ABS body painted with a thin layer of black PU. Our minimalistic design strategy of using only two different keycaps on the keyboard paid off here by simplifying the mold making process. The result is that the production MNT Reform keyboards look and feel even better than originally planned.
While writing the handbook I realized that the system controller functions triggered by key combinations should be made more discoverable. I wrote an interactive scrollable menu rendered on the OLED display which lists all functions and their shortcuts, but it also allows you to just select a function and press ENTER to trigger it. You can enter the menu at any time by pressing the Circle key. Among the current functions are "Power On/Off", "Reset", "Battery Status", controlling the keyboard backlight and "Wake" from standby.
In the first weeks of 2021 I wrote the MNT Reform Operator Handbook with some initial help from Ben Cardinal and later with Brendan Nystedt as my editor. Paul Klingberg contributed a number of crispy illustrations of MNT Reform parts rendered in a line drawing style. 100rabbits contributed the cover design and the design of the online version. Pinguin Druck in Berlin printed the handbook, which ended up being 136 pages in A5 format. All sources for the book can be found in our git repository.
i.MX8M has two display engines that shovel pixel data from memory to a display output: DCSS and LCDIF. Both of them can supply only one output at a time. DCSS is more featureful and can do framebuffer compression among other tricks, and it can supply either the HDMI or the MIPI-DSI output. LCDIF can supply only the MIPI-DSI output and has a limited FIFO buffer of 512 bytes.
If you want to use only one display at a time (internal or external), DCSS is the better choice. For a dual display setup, the only choice is DCSS for the external and LCDIF for the internal display.
During more intensive testing, I discovered a problem: PCIe traffic, for example by a NVMe SSD, can interrupt the LCDIF's ability to fill up its buffer on time, causing the display to glitch. Lowering the refresh rate did not help, so it appeared not to be a bandwidth problem. I couldn't find any documentation by NXP on how to attack this issue, and the support channels I contacted didn't have an answer either.
After a handful of very frustrating days, I wanted to give up on the problem and announce that the combination of dual display plus NVMe SSD would not work out. But contacting a kernel developer at NXP provided me with an unexpected solution in the last minute: there is a yet undocumented QoS (quality of service) controller that let me limit the number of outstanding transactions of bus masters like the two PCIe controllers. You can find the rather obscure looking patch for the problem in our git repository.
By default, MNT Reform will boot in single (internal) display mode powered by DCSS. With the included reform-display-config script, you can switch to using the DCSS/LCDIF combination that enables both internal and external displays to be used together.
Next to managing logistics, I spent most of the last 1-2 weeks completing the system image(s) for MNT Reform, now based on Linux 5.11 and a Debian Sid userland. There have been numerous small tweaks to the system including a third desktop option: WindowMaker running on the Cage single-application compositor (the single application being a fullscreen Xwayland in this case). The reform-windowmaker script demonstrates how to run classic Xorg desktops on a Wayland compositor, as Xorg by itself doesn't currently work reliably on the etnaviv modesetting drivers. Also, running Xorg environments on Wayland gives you tearing-free output as a bonus. If you prefer the native Xorg anyway, you can currently run it on the Linux framebuffer using the fbdev driver, but without hardware acceleration.
Our build script (mkimage.sh) now first builds a smaller version of the full image (without big desktop applications like LibreOffice) called the Rescue System. We install this Rescue System on the 16GB eMMC flash included on the Nitrogen8M processor module. If you ever make your main system unbootable and don't have a second SD card, you can flip the DIP switch on the processor module to boot from eMMC instead. You can even reverse things and move your main OS to eMMC and boot from SD cards in emergency situations. Currently, accessing the switch requires to remove the heatsink from the processor module, though.
We have all electronics stocked to build 450 MNT Reforms, except for some of the keyboards: we have 330 in stock and 150 on the way to us. In any case we already have enough circuit boards to fulfill all campaign orders. We also received the first 25 sets of aluminum/acrylic case parts. We discovered minor cosmetic issues on the anodizing of a few of them that are already feedbacked and corrected for the remaining production batches, which are planned to be shipped to us on March 12th.
Nevertheless we have started assembling the first ten production laptops and successfully booted the first one yesterday, which was a bit of a magical moment. While we're still learning how to do the assembly and packaging in the most efficient way possible, our plan is to ramp up to 10 devices per day in the next 2 weeks.
To anticipate the first backers receiving their MNT Reforms and to collect technical support, feedback, hacks and recipes in a central place, we launched a forum, MNT Community. Sign-ups are moderated to combat spam but are swiftly handled.
Thank you for your patience and continuing support while we work on getting MNT Reforms into your hands!