The ultimate Linux phone guide for consumers

Caffeine
6 min readJul 22, 2023

Introduction

As more people have become aware of the privacy concerns of how much data big companies like Google and Apple are taking1, privacy focused alternative operating systems for mobile phones have seen a lot more popularity in the past couple of years.

A couple of projects will come to mind like Graphene, Calyx and /e/ which are all based on an open-source version of Android (AOSP). This is also when Linux phones came onto the scene like the Librem 5 and PinePhone. These phones don’t use Android but rather run a much less modified Linux kernel (albeit with patches).

With this article I will provide some advice on buying Linux phone, or an Android phone that you can put Linux onto, with that lets get into it.

Software

There are a few main alternative operating systems that I would recommend looking at, these are operating systems that provide a good experience for a user that will be mostly comparable to an Android based software experience.

These being...

  • Ubuntu Touch
  • SailfishOS
  • And PostmarketOS

Ubuntu Touch and Sailfish are both high maturity mobile Linux projects that are very much daily drivable with a modest number of active ports. PostmarketOS is a “real Linux distribution for phones” that has a large database of supported and tested devices and I’ll go into detail the difference between these two groups in a second.

Libhybris

Ubuntu Touch and Sailfish both use a different method to PostmarketOS in how you make adaptations and ports to get Linux running on an Android smartphone.

Both Ubuntu Touch and Sailfish use a compatibility layer called libhybris which allows Android libraries to be loaded by applications built with libraries you’d find on a normal Linux install.

The advantage of using libhybris is that a lot of things can work out of the box by running drivers from the Android kernel inside a container with parts of Android inside it.

Meanwhile the disadvantage is that you’re still required to install Android before installing Ubuntu Touch and Sailfish, along with the fact that it also depends on the proprietary blob drivers from the downstream Android kernel. The PinePhone (and a few others) are the only devices running Ubuntu Touch on a “native” Linux kernel rather than libhybris.

This ultimately means that you’re stuck with whatever the Android kernel provides in most cases.

PostmarketOS pushing mainline ports

PostmarketOS is an alternative mobile operating system that aims to give a longer lifespan to smartphones via mainlining and sometimes using a tweaked downstream Android kernel.

Mainlining is the practice of porting an old downstream kernel to the latest or closer to the versions of Linux released by Linus Torvalds. The maintainers of PostmarketOS ports usually aim to write new open-source drivers rather than using the proprietary blobs provided by the downstream kernel. Unfortunately, this isn’t always possible, in the case of the OnePlus 6, OnePlus haven’t released the signing keys to be able to release new versions of firmware for the device meaning that no patches can be made to the now aging firmware.

What makes a good Linux phone?

For starters a smartphone, or any phone for that matter should work like a phone. You want a phone to be able to make calls, send text messages (along with receiving them) and access the internet via Wi-Fi and mobile data while doing so stably for long periods of time without having to restart the phone.

As a consumer you will expect all of the phones reported features to work, this includes the cameras, GPS, NFC, fingerprint sensor, and for the phone software to run smoothly.

And yes, constantly having to restart was a genuine concern that I had while daily driving the original PinePhone, sometimes the modem didn’t wake up for me or the phone crashed when I had too many Firefox tabs open along with a few other annoying things that prompted me to restart my phone.

Linux first phones

Currently there are a few options for Linux first phones, the two major ones being the Purism Librem 5 and the Pine64 PinePhone/Pro. I cannot recommend either to consumers looking for a Linux phone.

Purism Librem 5

The Librem 5 is still struggling with shipping phone to people buying international and hasn’t finished shipping to its original backers from what I have gathered. As of March of this year (2023) they are still shipping orders made in 2019.

The actual phone hardware is fine along with the provided software which is based on Debian and includes a interface called Phosh (Phone shell) which is also used by a lot of other mobile Linux projects such as Mobian and PostmarketOS.

In summary the Librem 5 is not worth the waiting time unless you’re in America where the lead-up time before shipping is 14 days instead of 6 weeks for the USA edition of the phone, the hardware is fine along with the software.

PinePhone/Pro

The original PinePhone lacks modern enough hardware to be a daily driver phone for most people.

The hardware dates back to 2008 for the GPU inside the PinePhone, a lot of modern programs and mobile interfaces are very sluggish along with the phone is prone to crashing when there is too much load on the 2GB model.

Using Sailfish helps slightly by being older and slightly closer to the specs of phones from the Nokia era that Sailfish emerged from. But I still wouldn’t buy a PinePhone if you’re looking for a daily driver phone. The PinePhone Pro on the other hand is a lot more powerful with a newer custom Rockchip SOC and more ram. It’s more than capable of being a daily driver phone when the software matures more. The battery life currently isn’t really great either.

Ultimately the battery life of both of these phones puts me off the most, and I wouldn’t recommend trying to daily drive the original PinePhone due to battery and performance concerns. Although they are a very good tinker tool for enthusiasts alike, they aren’t sufficient enough for a general consumer.

Running Linux on Android phones

In my opinion putting Linux on Android phones are your biggest bet currently, support using libhybris is great and most things work with a bit of effort from maintainers (thanks guys!).

So finally, without further ado, here are some of my recommendations for consumer-friendly Linux phones.

Pixel 3a/3a XL, Xiaomi Poco X3, and Volla Phone(s) (With Ubuntu Touch)

The Pixel 3a and Xiaomi Poco X3 are the best supported devices on the Ubuntu Touch device list, all of the features on the support matrix are working including the fingerprint sensor, proximity, NFC, MMS and video recording using the cameras.

I personally do not have either, but from videos that I have seen on YouTube Ubuntu Touch seems to run very well on both.

The Volla Phone series of phones are also a great choice, Ubuntu Touch are sponsored by the manufacturer Volla and their phones are promoted by Ubports, so you can be assured to get many Ubuntu Touch updates for this device, support isn’t at 100% but in due time I am sure will mature.

Sony Xperia 10 II/III/XA2 and Xperia X (with Sailfish)

This is by far the most polished experience you can get with a Linux phone, albeit a lot of the software is proprietary such as alien dalvik for running android apps and the actual interface. On the plus side is it a lot more focused on security and is built for “cooperate and government environments” in mind.

It uses libhybris like in Ubuntu Touch so hardware like fingerprint, proximity and gyro sensors are easier to get working on community ports (not saying that it’s that easy though, trust me, I’ve tried).

Overall, I would say this is a great one general consumers besides the fact you need to pay for money for more features for a “truly open” operating system.

The conclusion

The list of phones I can recommend that can run Linux that have the software maturity similar to an Android phone is few and far between. This is due to not having any experience using a lot of community ports of Ubuntu Touch, Sailfish and PostmarketOS.

Thanks for reading this article, and don’t forget to leave feedback!

--

--