Linux machines that just work

Linux machines that just work

In some sense, 2022 has been resembling the long-memed Year of the Linux Desktop. Although this sounds like some cult's prophetic rubbish, by looking at the success of the Linux desktop in very empirical terms an improvement of the last couple of years becomes clearly noticeable.

The Steam Deck alone has had the most merit for this. Although its reviews were mixed, its power and overall technical brilliance has been acknowledged by essentially all (mainstream) reviewers that could get their hands on it. And alongside it, a new generation of Android/Linux hybrid devices is slowly growing, alongside many ex-Android phones (with Qualcomm Snapdragon chipsets) that are starting to "just work" on mainline Linux kernels.

On the desktop side, products such as the Librem 14 laptop which we reviewed back in April show a surprisingly stable and practical Linux experience. Other reviewers - finally also on mainstream tech sites - acknowledged the Librem 14 perks and faults, mainly agreeing on the general practicality.  Furthermore, newly developed machines such as the HP Dev One and Dell XPS 13 Plus are both heavily Linux-centric professional machines, the former being developed in collaboration with Pop OS, the latter officially certified by Ubuntu for full hardware support.

The Framework modular laptop is meant to be entirely Linux-friendly

The secret for such stability may boil down to some simple rules for anyone building Linux-based hardware, which may turn to a generation of Linux mobile devices that happens to work surprisingly well out of the box. These rules allow not only to sell well-rounded Linux devices, but also to build customized ones at home (relatively) easily starting from off-shelf ARM boards.

  • Simplifying drivers. Get peripherals that work out-of-the-box on Linux kernels, which are nowadays a good part of the existing hardware landscape. Ironically, such peripherals would usually feel more stable than most heavily proprietary counterparts on Windows as well: having "upstream" Linux drivers means that the devices will be maintained for decades, whereas a Windows-only peripheral requiring proprietary (non-Microsoft) drivers will often last just a couple of OS releases before being abandoned by its supplier.
  • Simplifying SoCs. That is, choosing those for which new carrier boards can be developed with good documentation, but also taking mainline kernel support and stability as a first priority. If this sounds obvious, most early Linux mobile experiments such as Firefox OS phones, early Ubuntu Touch devices, and even the recent Cosmo Communicator and JingPad did not consider mainline kernel to be a priority, and thus had to rely on self-made "bridges" between unmaintained, old Android trees and Linux user space features.
  • Pick GPUs wisely. After all, why not do it before? As a hardware manufacturer, they can probably just benefit from higher stability and security thanks to crowdsourced contributions, at no extra cost. Even Nvidia, to adapt to the trend, made their GPU better integrated in the kernel in the last months, shipping the "wrapper" around the proprietary firmware inside the upstream Linux tree. As another "success story", Imagination Technologies is finally starting to ship open-source drivers for their recent graphics chips after over ten years.
  • Ship with a stable software stack. Currently, there is a huge gap between the level of stability and usability of Linux distributions, and most of the bugs tend to be gathered in the downstream distributions rather than on top ones. Eliminate layers, get closer to "pure" Linux and upstream packages, and a fraction of bugs will appear. As a rather limited "rule of thumb", considering how many "steps" a distribution has from its root ancestor might be a decent measure of how stable the end user experience will be. [1] The reason would be that packaging on a "forked" distribution while keeping one-to-to compatibility with upstream packages is not trivial, and most distribution tend to add many layers of customization (reads "patches") and additional software over their parents, while being used by a fraction of their user base. This implies that bug reporting will be less specific and effective, and new bugs will be introduced only on downstream machines.
  • Aim for the mainstream. The SteamDeck, or HP Dev One are not marketed as "Linux machines". Very few people buy a product for the tech alone, but rather as a modern gaming or developer workstation if the experience is good.
  • Finally, Aim for a no-frills user experience. Don't overcomplicate the software or hardware features, but provide a product that simply does its job easier and faster than the competition. It can be OK not to have super-high-end performance or gimmicks, as most people in the end tend to prefer simplicity and usability on work machines.

The DevTerm Linux portable is compatible with several "plug-and-play" compute modules, supporting RISC-V boards as well as older Raspberry Pi modules

Alongside the many commercial Linux devices, a similar peak has been that of homebrew Linux computers. In the last months, several makers have developed their own mainline-ready Linux phones and laptops, often turned into easily (3D-) reproducible, somewhat stable devices.  In fact, increasing interest for modular, self-repairable devices, alongside with a growing technical knowledge in ARM board design and availability of "plug-and-play" computing boards ("SoM"s), made it possible for several to wire up peripherals to the core boards, 3D-print a case, and in some sense prototype brand new devices at home.

This can be, indeed, the best year in the last decade to buy a native Linux device. Journalists from the New York Times, Wired, TechRadar, and The Guardian are getting their hands on the "vanilla" penguin OS again after decades. Gamers are realizing that with GPU driver fragmentation and heavy operating system services, Windows is also not an ideal platform for gaming, and the simplicity of Linux may represent a way out once a proper software base exists. In fact, I bumped several times into people using SteamDecks on subways or planes, and not being much of a gamer myself, at first I thought they were a bulkier variant of the Nintendo Switch. Recently, I even spotted a couple of Linux phones in the wild – although, in this case, strictly hooked up to laptops as developer devices.

But making predictions is easy, and the future has often been less rosey than the Linux community liked to admit in the last decades. In fact, whether this trend will last is also up to the existing community. Being inclusive towards newcomers, helping test and debug software issues as users rather than complaining about some possible instability, and making the software space stabler rather than even more fragmented will surely ease the transition of new users to the penguin desktop.

[1] As an example, Arch, Debian, and Fedora would be the "level 0", Ubuntu and postmarketOS would be on level 1, distros such as Zorin OS and elementary on level 2, and so on. For more examples, have a look at the DistroWatch "Family Tree"

Cover picture: SteamDeck