Constructive criticism (and review) of Purism and the Librem 5

This will also go via their feedback e-mail, but I will leave this here for the benefit of the community. I will cover hardware, software and Purism PR. The Librem 5 has been my daily driver for a couple of months now and I’ve been to different countries with it. I am an awful programmer, but a very experienced sysadmin. I’ve spent 6 months reading everything about the Librem 5 (including every single blog post by Purism and all I could find on the Internet).

I am referring here to the evergreen batch.

Quick conclusion

I love my Librem 5 and I haven’t been this excited about technology since the days of Windows CE handhelds. It’s amazing to finally OWN a pocket computer that will just run WHATEVER I want to run in it, to be able to prototype small applications to help my life in a few minutes and to actually be able to know what is running in it at all times.

The hardware is discreet, yet effective. Linux is a known old (but difficult) friend. The phone is fine and the user experience is fine, and I love it for that. It won’t have all the sensors of an iPhone, or a 3D camera with a 600Hz screen, or a 7 day battery life but I need none of these things. I have a real camera to take pictures. I prefer to game on a PC.

As a communications and productivity device, the Librem 5 nails it. I can easily work remotely using VPN and a Terminal, edit documents anywhere using an external screen. Calling via Signal and Skype works fine under Waydroid. My contacts are synced via DAV. I can send and receive messages fine. Connecting it to an external screen gives me GIMP, GNOME Builder, a desktop-class web browser and I don’t need to carry my laptop anymore when I know the place I am going to has a monitor available.

The Web browsing experience is also fine. GNOME Web has a more pleasant interface, but it’s way slower than Firefox. Firefox, however, wastes more screen real estate. Right-clicking and using menu options sometimes results in flickering and misclicks. Tweaking Firefox settings is a must for a good experience, but you must know what you are doing and what you are looking for.

The Librem 5 it’s not yet on a level I could recommend it to the non-tech-savvy. Some of my friends got really interested in it but just don’t have the skills to go around the issues (the same reason why they haven’t yet left Windows behind on their computers). Purism is nearly there, though. For the tech-savvy, privacy-oriented, or someone wary of planned obsolescence, the Librem 5 is the best phone out there.

Hardware

Hardware pluses:

  • The hardware is honestly great. I love the fact that we are not running everything out of a SoC, despite the power inefficiency. I am coming from a Cosmo Communicator, and I bought the phone without properly researching, and got burn by the fact that you are basically completely dependent on the SoC vendor to provide newer drivers.
  • I like that the phone is thicker, although perhaps it could have been a bit thinner. Ultra-thin phones make me afraid that I will drop them. I’m never afraid I will drop my Librem 5.
  • The CPU is fast enough. I don’t expect my phone to be able to do real-time raytracing. More on that later. The problem is the software.
  • The hardware switches!!!
  • The headphone jack!!!
  • Replaceable modem and wifi!!!
  • Replaceable battery!!!

Hardware minuses:

  • The back cover could have been of the “slide and pop-out” kind. The first time I opened the back of the Librem 5 I was afraid I would break it.
  • I’d have loved a second USB port, for the times where you find a random USB-C monitor or docking station that fail to provide power. I loved the fact that the Cosmo Communicator had 2 USB-C ports.
  • An extra GB of RAM and double the storage (not Purism’s fault, though - more in software)
  • I really wish we could get better open graphics drivers to unlock the full potential of the GPU…

Hardware fine:

  • The battery life is fine for my use. I understand that it is not enough for the social-media-content-consumption-addict would suffer but I can easily be out for 8 hours and receive and make calls and browse the Internet when required.
  • The screen is fine. I’d love to have an OLED option with a dark theme for the bit extra of battery life.

All right, now to software. Good things and bad things in no particular order, with suggestions for improvement.

Monitoring the phone software health

I had two incidents that got me “smart” about the phone:

  • When connecting a Lenovo USB-C charger, the phone would get super hot.
  • Sometimes the phone would stay too hot for no good reason (sitting idle) or the battery would just die in one hour.

We discussed the USB-C charger problem in the forums and concluded that the problem is the charger. Fine. However, I can go through logs and help troubleshoot. A normal user would probably have contacted support an perhaps even triggered a RMA process.

The second problem is more challenging. One of the big risks for Purism in maintaining a phone is, at the same time, its strength: it does not have control over the software stack unlike Apple and it is not just packing Android like other vendors. This is really a Linux computer that can make phone calls.

An application that gives me problems often is Feeds (gfeeds). Sometimes it opens to a gray screen and, if I close it, the GUI element is gone but there’s a gfeeds process eating 100% CPU and I must kill it using the terminal. Another application that sometimes hangs for hours (I’ve waited) eating 400% CPU is PureOS Store (gnome-software). PureOS store sometimes just refuses to close. You slide it up, it bounces back down but you have no mechanism via GUI (that I know of) to kill it.

My suggestion to fix the problems are the following (and one of them I will try to implement myself):

  • A quick diagnostics GUI application. If the user notices the phone lagging or too warm, even if no application is open, it can sit for a few seconds and quickly go through recent log events and CPU usage, suggesting a fix:
    “Charging issues, please try reconnecting the charger or try a different USB-C cable or charger.”
    “Application X seems stuck in the background. Do you want to kill it?”
  • A daemon that would every 5/10 minutes (perhaps cron?) go through the processes and kill any process that is stuck using 100% CPU if it stays in such way after a determined number of iterations. I will probably write something like this on the weekend and try.

Modern software practices

A few weeks ago, my boss wanted me to find a way to dump the emails generated by our application. He suggested python and a bunch of libraries but I ended up putting together in 300 lines of C a quick fake SMTP server that stores the messages as HTML files. The binary has 4K and it eats almost no RAM or CPU when it is running (input is sanitized and there are no memory leaks).

The Librem 5 runs applications that are, often, not optimized for mobile use or just bloated. Video playback performance is much better in NewPipe under Waydroid (better fps, seems to use less battery) compared to direct playback. Programs eat too much RAM and CPU overall. There’s no reason the Librem 5 not to be a speed daemon,when you think about how limited the first modern smartphones (think iPhone) were in terms of CPU and RAM and yet how snappy the user experience was.

Storage and RAM

32GB is just too little. I’ve never used flatpaks before but, after installing just a bunch of applications and having no pictures, documents or movies, I have only 10GB of storage free. A quick tour of PureOS Store shows me different versions of the same libraries (each eating 500MB+) and I think this is due to Flatpaks. I seriously hate modern software. Throw RAM and CPU at the problem and now we have web pages that load 10MB of assets for 500KB of content and plain text editors that eat 300MB of RAM.

Which brings me to RAM… 3GB is fine if you don’t need Waydroid but the Librem 5 is only a viable daily driver because of it. I need Android for my bank MFA and for the city public transportation application and I also run Signal in there (I can’t configure it otherwise, because I can’t take a photo of the QR code displayed in the Librem 5 with my Librem 5). I wish I had an extra GB of RAM not to have to start and stop Waydroid a couple of times per day.

Webpages are monsters these days, so that extra GB of RAM would have come handy for that as well.

Calls, SMS, roaming, Wifi

Calls work 100% of the time for me, including when suspended.
SMS also works 100% of the time. Sometimes the phone doesn´t wake up from suspended, but I don’t care too much about this.
Roaming: I have an European modem and when I went to Brazil, I had to force 3G otherwise I’d get no signal. A non-tech-savvy user would not have figured it out. Data, SMS and calls worked.
Wifi: it has multiple small problems and data connection is not kept when suspended, but nothing that is not resolved by turning it off and on. Since I have a data plan it doesn’t bother me so much but people who depend on Wifi must keep note.
MMS: I never put too much effort in configuring MMS. I tried and gave up, but I didn´t try hard enough.

Sometimes the phone struggles to recover from low signal situations (such as when I went to my father’s farm) and it stays stuck without signal even after I went back downtown. Turning the modem off and on resolves the problem. In all fairness, my Cosmo also had issues in such situation so I don’t think it is a problem as long as a quick flick of the modem power gets the signal back.

UI use and performance

It is usually smooth. In my experience, the screen animations only stutter when there’s some background application eating CPU. Kill it and problem solved.

I miss the ability to kill an application via GUI. Sometimes you flick an application out and it comes back and there’s no recourse (that I know of) besides going to the terminal.

The keyboard works but it doesn’t help you (prediction/suggestions, auto correct, etc).

Edge detection is poor/nonexistent. Sometimes I am holding the phone with one hand and tapping it with the finger of the other hand and my hand accidentally touches the edges.

PureOS Store (GNOME Software)

The worst software in PureOS. Often it doesn’t load the pages. Sluggish. Often you don’t know what it is doing. Sometimes you try to uninstall software and it says the package doesn’t exist. Error messages grow out of the screen and you can’t dismiss them or read them completely to understand what the problem is.

