James Stanley

Librem 5: first impressions

Mon 21 March 2022

In February 2018 I placed an order for a Librem 5. Today it finally arrived.

The Librem 5 does not run Android or iOS, it runs a proper Linux operating system (PureOS, derived from Debian). There are hardware kill switches for the baseband modem, the camera and microphone, and WiFi and bluetooth. The phone's main selling point is that it doesn't spy on you.

If you don't care that your phone is spying on you, then the Librem 5 is not for you. If your response to complaints like "the camera app is hard to use and can't take video" is "why don't you just buy an iPhone?" then you have totally missed the point. The Librem 5 is not in the same category of things as the iPhone. Anybody who would enjoy a Librem 5 would not be able to tolerate an iPhone (and vice versa).

The short version

(For context, my previous phone was a OnePlus One running Ubuntu Touch.)

The Librem 5 is a lot better than I had been led to believe. It's much faster and more responsive than the OnePlus One, and although I had heard a rumour that phone calls don't work, they work perfectly. Great success, good job Purism. If you are the kind of person who dismisses Android and iOS out of hand because you like freedom, then the Librem 5 is a good phone for you and you should buy it (but, again: if you don't care that your phone is spying on you, then the Librem 5 is not for you).

Notable parts that work:

Notable parts that don't work as well as they should:

The rest of this post is roughly a stream of consciousness of my thoughts as I first interacted with the phone.


It's big. It's heavy. The outer casing is aluminium, I expected plastic.

It takes USB-C, which is annoying, as I like to live in the past. The charging cable has USB-C on both ends which means it's not possible to charge from my normal USB charging dock, so I have to use the bundled UK-to-USA-to-USB power adapter. The UK-USA plug adapter feels sturdier than some that I've used, but not as sturdy as a real 3-pin plug. The USB-C cable is very chunky, I'm not sure if this is a good sign as it carries lots of power, or is just to fit with the aesthetic of the rest of the phone.

It asked me for a disk encryption passphrase. At first it wasn't clear whether it was asking me to set a passphrase, but no. The default passphrase is "123456", once you type that in it boots up.

It seems fast. It booted faster than I expected. I can't drag down from the top bar to access the WiFi setup. How do I WiFi? Oh, you have to single tap on the top bar, not drag. I need to get used to that. On Ubuntu Touch you have to drag everything.


Before I got very far a box popped up asking me to configure backups. It's not clear on whether they are local or remote, and who would be hosting them if remote. Normally I would ignore this popup, especially on a phone, but today I'll play along.

Once you've agreed to backup your data, you now get to decide where you want to store it: Google Drive, "network server", or "local folder". What are the chances it supports sshfs?

I tried an "ssh://" protocol as the "network server", and it says "Unable to find supported SSH command". So... it kind of supports sshfs? Except not? It knows what it is.

Input & Launcher

I could do with more oomph on the vibrate when you press the keyboard. It feels a bit vague. It's more noticeable when you're holding it in your hands than when it is sitting on the table.

The space bar is very close to the little arrow at the bottom of the screen that loads up the app launcher. So if you are not careful then it pops up the app menu while you're typing.

The app launcher only uses a third of the screen if there are any apps open, this is annoying. The top third of the screen is wasted on some sort of alt-tab-style view, with no way to get rid of it other than closing all the windows. The bottom third is wasted on a keyboard for typing into the search box, so you're left with only 2 rows of icons visible.

"Parental Controls" doesn't work. It shows a splash screen, spins for a couple of seconds, and then closes.

The Settings tool has an obvious option for whether I want my primary mouse click to be the left button or the right button, but no apparent option at all for how much haptic feedback I want from the keyboard.

Backups, again

Oh, there is a helpful help icon in the "network server" box on the backups thing that tells you what the URI should look like. It is a question mark inside a rectangle, so for me it pattern-matched "this unicode character does not exist in this font" rather than "click here for help". There is nothing to indicate that it is clickable despite the rest of the UI being the 3d style where it's obvious what is clickable and what is not.

The help text confirms that I typed my "ssh://" URI correctly, I wonder why it didn't work.

Aha, SSH isn't installed. In a terminal I get bash: ssh: command not found. That'll do it. I installed SSH.

Wow, it's working! It asked me for my SSH password, now it's having me setup some sort of password keyring. On the first try it tried to write to /pureos on the remote server, but after I changed it to /home/jes/pureos it actually worked. It backed up the phone to a network server without any rando Silicon Valley megacorp getting their grubby mits all over the data. Kudos, I did not expect that.


There is no Telegram app in the PureOS store, however there are a few in apt. I wonder if they will actually work on the phone screen or if they're just normal desktop programs. I installed telegram-desktop with apt and it automatically shows up in the app launcher, which is a good sign, although it doesn't work.

Telegrar: Welcome to the officia. It's fast.

I mean, maybe it works, but all the input elements are off the screen and I have no way to scroll. I'll use the browser instead. Web Telegram worked on the first try, and there is even an option in the browser to install the site as an application, which adds it as an entry in the app launcher.

When I open it from the launcher it has forgotten my cookies so I have to reauthenticate, but after I've done this I can quit it and reopen from the launcher and it remembers me now. So this is satisfactory.


There's no obvious way to type a tab character in the terminal. However there is a way to type a square root symbol, a pi character, and a tau character. Very useful in my terminal sessions.

Aha, found it. If you click >_ next to the space bar it takes you to a page of characters like Tab,Ctrl,Esc, etc.


Email was completely uneventful. I loaded up Geary, typed in my account details, and it worked straight away. Great success, no complaints. And "remote images not shown" is default behaviour, as it should be.


Yay, now it has notified me that I have OS updates to install, one of my favourite tasks.

It's getting a bit warm. However, so is my other phone and I haven't even been using that one, very suspicious. I only used it to take the photo of the Telegram app. Maybe mere proximity to a Librem is enough to trigger remote surveillance in other phones?

It can't seem to work out whether it has downloaded the updates or not. There is a button that said "Download" at first, and then I click it, and it changes to something like "Update & Restart", but before I have a chance to click it it turns back into "Download".

Sod it, I'll use the terminal. I sudo apt upgrade and then reboot the phone. It takes about 9 seconds from unlocking the disk to fully booting the phone, very impressive. Admittedly it takes about 10 seconds to unlock the disk, not sure what that is all about.


The camera is very dark. At first I thought it had some debugging prints overlaid on top of the picture preview, but it turns out this is the camera UI. You click on the number next to "gain", "exposure", "balance", or "focus" (focus only available on the back camera) and you get a slider to adjust the corresponding camera property.

I took that with the Librem camera. Better quality than I had been led to believe.

The camera app was slow, it took a very long time to save the picture.

Hmm, I don't think it can record video.

I briefly entertained the idea that manually controlling the focus is good, because I frequently struggle to get my OnePlus One to focus properly, but no, it's not good, it's just annoying. It's more annoying than struggling with the autofocus on the OnePlus One.

Later in the evening I was showing off the camera to Emma, but by this time it was a bit darker, and this was the best I managed to do:

It's possible that I blundered the settings, but the camera definitely seems to struggle in low light conditions.


The pinch zoom on the maps app is really laggy. It also doesn't seem to understand postcodes.

It can do routing on the map, but the UI disappears off the right hand edge of the screen so there's no way to confirm that you want to start following the route. If you unlock screen rotation and make it landscape it no longer disappears off the right edge, but now it disappears off the bottom edge. Has anybody tried to use this?

Mobile network

I put a SIM card in the phone and opened up the phone app. It says "Can't place calls: No modem or VoIP account available". At first I thought this was just the natural order of things, because I thought calls didn't work, but Emma suggested rebooting it to see if that fixed it. I played along, but I knew it wouldn't help.

OK, I rebooted it and now it is showing a 4G symbol in the top bar. Could it be...? Wow, calls work! In both directions. Worked on the first try, incredible technology. Just make sure you reboot so that it knows you've installed a SIM card.

It makes a sound effect when an SMS is received, this is bad. I can't find an option to turn off notification sounds short of turning the volume down to 0. It sounds like if I ever listen to anything, I need to remember to turn the volume down to 0 afterwards otherwise my phone might be able to make noises. I don't like it when things make noises.

There doesn't seem to be a way to bulk-import contacts. Maybe this is a terminal window jobby.

4G worked after I typed in the APN settings for giffgaff. Hosting a WiFi hotspot works. It seems to take a long time to successfully switch from 4G to WiFi, I don't know why. Once it is connected it works fine, just seems to take a couple of minutes to connect to WiFi once you've switched 4G off.


The browser has no "stop" button.

YouTube is popping up its first-run "you need to agree to our terms" modal, but all the text and buttons are invisible. I tapped around a bit and it's worked now. I'm in YouTube. Video playback on YouTube works first try, great success.

Ah, but fullscreen doesn't do anything. It just stays non-fullscreen.

I wonder if Slack works. I'm guessing not because Slack won't let you use it if you don't have an authorised User-Agent string. Indeed, it doesn't work.

I can't open links in a new tab. Long press pops up a menu that includes the option, but in order to select the option I need to let go of the screen, and when I let go the menu disappears. Holding my finger on the screen and dragging it to the option also doesn't work.


Graham told me I can get Firefox with the firefox-esr package. I did, and Slack works in Firefox, albeit very slowly.

Opening links in a new tab works in Firefox. Fullscreen video works in Firefox.

Ben remarked that it is weird that the default browser isn't just Firefox.


I'm glad the phone has finally arrived. I think it's a lot better than most people are saying. From reading the r/Purism subreddit you'd get the impression that the phone doesn't work and everyone is asking for a refund. It's certainly better than my OnePlus One, with the exception of the camera, and possibly the battery life.

I very rarely take my OnePlus One anywhere with me unless I know I'm likely to need it, because I reject on principle the notion of carrying an always-on tracking beacon that logs my movements in the phone companies' databases. With a hardware kill switch for the baseband modem, I can now carry the Librem 5 around without having to care about that, and I'm able to turn it on as and when I want to make a call or use 4G.

Maybe I'll try to fix some of the little annoyances with the phone (the "please take me to the launcher" arrow being mere pixels away from the "please input a space" button seems likely to be an easy fix). And hopefully the battery life isn't too awful.

If you like my blog, please consider subscribing to the RSS feed or the mailing list: