A Linux phone that sleeps through an incoming call is not ready to carry your only number. That one failure still decides which of these devices you can trust. The best Linux phone in 2026 is the one whose modem, suspend and call audio work together on your carrier, not the one with the most open hardware. Furi Labs gets that balance closest with the FLX1s+, the Librem 5 keeps the strongest privacy hardware, and the PinePhone family plus a handful of used postmarketOS phones remain hardware for people who patch things themselves.
We rank the phones you can buy new, then used phones that run postmarketOS, renamed Nura on 27 September 2026. With no phones on the bench, we checked calls, SMS, MMS, data and battery against vendor pages, Nura data and hands-on reports. All of it was checked in October 2026 against Nura v26.06, with images built on an Ubuntu 26.04 lab VM, so the package versions quoted here are the ones that land on the phone.
The short list of Linux phones
Pick by the failure you can least tolerate. A phone that drains in an afternoon is a nuisance; a phone that misses calls while suspended is a risk if anyone depends on reaching you:
- Best daily driver: Furi Labs FLX1s+. Its FLX1s sibling was measured under half a watt while online, it ships with Phosh on Debian, and it’s in stock at about $499 (check the live price).
- Best privacy hardware: Purism Librem 5. It has a modem on a removable M.2 card, kill switches and a user-replaceable 4,500 mAh battery, priced around $799 and listed on backorder.
- Cheapest new entry point: PINE64 PinePhone Beta Edition. At roughly $200 with the convergence dock, it is a tinkering device, not a primary phone.
- Best in Europe: Volla Phone Quintus with Ubuntu Touch. It is sold with Ubuntu Touch installed, but on the older 20.04 base, and Volla only ships to the EU, EFTA countries and the UK.
- Best used phone for Nura (postmarketOS): OnePlus 6 or 6T. Both sit in the community category, run a mainline kernel and cost little second-hand.
The PinePhone Pro is missing from the awards on purpose. PINE64 lists it at about $399 but marks it out of stock, and the only offer on its category page is an EU-only refurbished unit with no returns. The one hands-on power test we found had it burning 3.0 W while online. Buy it only if you already know you want to work on the RK3399 port.
How these phones were judged
Every phone was scored on the five functions that make a phone a phone: voice calls (including whether they ring through suspend), SMS, MMS, mobile data and how long the battery lasts with the modem attached. Specs, prices and stock come from each shop page. We fetched them on 29 October 2026. Feature status for postmarketOS devices comes from the Nura device pages and from the pmaports tree that pmbootstrap 3.12.1 checks out, because that tree is what decides which category a phone is built under.
We did not have any of these phones in hand. What we could test, we did: on a lab VM we built full Nura v26.06 Phosh images for the OnePlus 6 and the PinePhone Pro, then read the exact call, SMS and MMS stack that gets installed. Battery numbers come from Russell Coker’s side-by-side FLX1s, Librem 5 and PinePhone Pro test, the only published measurement we found that put three of these phones on the same network at the same time. Treat any claim below that cites a vendor alone as a claim, not a result.
What works on each Linux phone
Calls and SMS work on most of these phones; the differences are in suspend, MMS and battery. “Partial” in the Nura columns is the project’s own rating for the feature on that device:
| Phone | OS / status source | Calls | SMS | Mobile data | Battery evidence | Price and stock (Oct 2026) |
|---|---|---|---|---|---|---|
| Furi Labs FLX1s+ | FuriOS 14.1.0 | Furi Labs claim for FuriOS, VoLTE included | Furi Labs claim | Furi Labs claim | 0.39 W online on the FLX1s sibling (Coker) | About $499, in stock |
| Purism Librem 5 | PureOS | T-Mobile supported; AT&T and Verizon not | Not confirmed | On supported networks | 2.6 W online (Coker) | About $799, backorder |
| PINE64 PinePhone Pro | Nura v26.06, community | Partial, missed in suspend | Partial, missed in suspend | Works | 3.0 W online (Coker) | About $399, out of stock |
| PINE64 PinePhone | Nura v26.06, community | Not confirmed | Not confirmed | Not confirmed | Not measured | About $200 with dock, in stock |
| Volla Phone Quintus | Ubuntu Touch 20.04 (focal) | Works per UBports; VoLTE experimental | Works per UBports, MMS included | Works per UBports | 24+ hours per UBports | About EUR 719, EU/EFTA/UK only |
| OnePlus 6 / 6T | Nura v26.06, community | Partial | Partial (6) / Works (6T) | Partial (6) / Works (6T) | Works (Nura rating) | Used market |
| Google Pixel 3a | Nura v26.06, community | Partial, VoLTE experimental | Works | Works | Partial (Nura rating) | Used market |
| Fairphone 5 | Nura v26.06 testing; Ubuntu Touch | Partial on Nura | Works | Works | Works (Nura rating) | Used or third-party only |
Read the battery column first, because it explains most of the rest. Coker kept the PinePhone Pro and Librem 5 awake with caffeine mode so they would hold their SSH sessions. Without it both drop Wi-Fi and go to sleep, and on the PinePhone Pro that sleep is exactly when the Nura wiki says calls and texts stop arriving.
Treat the FLX1s figure as coarse. It rests on a 1% battery drop over 93 minutes, and Coker himself noted that 0.39 W should have used closer to 4% of the battery. He also saw the same reported draw with and without caffeine mode.
The FLX1s family draws so little because FuriOS runs the vendor’s Android kernel and drivers, which already know how to keep the MediaTek modem alive at low power. That same choice is the FLX1s+’s weakness, covered in its section below.
MMS gets no column of its own because the evidence is thin. UBports lists MMS in and out as working on the Quintus, and every Nura image we built ships mmsd-tng 2.6.4 and Chatty 0.8.9, so the software path exists on all the postmarketOS phones. No Nura device page or hands-on report we could reach confirmed picture messages in and out on a named carrier. If group texts and photos from family matter to you, test them on a SIM you can afford to lose for a week before porting your main number.
Furi Labs FLX1s+: the one you can daily drive
The FLX1s+ is the Linux phone with the fewest daily surprises, because it doesn’t try to run a mainline kernel on hardware that isn’t ready for one.