I won’t get into details because the thought irritates me. Using this application is pure pain.

Geary (e-mail client)

Geary works ok but sometimes touches get intercepted by invisible elements behind the screen. For example, you had an email opened but then you are browsing the folders. You tap a folder but you actually activated the SEND button from the message you had in the foreground before.

So I grew accustomed to using it only to read emails and I only answer from my desk.

Maps, GPS and navigation

I had no problems in getting a GPS fix. GNOME Maps is a very limited application. Pure Maps works, but I struggled a bit to figure out how to build routes and the maps were outdated or unavailable for the region I was at (or didn’t load, I don´t know). I didn’t test turn to turn navigation.

If I had to rely on navigation, I’d probably have problems carrying only the Librem 5.

Conclusion

99% of the problems of the Librem 5 are software related. Almost none of them is grave - I’d probably be able to help with some, but I suck as programmer.

As it is now, it is already the best phone I’ve ever had, just because there’s nothing I can’t do. My Cosmo Communicator frustrated me for being stuck in kernel 4.4/unpatched Android 9. iPhones became bizarrely expensive toys, and I hate the process for loading my own code in them and the whole “phone home every time BS”.

If you are looking for a phone/communication device, the Librem 5 is excellent. If you are looking for a mobile video game, media consumption or if you can’t spend 3 minutes without checking your phone to refresh your social media feeds, then it is definitely not the device for you.

I understand the Librem 5v2 will bring improvements.

Purism PR

Reviews: All the good reviews (from popular sources) are very old and others were made by people who have no idea what they are talking about (No Instagram app OMG!). Time allowing, I will publish my own review but it would be great if Purism could also publish a new walkthrough of the unboxing process, software setup and usage, to show all the improvements.

All the bad blood between the community and Purism: it broke my heart to read some of the blog posts and the stories, and how toxic reddit became. I have no idea how to tackle this but being called a scam is not great. Purism should put some effort in making amends with the frustrated/angry/unreasonable members of the community, as you get much more information about “how the company sucks” than about the phone when you look for information. How much Purism sucks? I don’t know, I can´t tell. I got my phone on ebay and I’ve never needed support.

Product positioning: phones are like cars. In the 60-70s, every driver knew how to change a fuse, check oil levels, etc… These days, cars are big ipads on wheels and people expect their phones to be appliances, not computers. The average user today has no clue about loading drivers in the high memory to run a game, or SET BLASTER 220 5 1. Positioning the Librem 5 as a “Linux pocket computer that can also replace your phone” instead of a “Linux smartphone” would help reset expectations. You are getting a computer, you must have a clue. The Librem 5 does not offer an “iphone-like experience” and probably never will (purism doesn’t control the software stack). The Librem 5 will not “protect my children”. Kids addicted to instant gratification would probably throw the Librem 5 out of the window, if you consider that they find the first level of Super Mario Land too difficult and frustrating.

Blog: too much PR, too little useful information. I had to dig deep to get the real juicy information that helped me make an informed decision about my purchase.

Edit

Bad copy paste.

20 Likes

The preinstalled usage application can kill everything.

It may would be a good idea to implement a function that kills the application by swiping it up with 2 fingers. The positive thing of this solution: It would be much easier (you don’t need to know the name) and faster to kill applications. The negative thing: People will not know until someone tells them.

Edit:
Your Problem with “not waking up” while on suspend should be fixed after firmware update. Write a mail to Purism support and ask for that. As far as I know there is no issue anymore after that update (I never experienced such problems).

You edit css-files for that, right?

3 Likes

Be aware that eventually 3G won’t be an option anywhere in the world - so it won’t be a workaround.

My personal hope is that eventually there is a BM818-something that is a global modem i.e. supports all the needed 4G bands for the whole world. Or some other compatible modem with same.

Hah, true - but then I also do that on my iPhone.

I usually just upgrade from the command line. Yeah, I know that’s a cop out. PureOS Store does seem troublesome. Even for me it sometimes just spins “forever”.

I don’t agree with that. Linux on desktop/laptop is suitable even for non-technical users - no “clue” needed. There’s a fair bit of polishing still to do in order to get Linux on phone up to the same level i.e. very few weird errors, nothing that a reboot won’t fix ;-), and all core applications “just work”.

Let’s not forget that after a zillion years Windows applications still produce baffling non-sensical useless error messages (and, again, a reboot cures most problems) and users manage to use Windows.

2 Likes

Thank you very much for that review! It was nice to read and you seem to share the same impression I had so far :slight_smile:

