In the previous installment of this three-part series, we took a look at the reasons why having truly open source-friendly Linux-based phones are not only a good thing to have but are also necessary to shake up things in the mobile space. The idea, of course, isn’t new and goes as far back as the OpenMoko community-driven project and even the mostly-but-not-totally open source Nokia N900 and N9. Those days are long gone, however, and the smartphone industry has changed drastically over the last decade and so have the attempts at making Linux phones. In this part, we take stock of the options that are currently available not just to Linux enthusiasts but to privacy and freedom-loving people as well.
libhybris: Living in Android’s world
Making smartphone hardware is a complicated and expensive process (foreshadowing part 3 of this series) and, to give credit where credit is due, Google has done a lot of work to even get hardware makers and suppliers to pay attention to its Android platform. But while that means that Android can easily tap into that smartphone hardware, it also means that only Android is able to tap into that proprietary hardware.
Rather than go through the lengthy and risky process of reverse engineering firmware, open source developers opted to make a compromise and developed libhybris. In a nutshell, it is a compatibility layer that allows traditional Linux software to talk to the hardware via the usual Android hardware libraries. It’s not a perfect solution but it has at least allowed a few Linux-based projects to hit the road running rather than starting from the ground up.
UBports: continuing a promising start
Libhybris opened the door for many attempts at installing alternative user experiences on Android phones and one of the most popular is perhaps Ubuntu Touch. Sadly, a variety of factors caused Canonical to totally back out of the mobile space and the operating system would have been lost to history if not for the fact that the entire platform is open source and, more importantly, there were people willing to continue the work even without the profits that Canonical was after.
That was almost three years ago and now UBports has brought Ubuntu Touch beyond what the initial implementation was able to cover, supporting more phones and updating the stack to more recent software. It continued the dream of convergence and even running some regular Linux desktop apps on phones but also kept some of the platform’s more controversial foundations. UBports definitely proved what Ubuntu Touch could accomplish, even without the full resources of a company.
postmarketOS: Breaking free from Android
For some Linux and open source enthusiasts, even libhybris (and the projects built on it) was an unacceptable compromise. Even without considering ideological issues, using an Android core has its technical disadvantages, like using a terribly outdated Linux kernel and, of course, the curse of relying on proprietary firmware.
postmarketOS set out to solve a more practical problem, that of being able to use even ten-year-old Android smartphones by running Android-free and more recent Linux and open source software on them. It isn’t an easy road, especially when trying to be truly free of any proprietary blob. But thanks to the work done by the pmOS community, not only are nearly ancient phones suddenly usable again, now the open source community has a more familiar Linux-based stack they can build new mobile experiences on.
Plasma Mobile and Phosh
Libhybris and postmarketOS provided the foundations that allowed open source developers to build the equivalent of Linux desktops or workspaces for mobile. There are quite a lot of those that have sprung up lately thanks to these two but, almost mirroring development on the desktop space, there are two big ones from KDE and GNOME giants.
Plasma Mobile, the spiritual successor of Plasma Active of yesteryear, shares a common architecture with Plasma Desktop. It started out with a Halium (which used libhybris and Android parts) base but grew to also support postmarketOS and, now, a more direct KDE Neon foundation. Technically owned by Purism but also developed by open source developers, Phosh is the GNOME-based shell that ships on the Librem 5, Fortunately, given that phone’s open source nature, Phosh can also be installed and used on other Linux phones.
Librem 5 and Pinephone
Open source software on phones is great and all but without the open source phones to run them on they become nothing but concepts and prototypes. That’s the situation that the libhybris and Halium projects are trying to address though still not in a completely ideal way as far as true open source and even true Linux phones are concerned. Fortunately, times have changed and so have production and manufacturing processes, allowing smaller companies to take a stab at becoming a phone manufacturer.
Neither Purism, which makes the Librem 5, nor PINE64, creator of the Pinephone, aim to be smartphone makers in the traditional sense. Both companies have roots in the open source world but come from different origins, Purism making Linux laptops and PINE64 making single-board computers or SBCs. Both are putting a focus on privacy and security as a selling point for their phones. Both also have their share of controversy and criticism but that’s a story for another piece.
The smartphone industry and the tech market at large have definitely changed significantly in the past half-decade alone. Hardware components have become cheaper, some parts can be offloaded to 3D printers, and the manufacturing processes have become more accessible to smaller companies. It has allowed dreamers and upstarts to turn their ideas into reality and is making the idea of true Linux phones more than just a pipe dream.
The ingredients are mostly here but the dish is taking a long time to cook. There are definitely a lot of hurdles along the way and we will take a look at some of those causes for delay in the next part of our Linux on Mobile series.
Sounds like you forgot Jolla SailfishOS – that’s the biggest player in the “Linux phone arena” ever.
Hi! I didn’t forget Sailfish OS though admittedly I should have at least mentioned it as well as other libhybris-based mobile platforms like LuneOS. The reason I left it out was because I didn’t want to focus too much on libhybris except as an important milestone in Linux mobile history. Its dependency on proprietary parts of Android makes it an non-ideal foundation for a true open source Linux phone. Sailfish OS itself is also partly proprietary and I wanted to focus more on fully open source soluttions.
Granted, Ubuntu Touch is also based on libhybris but the rest of the stack is fully open source. Its support for traditional X11 applications also puts its closer to a traditional Linux desktop system. But even then, I didn’t go into much detail there either, focusing more on efforts from the likes of postmarketOS, KDE, and GNOME.