Furi Labs builds FuriOS on Debian with Phosh as the shell, and borrows the Android drivers through the same approach Droidian uses. The FLX1s+ pairs a MediaTek Dimensity 900 with 8 GB of RAM, 128 GB of UFS storage, a 6.7-inch 1600×720 90 Hz screen and a 5,000 mAh battery. Its LTE band list covers B2, B4, B5, B12, B13, B17, B25, B26, B66 and B71, which on paper spans the main US networks. The FLX1s+ page itself makes no telephony promises; on its FLX1 page, Furi Labs says VoLTE, MMS and SMS are built into FuriOS. Three hardware switches cut the microphone, the modem with GPS, and the camera.
FuriOS 14.1.0 shipped on 28 October 2026 with mobile data carrier fixes and updates to Andromeda, the container that runs Android apps.
Who it is for: someone who wants a Debian phone they can SSH into, with Android apps as a fallback for the one banking app that has no Linux client. Skip it if you want a mainline kernel you can audit. Coker called the Droidian-style design underneath “inherently fragile”, and saw three processes stuck in uninterruptible sleep after a clean boot plus a 5 GHz Wi-Fi bug in his January review.
Order support is the other thing to watch. Coker’s order sat on hold from October because a confirmation email never reached him; once he contacted support on 5 January the phone arrived on 13 January, but without its SIM tray, so he couldn’t test SMS or VoLTE.
Price is about $499 on the Furi Labs shop (check the live price), with a bundle at about $608 that adds a case, screen protector and the Convergence Hub. Shipping is a flat fee of about $27 per 500 g, and customs and VAT are on you. The USB-C port is USB 2.0 without DisplayPort alt mode, so a cheap HDMI dongle won’t give you a desktop. The route Furi Labs offers is the DisplayLink-based Convergence Hub, which it bundles with the FLX1s+, even though the hub’s own product page still lists only the FLX1 and FLX1s.
Purism Librem 5: kill switches and a modem you can pull
The Librem 5 is the phone to buy when the threat you care about is the phone itself. It runs PureOS on an i.MX8M, and its modem is a separate M.2 card you can remove or replace instead of a radio soldered into the system chip.