3 Likes

What I do for that is I always scroll a little bit before I tap, then it always works.

2 Likes

You can put this Micro SD 1 TB storage addition card for some hundred dollars in your phone, behind the SIM Slot. It says its up to 2 TB but i think that Micro SD Card did not exist yet.

I can not comprehend that the 1 TB Micro SD Card still exist. Yes i know that DNA with its amino acid chains can save more Information an a smaller space… but its still a kind of a wonder, remember that large computers in my young ages.

1 Like

I think this is one of the biggest challenges for Purism (with life-time upgrades and making software running faster and faster on L5).

For example, I can’t read big plaintext mails with Geary. Mail rendered in 2-3 seconds on Android, it takes forever to display in Geary and it will eat RAM until the OOM killer is triggered. The trend with Geary is to become bigger+slower with time, as it is with most of the software. I doubt Purism will have resources to drastically optimize the main apps (mail, web-browser and anything built on top of layers and layers of debian&gnome&flatpak&co), at least not in the next two decades :slight_smile:

Not even without Waydroid. “Software install” reaches 400MB in some cases, this is why it is the first app I kill after reboot. Flare reaches +300MB if I enter to view a conversation. Web-browser - 100MB/tab. I already mentioned Geary.

1 Like

It’s not that simple though - because you have to persuade relevant applications to use the uSD card rather than the main eMMC drive and because there are many complications besides.

Yeah, it’s pretty cool.

2 Likes

I made a shortcut to killall the power hungry applications.

1 Like

Thank you, @Xeda, about your post!
What about my idea regarding:

  1. hardware: maybe we’d upgrade our L5 with more RAM, better CPU, substitute screen with OLED,… After all, Purism has always said it: Librem 5 is modular (at least partially)

  2. software: could we use AI (eg. ChatGPT) to ask it to write optimised software for L5? I know it’s already used to automatically write/generate software.
    What do you think?

2 Likes

Even if I’m not asked: I don’t think that will work this way (yet). AI can write code, but it wont be not optimized. As more complex as the code needs to become, as more I’m sure that software written by AI sucks. And there are a lot of further reasons why I don’t want an AI writing my operating system or core programs … security just to call one or hardware specific things AI just can’t know about.

1 Like

It can write some code. Whether it’s useful code is another matter :crazy_face:

7 Likes

I don’t know how far ChatGPT 4.0 is right now. But even if we think about next 10 years and AI gets more useful for writing code, I don’t think the problems I described get solved any time soon. That was my thought about it.

1 Like

Yeah, these models can already be pretty helpful in reducing the amount of mindless boilerplate one has to type on the keyboard, but our bottleneck isn’t exactly at these kinds of tasks.

6 Likes

“Even if I’m not asked”
My apologise, Ick! My post was intended for everyone! My fault text! :sweat_smile::pray:

1 Like

Nothing wrong with your text. I just didn’t make the cut between your first line and that below. :smile:

2 Likes

Wow - I’m very happy by how positively my comments were received and by the lively discussion. I will reply at once without using the quoting system because I don’t have too much patience to format a message with many quotes.

@lck:
OMG - The Usage app!
This is the perfect example of a MUST BE TWEAKED FOR MOBILE. The GUI doesn´t offer any way to reduce the refresh rate so, if you want it to be truly useful, you must quickly find out what you need before it computes its own usage, otherwise it alone eats ~80% CPU. I wish you could set the refresh rate to once every 5 seconds or so…
The smooth chart is indeed beautiful but it’s a CPU-hog. Top is the only way to go for me.

@irvinewade:
I think I have way more bad misses with the Librem 5 than I used to have with the iPhone X (the last iPhone I had).

I must disagree with your point about Linux and I will let Ars Technica speak for me: https://arstechnica.com/information-technology/2023/06/op-ed-why-the-great-twittermigration-didnt-quite-pan-out/
And I will illustrate with my own example:
My grandfather has a new iMac, but also a late 2007 aluminum iMac that he quite enjoys. However, not to have him online with an awfully outdated Mac, Linux to the rescue.

Burning a DVD didn´t do the trick to install (old drive), and to prepare a USB you must have a clue (even to figure out that you need to find something like balenaEtcher). Fine, latest Debian install and even with the claim that now they include non-free firmware, wifi was not detected. To get fwcutter on, I had to share Internet from another laptop (his place is wifi-only). After that, GNONE on Debian was a breeze. And, honestly, with 3GB of RAM and a 256 SSD, it FLIES. YouTube 720p uses 75% CPU. Skype worked perfectly well. He could log into his bank account. Even his wireless Deskjet printer and his bus-powered Canon USB scanner worked out of the box. But, just as the Ars Technica op-ed mentions, Debian’s ideology causes the 2%. Most users don’t care about what ideology a software group follows. They just want their devices to work like an appliance!

