Google and Apple have come to dominate the smartphone space in recent years, but there are a small (but growing) number of phones that ship with GNU/Linux-based operating systems instead.
At the same time, there a growing number of Linux distributions designed to run on smartphones. There are currently at least 17 different software releases available for the PinePhone, for example. Some of these operating systems are designed for a specific device (like the PinePhone), while others, like Ubuntu Touch or postmarketOS can also replace Android on many existing smartphones from Samsung, Motorola, OnePlus, Xiaomi, FairPhone, and others.
But as of mid-January, 2021 most Linux distributions for smartphones are very much a work in progress. Some features may not work. You may not be able to run the apps you’re used to using with other operating systems. And some of the best phones designed to run Linux are very much aimed at open source enthusiasts rather than the general public.
The rapid progress of Linux smartphone software development has been fascinating to watch, and Linux phones can be a lot of fun to tinker with, which is why I started this website to focus on this new and exciting space in the smartphone market. It might not be long before some of the Linux distributions mentioned in this article are truly viable alternatives iOS and Android, at least for some users.
But should you buy a Linux phone to replace your iPhone or Android phone? Maybe. But for most people, the answer is probably not. Or at least not yet.
How do I buy a Linux phone?
As of January, 2021 there are a handful of ways to buy a smartphone that ships with a GNU/Linux distribution pre-installed.
The most affordable option is to buy a PinePhone. With prices ranging from $150 to $200, this is a budget smartphone with entry-level specs.
Pine64 sells the PinePhone in batches, and right now the version available for purchase is the PinePhone KDE Community Edition, which ships with the Manjaro Linux operating system and the KDE Neon user interface. But you can also try other operating systems by loading them on a microSD car or writing them to the phone’s built-in eMMC storage.
In addition to supporting Linux-based operating systems, the phone has some special features including hardware kill switches that let you physically disable the mic, cameras, and wireless features when you’re not using them.
Note that in addition to taking orders in batches, Pine64 ships its phones in batches as well. That means the KDE Community Edition of the phone will be available for a limited time and once it sells out, it may be a while before a new version of the PinePhone with different software is available.
Pine64 plans to begin shipping the KDE Community Edition to customers January 18, but if you place an order today it may be several weeks or longer before your phone arrives.
And once it does, you may or may not find it a viable replacement for an iPhone or Android device. See the section below for more details.
If you’re looking for a phone with somewhat better specs, the Purism Librem 5 has a faster processor, but it still has a fairly modest 3GB of RAM and 32GB of storage. It’s also a much chunkier phone and costs a lot more – the Librem 5 is available for purchase for $799.
Shipping for this phone also takes even longer. Orders placed today won’t actually ship for months, which means you could be waiting for this phone for a while.
The Librem 5 ships with PureOS, a custom Linux distribution developed by Purism, the company that makes the phone. It features a user interface called Phosh (short for “phone shell”) and it’s basically what you get if you take a desktop operating system, add support for mobile features like phone calls and text messaging, and pare the interface down to something that fits comfortably on a 5.7 inch touchscreen display.
Like the PinePhone, the Librem 5 has hardware kill switches for camera and wireless features. And like the PinePhone, you’re not stuck with the operating system that ships with the phone. You can install alternate operating systems as well.
One nifty thing about both of these phones is that if you connect a monitor or TV using a USB-to-HDMI adapter, you can also use them as tiny desktop computers by running desktop-style applications on the big screen. Just don’t expect them to be very fast desktop computers.
There are also a handful of other phones that ship with Linux-based operating systems, but they’re generally a little different in that only a single Linux distribution is officially supported.
For example, the F(x)Tec Pro1-X smartphone is also available with a choice of Android or Ubuntu Touch. But there’s no official supported for other operating systems, and this phone which sells for $649 is a limited edition device that will only be available for a little while longer. The normal F(x)Tec Pro1 ships only with Android.
And you can buy a Volla Phone for about $439 and it should ship in February. The phone is available with a choice of Android or Ubuntu Touch operating systems. You can also install the Linux-based Sailfish OS if you’d like, but that’s a community-supported build of the operating system rather than something officially supported by the phone maker.
Should I buy a Linux phone?
If you’re a tech-savvy early adopter who’s willing to work with buggy software and a limited set of apps, sure. If you’re a programmer who can help make those apps and operating systems better? Definitely. But you might want to use it as your second device rather than as you primary phone.
Because if you need a phone that’s 100-percent reliable, gets stellar battery life, has no issues with phone calls and text messages, takes excellent photos, runs all the apps you want, and generally “just works” out of the box the way Android and iOS (usually) do, that’s not something that’s really available as of January, 2021. So you may want to wait a while to see if Linux for smartphones becomes a little more foolproof and user friendly in the future.
Linux distributions like Ubuntu, Manjaro, Fedora, Mint, and MX have been viable alternatives to desktop operating systems like Windows and macOS for decades. But while they’ve become more user-friendly in recent years, in the early days they were best suited for technically-minded users who didn’t mind spending time opening a terminal window and using command line tools to troubleshoot problems.
Linux for mobile devices is still in the early stages of development, which means that running Linux on a phone today is a little like running Linux on a PC fifteen or twenty years ago.
Even phones that ship with Linux, like the PinePhone and Librem 5 tend to come with software that’s very buggy. For example, the first PinePhones shipped without any camera software. The phones have front and rear cameras, but there was no way to use them until developers started to create camera apps… and the best camera app for the PinePhone is still buggy, crash-prone, and doesn’t always take very good pictures.
Sleep and resume are also an issue – while battery life for the PinePhone isn’t as bad as it was a few months ago, in order to allow the phone to enter a deep, battery-saving sleep mode, many Linux distributions for the phone have had a hard time implementing techniques that allow the phone to wake quickly in response to an incoming phone call. By the time the phone recognizes that you’re receiving a call, wakes up, and rings to alert you, you may end up missing the call.
For an overview of what works and what does not work with some popular Linux distributions for the PinePhone, check out this software releases/feature matrix at the PinePhone Wiki.
Early reviews of the Librem 5 suggest the software for that phone isn’t in much better shape.
And there’s a huge app gap. While there are thousands of Linux applications that can technically run on devices with ARM processors like these smartphones, few of them are optimized for small, touchscreen devices. Many of the most popular apps available in the App Store and Google Play do not have official counterparts available for Android phones.
That said, many of those apps do also have web versions. And most Linux smartphone operating systems come with web browsers such as Firefox, Morph, or Angelfish which may allow you to use web apps instead of native apps.
Some Linux distributions also support a tool called Anbox, which allows you install an Android environment that runs within Linux so that you can run some (but not all) Android applications. If you need a specific app like WhatsApp that may not have a native Linux or web version, this may help. But it can be tricky to set up and use and not all Android apps will work properly.
For a brief overview of what it looks like when you actually run Linux on a supported phone like the PinePhone, you can check out our YouTube playlist featuring hands-on overviews of several recent builds of operating systems including postmarketOS, KDE Neon, and Manjaro:
So to reiterate, if you’re a programmer looking to develop Linux software for phones or a tech-savvy early adopter looking for a fun toy to tinker with, by all means, buy a Linux smartphone. But as of January, 2021 I believe a very small number of people are using Linux phones as their primary smartphones and anyone expecting a phone that “just works” is probably going to be disappointed with the current state of Linux smartphones.
Developers have been making rapid progress in improving the user experience for Linux phones, so there is a good chance that if you do buy a Linux mobile device like the PinePhone or Librem 5, it will get better over time. But if you want better hardware (like a faster processor, better camera, or higher resolution display), you may still want to wait for different phones to come along.
Is there a way to try before I buy?
Several mobile Linux distributions can be installed on phones that ship with Android, giving you a way to use the software on a phone you may already have.
A few things to keep in mind:
- Not all phones are supported. Developers generally have to add support for each specific device to their installers, but if you’re tech-savvy enough you may be able to create an unofficial port of the operating system for your device.
- You’ll need to know how to unlock the bootloader on your Android phone.
- You will probably void your warranty by replacing the operating system and you will almost certainly end up wiping all data from your phone, so make sure to back up any important files before starting.
Here are a few operating systems that can be installed on many Android phones:
- Ubuntu Touch (download the installer, see a list of supported devices)
- postmarketOS (read the installation guide, see a list of supported devices, run it in a virtual machine on your PC)
- Sailfish X (only a handful of devices are officially supported)
- Maemo Leste (view a list of supported devices and click the links for device-specific installation guides)
And if you just want to find out whether there’s a Linux installer for your particular phone, check out the TuxPhones.com database of 200+ phones that can run one or more Linux distributions.