The spec sheet is old: 3 GB of RAM, 32 GB of eMMC, a 5.7-inch 720×1440 screen, and a Broadmobi BM818 modem. What you pay for is control. There are hardware kill switches, a smartcard reader, a microSD slot and a battery you can swap without tools. The carrier table Purism publishes is blunt about the US: T-Mobile and several of its MVNOs work, while AT&T and Verizon are listed as unsupported (AweSIM, which rides on AT&T, is the exception they name).
The shop also warns that North American orders currently ship with an alternate modem because of an A1 modem shortage, with a replacement sent free on request. Purism calls its carrier table general guidance, and it may not describe the modem a US buyer receives, so ask Purism which modem your unit carries before you rely on it.
Buy it if you’re a journalist, on a security team or simply want to cut the radio with a switch rather than a setting. Look elsewhere if you’re on AT&T or Verizon postpaid, or if battery life matters more than isolation, since Coker measured it at 2.6 W while held awake. Stock is unclear: the shop lists the Librem 5 at about $799 as “available on backorder”, while the Purism product chart says ten business days. The Liberty Phone, at about $1,749, is the made-in-USA variant and was also on backorder when we checked.
PinePhone and PinePhone Pro: hardware for people who patch
PINE64 sells hardware and leaves the software to the community, and that model has held up better for the original PinePhone than for the Pro.

Both phones use the Quectel EG25-G modem, and both are in the Nura community category. The PinePhone Pro image we built pulls in eg25-manager 0.5.2, the daemon that manages that modem, alongside ModemManager, Calls and Chatty. The Nura wiki rates calls and SMS on the Pro as Partial with a specific failure: the phone does not receive them while suspended. Coker also reported the Pro’s camera not working on Debian in January 2026, while the Nura wiki says both cameras work with Snapshot and GNOME Camera, so camera support depends on which distribution you flash.
PINE64 phones suit developers who want a cheap, well-documented ARM phone to run Nura, Mobian or Sailfish on, and who keep a second phone for real calls. Skip it if this would be your only phone. The PinePhone Beta Edition with the convergence package is about $200 and in stock, while the bare Beta Edition is out of stock. The Pro is listed at about $399 but is out of stock apart from an EU-only refurbished unit.
Volla Phone Quintus: Ubuntu Touch from the factory
Volla sells its phones with either Volla OS (Android based) or Ubuntu Touch, so you can buy a Linux phone in Europe without flashing anything.