I think it’s rare that Linux just works out of the box and that even a non-tech-savvy person can get it up and running, especially on a laptop.

Of course, Purism makes very clear that they are behind an ideology - the reason why I LOVE my device. However, I know people who would ideologically be interested in the Librem 5, but couldn´t operate with a software they are not tech-savvy enough to handle. Each one of them is a sale lost of Apple or Android vendors.

@ASwyD2:
Scroll and tap for Geary works! My next beer is for you!

@Christal:
It’s not so simple. I am eventually going the SD card route, with GPG for the encryption, mounting on boot. But it will take a lot of symlinking to get Waydroid and my home folder working fine from there, and I don’t want to be too radical and realize after a reboot that I bricked my phone. It is, after all, my daily driver.

@veleno:
It would be lovely to have an eventual mail-in program for upgrades… Let’s what Purism will come up with.

I’ve been using ChatGPT to help me get from super beginner programmer to beginner programer and its being wonderful. However, every output requires heavy massaging to work, much more to be bug-free. I am not sure it is viable.

And @all, a final thought I just had:
Consider a random person with a ThinkPad, just migrating to Linux.
If one day some application hangs and starts eating CPU, the fans revv-up and the person reboots the computer. Back to normal.

Another day, if the computer gets too hot, the person will think “Bloody Linux”, but never blame Lenovo or ThinkPads - because there’s a previous reference point in Windows.

This is very important @dos -and-rest-of-the-Purism-team. When someone sees an application misbehave, or data loss, or a bad-battery-life-day, it’s never iOS or the camera module/a - it’s the iPhone!
In a computer, Linux has the stigma, at least for the tech-plebs, to be complicated. Someone migrating to Linux expects to face some challenges.

I don’t think the same thought-model applies to phones. Look at the reviews and the hatred online! Even experienced places like Linus Tech Tips and others: The Librem 5 sucks! No one blames gfeeds or Geary for eating all your CPU and not taking input correctly. No one blames Usage for eating all your CPU just for the sake of proving a smooth animation.
[Apple years ago killed all unecessary animations to increase the idle time of the CPU - even Time Machine stopped having an animated icon when a backup is running - I remember that well!]

No, the Librem 5 doesn´t. It’s actually a quite wonderful piece of kit. Purism can well slow down the hardware work and focus on certifying software. Not only for scaling down correctly, but for being respectful of mobile devices. Every single application that comes preinstalled must be updated (or forked) to sip RAM, sip CPU, scale correctly to the display, handle basic touch input and SHINE.

The phone hardware market is stagnated. Everything is a rectangle. Everything else is gimmicky (35 cameras, waterproof to 500 meters, fans for gaming, etc). Where it has to shine is the software.

It’s not too much.
Most of what people do is web browsing. The SMS client is already decent, but we need to expose MMS settings better in the GUI. Geary needs serious improvement and someone needs to kick the gnome-software team in their painful parts (it is awful always in every platform). The camera app is already working quite well. We are truly nearly there.

The Librem 5 should be the device that respects you, doesn´t track you AND offers a basic software package that is effective, simple (and yet not dumb iOS style) and matches the hardware like a glove. I wonder what Purism’s current roadmap is.

4 Likes

Not should, is. As for the current roadmap, check out the blog article for it.

1 Like

In a way the HKS enabled the L5 to be usable. Imagine you had to restart the phone every time the connection was down, had issues acquiring a better signal, not connecting to bluetooth/wifi unless you toggle on/off etc. It makes the phone work, though I wish the HKS switches would be needed less for normal use. It was the smartest design decision, and not even related to security haha.

2 Likes

I was going to leave my own review, but you covered most of the thoughts on the phone. I love having it as a daily driver, but it also has a lot of issues.

I recently installed waydroid and I thought it would be a laggy mess as phosh is not too smooth itself. I was surprised when it ran way better than the operating system it was running on top of. I understand that PureOS is a full desktop OS (almost) but it does need a LOT of improvements. Waydroid shows the potential that PureOS could have.

Unfortunately it is based on or around gnome3, which was (and still is) a mess. Hopefully it can be fixed.

2 Likes