The Quintus uses a MediaTek Dimensity 7050 with 8 GB of RAM and 256 GB of storage. Like the FLX1s+, Ubuntu Touch on it relies on the Android hardware layer rather than mainline drivers. The catch is the release: the UBports device page says the Quintus is not supported by the current Ubuntu Touch release, and its only build is the outdated 20.04 (focal) line. On that build UBports marks calls, SMS, MMS, mobile data and 24+ hour battery as working, and VoLTE as experimental depending on carrier and region.
Volla only delivers to the EU, EFTA countries and the UK, which settles the question for most US readers. There is no supported Android app layer either: Volla says Ubuntu Touch is not Android compatible, and the UBports device page rates Waydroid as partial, so plan around the OpenStore.
European buyers who want a factory-installed Linux phone with a modern chipset should start here, accepting that it runs an older Ubuntu Touch base until UBports ports the current release. Pass on it if you rely on one Android-only app, or if you live outside Volla’s delivery area. The Volla shop listed the Ubuntu Touch edition at about EUR 719 when we checked, so check the live price.
Used phones that run Nura (postmarketOS)
Nura, the project formerly called postmarketOS, is Alpine-based Linux built for old phones, and its own state page tells newcomers to start with a second-hand Snapdragon 845 or MSM8916 device. The category a phone sits in matters more than its specs. Counted straight out of the v26.06 pmaports tree (the command is in the build section below), 41 device packages sit in community, 254 in testing and none in main.
An empty main category is not an error. Nura moved the PinePhone and Librem 5 out of main with v24.12. On 29 September 2026 it redefined main as fully mainline ports that boot through UEFI and use the generic kernel, with calls, SMS, data, Wi-Fi, audio, charging, Bluetooth and camera working. The three candidates named for that push are the Fairphone 5, the Motorola Edge 30 and the Radxa Dragon Q6A board. Until one of them lands, community is the best rating a phone can have:
- OnePlus 6 (
oneplus-enchilada) and 6T (oneplus-fajita) are in community, and the 6T is rated Works for SMS and data. - Google Pixel 3a (
google-sargo) is in community, with VoLTE through an experimental service that can fail when roaming. - Xiaomi Poco F1 (
xiaomi-beryllium) and SHIFT6mq (shift-axolotl) are in community; we could not reach their current feature tables. - Fairphone 5 (
fairphone-fp5) is still in testing on v26.06, and its new call audio routing has only landed in edge.
The OnePlus 6T is the pick if you can find one, because it is the only phone on that list rated Works for both SMS and mobile data. Fairphone’s own shop now leads with the Gen 6, which Nura only builds on edge, and Fairphone discontinued the Fairphone 5 on 12 January 2026, leaving only leftover retail stock, so a used FP5 is the sensible route. Before you buy any used phone for this, check that the bootloader can be unlocked.
A carrier-locked Pixel 3a is cheap for a reason. Our GrapheneOS phone guide covers why carrier variants are a dead end for alternative operating systems.
A Nura image built before the phone arrives
You can see exactly what will run on a postmarketOS phone before buying it, because pmbootstrap builds the whole image on an x86 machine. That is how we read the call stack above. Ubuntu 26.04 packages pmbootstrap 3.9.0, three minor releases behind, so we cloned the current tag instead:
git clone --depth 1 --branch 3.12.1 https://gitlab.postmarketos.org/postmarketOS/pmbootstrap.git ~/pmbootstrap # https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/tags
mkdir -p ~/.local/bin
ln -s ~/pmbootstrap/pmbootstrap.py ~/.local/bin/pmbootstrap
Run it as your normal user, not root, since pmbootstrap refuses to run as root and uses sudo only for the steps that need it. On a fresh Ubuntu account ~/.local/bin is only added to PATH at login if it already existed, so add it for this shell before the version check, which should print the tag you cloned:
export PATH="$HOME/.local/bin:$PATH"
pmbootstrap --version
Ours reported:
3.12.1
Initialise the work directory next. It is interactive: pick channel v26.06 (the current stable release), vendor oneplus, codename enchilada and user interface phosh, and accept the defaults for the rest. The device prompt prints the category beside each codename, which is the quickest way to check a phone before you buy it:
pmbootstrap init
For OnePlus, only the 6 and 6T came back as community; everything else was testing:
Available devices by codename (14): bacon (testing), billie2 (testing), cheeseburger (testing), dumpling (testing), enchilada (community), fajita (community), guacamole (testing), hotdogb (testing), instantnoodlep (testing), kebab (testing), lemonade (testing), lemonadep (testing), oneplus3 (testing), oneplus3t (testing)
Init also clones the pmaports tree, which is where the category counts earlier in this guide came from. Count the community ports yourself (swap in testing or main for the others):
ls ~/.local/var/pmbootstrap/cache_git/pmaports/device/community | grep -c ^device-
On the v26.06 tree that printed 41, and the same count for testing printed 254:
41
Then build the image. The -y flag answers the confirmation prompts, and --password sets the login PIN for the default user; 147147 was our throwaway, so use your own:
pmbootstrap -y install --password 147147
On a 4-core VM the build took 9 minutes 38 seconds, most of it installing aarch64 packages under QEMU emulation, and the rootfs came to 1,188 packages.
Export the flashable files, then read the release file inside the rootfs and count its packages to confirm what the phone will boot:
pmbootstrap export
pmbootstrap chroot -r -- cat /etc/os-release
pmbootstrap chroot -r -- apk info | wc -l
ls -lhL /tmp/postmarketOS-export/
The OnePlus 6 build reported this:

The rootfs still identifies itself as postmarketOS v26.06, because the rename hasn’t reached the packages yet. The flashable oneplus-enchilada.img is 2.2 GB with a 28 MB boot.img beside it. Inside it sit the pieces that decide whether calls work: ModemManager 1.25.95, GNOME Calls 50.0, Chatty 0.8.9, mmsd-tng 2.6.4, callaudiod and q6voiced for Qualcomm call audio, on a linux-postmarketos-qcom-sdm845 7.1 release-candidate kernel. That last detail is worth weighing: even the stable channel tracks a very new kernel on this phone, so regressions arrive with updates.
pmbootstrap prints the flashing commands (pmbootstrap flasher flash_rootfs and flash_kernel) at the end of the install. We didn’t run them because no phone was attached. You will need fastboot installed on the host for that step.
To compare a second phone, we re-ran pmbootstrap init with vendor pine64 and codename pinephonepro and repeated the install. With a warm package cache the PinePhone Pro build took 4 minutes 9 seconds and came to 1,152 packages, including eg25-manager for its Quectel modem. Exporting it is where the next error showed up.
ERROR: File exists: /tmp/postmarketOS-export/initramfs
Building a second device in the same work directory and exporting again failed on our PinePhone Pro run with that error, because the first device’s symlinks were still in the export folder. Clear it before each export:
rm -rf /tmp/postmarketOS-export
pmbootstrap export
The retry wrote a 2.9 GB pine64-pinephonepro.img and no boot.img this time; the PinePhone Pro export carries only the disk image, kernel, initramfs and device trees. Budget disk space as well: after two device builds the pmbootstrap work directory held 9.4 GB.
The parts that decide whether a Linux phone works
Specs barely predict how a Linux phone behaves. These are the things that do, roughly in the order they cause trouble:
- Your carrier is listed as supported for that modem, and voice runs over VoLTE on it.
- Calls and SMS arrive while the phone is suspended, not only while the screen is on.
- MMS sends and receives on your carrier, including group messages.
- The kernel path is clear: mainline (Nura images) or a vendor Android kernel (FuriOS, Ubuntu Touch on Volla).
- Emergency calls have been tested by someone on your network.
The kernel path is the trade-off underneath everything else. A vendor Android kernel gives you working power management and a modem that behaves like it does on Android, which is why the FLX1s family wins on battery. The price is a kernel nobody upstream maintains. A mainline kernel can be patched and audited like any Linux server, at the cost of the suspend and call-audio gaps the community is still closing.
The emergency-call line isn’t paranoia either: the Nura Pixel 3a page records a user report of emergency calls failing. If you need Android apps on a mainline phone, Waydroid covers part of the gap, and our Waydroid guide shows how it runs on a desktop first.
If a phone is the wrong form factor for what you want to run, the Linux tablets we track carry the same Phosh and Plasma Mobile shells without the modem risk. The Snapdragon laptop status page shows how far mainline Qualcomm support has come on bigger devices.
Checks before you port your number
Run these on a spare or prepaid SIM for at least a week. Each one has to hold before the phone gets your real number:
- An incoming call rings after the phone has been suspended for 30 minutes with the screen off.
- Both sides hear each other on a call, through the earpiece and through a Bluetooth headset.
- An SMS sent while the phone sleeps arrives within a minute of being sent.
- A picture message and a group message from an iPhone and from an Android phone both arrive.
- Mobile data reconnects after airplane mode and after a reboot without manual steps.
- The battery lasts from morning to night with the modem on and your usual apps running.
- Updates install and the phone still makes calls afterwards.
- Your banking, two-factor and transit apps run, natively or through Andromeda or Waydroid.
If item 1 or 4 fails, keep the Linux phone as a second device and leave your number on a hardened Android phone for now. The checklist is the same whichever phone you pick, and it is the fastest way to find out whether your carrier, not the hardware, is the problem.