Librem 5 delivery

Has anyone other than a Purism employee , developer , or press received an actual Librem 5 ?

I have. I am not a Purism employee, I am not associated with any related software projects (UBports, LineageOS, etc). I am not a journalist/blogger/influencer.

I received a Chestnut Librem 5 in early January.


Hey how is your chesnut Librem 5 working out? What do you think so far? good experience?

Thanks for your time


1 Like

I like it so far. The biggest problem right now is the battery life. I haven’t switched to using it full time because of that. But that issue seems to be Purism’s biggest focus right now. Other than that, it works quite well. I have tried phone calls, SMS messaging, web browsing, email, music over 3.5 mm as well as bluetooth. It certainly has some rough edges that make it not well suited to use by most people, but that may change in the future. I am very excited to see where it goes from here. Especially when many more people have the hardware.


Hey thanks for the update thats awsome.

So phone calls all work well? SMS all good? How is getting online ok? Does the bluetooth work well with wireless headphones?

Rough edges? Could you please give a bit of detail?

Thanks again


Hey yes, I got the Chestnut version around Jan 20 2020 if I recall properly.

I am also not working for purism, I am a regular user :slight_smile:.

@FamousJameous did a good job on resuming the situation for me.

One difference, for me the Bluetooth was not working, the last time I tried on kernel 5.6 the WIFI would disconnect from network when I connect my Bluetooth headset.

And I was never able to get any sound out of that headset. They are the Sony WH1000XM3.

I would really like that phone to be usable, but the battery is not cutting it at the moment. If/when we can buy the 3500mah battery, maybe it will be usable daily.

And currently browsing the web is slow and not usable for quite allot of sites some site are totally non usable because they send you the desktop version of the site instead of the cell phone version.


Phone calls worked fine every time I tried them (with a normal SIM card). SMS was a bit weird to set up the first time, I had to include the plus at the beginning of the phone number when starting the conversation or it just failed silently. I believe that issue has been fixed but I haven’t started a conversation with a new contact recently. I have used it with two different SIM cards so far. I started with a prepaid AT&T card because my normal service is AT&T so I wanted to see how it worked on that network. I then got a FreedomPop SIM and started using that because I thought that would work just fine and be a little cheaper. Turns out FreedomPop service is very different from AT&T and it doesn’t work well on non Android/iOS devices. I actually had to use a VoIP client on the L5 with the FreedomPop card to get voice calls to work. I think mobile internet worked well on the AT&T card but does not work at all on the FreedomPop card (but I think that is FreedomPop’s fault). Unfortunately, that means that I can’t test mobile internet now without swapping SIMs with my daily driver phone. I may do that at some point to try it out. WiFi works just fine.

Bluetooth has worked fine for me before however, I haven’t yet found a media player that shows correctly on the L5 screen and also implements AVRCP. I tried connecting to my car’s media center but the L5 doesn’t send metadata and it cannot be controlled from the media center. I was able to control playback using my bluetooth headphones and the Audacious app, but it took some work to get audacious to play since it does not show correctly. And I just tried bluetooth music playback right now and can’t get the audio output to go to bluetooth. It seems this is the same issue mentioned by @purismforum. That may be a regression because I know I had audio over bluetooth working at one point.

So, that shows some of the rough edges. You can launch an app and it looks like a desktop window instead of a phone app window which makes it difficult or impossible to interact with. Bluetooth audio seems to have a problem. There are proprietary services that aren’t supported yet (or probably ever) on this phone (FreedomPop). There are also not a ton of apps designed for the screen on the L5 yet, so that can be a challenge. Then there is the battery issue.

So, the user experience right now is not great. Anyone expecting an easy transition from Android/iOS in the near future will be quite disappointed and frustrated. But I am still impressed by what Purism has done in a short amount of time and I know things will improve.


Did regular phone calls work ok with your other SIM then?

When you say "I actually had to use a VoIP client on the L5 " what exactly do you mean?

On Android and iOS, there is a FreedomPop app that you have to use to make calls and send SMS messages which it sends over the data connection. You can’t use the normal calling and messages apps. So, for the Librem 5 I used the app called Twinkle which is a VoIP client, and figured out the credentials to connect and that was the only way to make calls using the FreedomPop SIM card. I didn’t ever get SMS working with the FreedomPop card, but I didn’t really look into it that much. This is not an issue with the L5 except that if you wanted to use a FreedomPop SIM card, you will probably need FreedomPop themselves to create an app for the L5 which I wouldn’t expect them to do.

Phone calls with the AT&T SIM card worked normally using the built-in Calls app.


The fact that you could even do that (install and run VoIP client) … that’s a win. :slight_smile:

That may be the User-Agent string. You may be able to workaround that by changing (overriding) said string. You may also be able to workaround it by bookmarking the actual mobile site - if you can determine it from another phone and if the site is using a different domain (e.g. m.…) for the mobile site.

This problem has been discussed before. I think someone mentioned that Google will be dropping the User-Agent string from Chrome - which will force a lot of web sites to ditch their broken implementations, but which could improve success from phones like the L5 which may have an unrecognised User-Agent.

As was said though, “regular users” don’t want workarounds. They just want it to work out-of-the-box.


I fear we’re out of luck for that, at least for now. I recently asked Purism how I can purchase the bigger battery, and their response was that the 3500mAh battery doesn’t fit into the slot of the 2000mAh battery of the first batches.


“I haven’t yet found a media player that shows correctly on the L5 screen”
That’s interesting… Purism announced Lollypop as its music player on L5 and laptops more than a year ago. There’s a video showing Lollypop running on a L5 dev kit so I wander what happened. Did they changed their mind about it? If it was running on a dev kit wasn’t it supposed to be ready for Chesnut at least?


I have used LollyPop and it does show correctly on the L5 screen, it just didn’t support AVRCP (to send track metadata over bluetooth) the last time I checked. I will check again to make sure and maybe I will write up an issue on the lollypop repository (


Did you install Lollypop or the phone came with it? If you installed it was it like you would on a Linux desktop environment from the terminal or from the PureOS store?

1 Like

I don’t have a phone yet so it may be different, but in the QEMU VM images, it is not pre-installed, but can easily be installed via the PureOS store. (or apt install too I suppose)


@spacemanspiffy is correct. It is not included in the default installation but can be installed via the PureOS Store and it shows up for “apt search lollypop” as well.


I am the maintainer of the Lollypop package in Debian, and PureOS seems to get it from there. There isn’t a very new version in the Librem 5 Pureos though, since I believe they sync the Phone repositories with Debian stable (With exceptions on some packages - thats how Lollypop got in in the first place). Byzantium (The development/testing version of PureOS) does have a much more up to date version of Lollypop in it. Unfortunately I don’t know how they will sync new versions into the mainstream/non-development Phone OS (amber/amber-phone), but I keep getting the new versions of Lollypop into Debian unstable as they are released upstream (which means they come into Byzantium too).


@FamousJameous, @purismforum or anyone else who has the Librem 5,
I would love to see some benchmarking on the Librem 5. Could you please run these commands:
sudo apt install stress-ng
stress-ng --cpu 1
stress-ng --cpu 4

I also would like to know if the CPU starts throttling when it gets hot, so see if stress-ng --cpu 4 has a different result when run first and the phone is cool.




for glxgears ran with glxgears

Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.
160 frames in 5.0 seconds = 31.857 FPS
157 frames in 5.0 seconds = 31.335 FPS
157 frames in 5.0 seconds = 31.344 FPS



Simple stress 1cpu

stress-ng --cpu 1 --tz -t 60 --metrics-brief --times --perf
stress-ng: info:  [2256] dispatching hogs: 1 cpu
stress-ng: info:  [2256] cache allocate: using defaults, can't determine cache details from sysfs
stress-ng: info:  [2256] successful run completed in 62.42s (1 min, 2.42 secs)
stress-ng: info:  [2256] stressor       bogo ops real time  usr time  sys time   bogo ops/s   bogo ops/s
stress-ng: info:  [2256]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [2256] cpu                 919     62.34     60.05      0.11        14.74        15.28
stress-ng: info:  [2256] cpu:
stress-ng: info:  [2256]             89,459,318,978 CPU Cycles                      1.43 B/sec
stress-ng: info:  [2256]             43,268,100,305 Instructions                    0.69 B/sec (0.484 instr. per cycle)
stress-ng: info:  [2256]              5,224,292,382 Branch Instructions            83.70 M/sec
stress-ng: info:  [2256]                117,748,425 Branch Misses                   1.89 M/sec ( 2.25%)
stress-ng: info:  [2256]             44,743,748,842 Bus Cycles                      0.72 B/sec
stress-ng: info:  [2256]              5,416,032,283 Cache References               86.77 M/sec
stress-ng: info:  [2256]                 86,438,218 Cache Misses                    1.38 M/sec ( 1.60%)
stress-ng: info:  [2256]              5,395,095,857 Cache L1D Read                 86.43 M/sec
stress-ng: info:  [2256]                 84,821,322 Cache L1D Read Miss             1.36 M/sec
stress-ng: info:  [2256]                313,976,204 Cache L1D Prefetch Miss         5.03 M/sec
stress-ng: info:  [2256]             28,245,933,200 Cache L1I Read                  0.45 B/sec
stress-ng: info:  [2256]                 37,632,402 Cache L1I Read Miss             0.60 M/sec
stress-ng: info:  [2256]                     82,694 Cache DTLB Read Miss            1.32 K/sec
stress-ng: info:  [2256]                     35,557 Cache ITLB Read Miss          569.65 /sec
stress-ng: info:  [2256]              8,407,170,665 Cache BPU Read                  0.13 B/sec
stress-ng: info:  [2256]                133,961,678 Cache BPU Read Miss             2.15 M/sec
stress-ng: info:  [2256]                126,694,603 Cache NODE Read                 2.03 M/sec
stress-ng: info:  [2256]                  2,681,667 Cache NODE Write               42.96 K/sec
stress-ng: info:  [2256]             60,190,820,992 CPU Clock                       0.96 B/sec
stress-ng: info:  [2256]             60,188,981,752 Task Clock                      0.96 B/sec
stress-ng: info:  [2256]                        367 Page Faults Total               5.88 /sec
stress-ng: info:  [2256]                        367 Page Faults Minor               5.88 /sec
stress-ng: info:  [2256]                          0 Page Faults Major               0.00 /sec
stress-ng: info:  [2256]                      4,479 Context Switches               71.76 /sec
stress-ng: info:  [2256]                         22 CPU Migrations                  0.35 /sec
stress-ng: info:  [2256]                          0 Alignment Faults                0.00 /sec
stress-ng: info:  [2256]                          0 Emulation Faults                0.00 /sec
stress-ng: info:  [2256]                         99 System Call Enter               1.59 /sec
stress-ng: info:  [2256]                         98 System Call Exit                1.57 /sec
stress-ng: info:  [2256]                          1 Kmalloc                         0.02 /sec
stress-ng: info:  [2256]                          0 Kmalloc Node                    0.00 /sec
stress-ng: info:  [2256]                          1 Kfree                           0.02 /sec
stress-ng: info:  [2256]                          1 Kmem Cache Alloc                0.02 /sec
stress-ng: info:  [2256]                          0 Kmem Cache Alloc Node           0.00 /sec
stress-ng: info:  [2256]                          6 Kmem Cache Free                 0.10 /sec
stress-ng: info:  [2256]                        353 MM Page Alloc                   5.66 /sec
stress-ng: info:  [2256]                          0 MM Page Free                    0.00 /sec
stress-ng: info:  [2256]                     42,188 RCU Utilization               675.88 /sec
stress-ng: info:  [2256]                         34 Sched Migrate Task              0.54 /sec
stress-ng: info:  [2256]                          0 Sched Move NUMA                 0.00 /sec
stress-ng: info:  [2256]                      4,529 Sched Wakeup                   72.56 /sec
stress-ng: info:  [2256]                          0 Sched Proc Exec                 0.00 /sec
stress-ng: info:  [2256]                          0 Sched Proc Exit                 0.00 /sec
stress-ng: info:  [2256]                          0 Sched Proc Fork                 0.00 /sec
stress-ng: info:  [2256]                          0 Sched Proc Free                 0.00 /sec
stress-ng: info:  [2256]                          0 Sched Proc Hang                 0.00 /sec
stress-ng: info:  [2256]                          0 Sched Proc Wait                 0.00 /sec
stress-ng: info:  [2256]                      4,479 Sched Switch                   71.76 /sec
stress-ng: info:  [2256]                          0 Signal Generate                 0.00 /sec
stress-ng: info:  [2256]                          1 Signal Deliver                  0.02 /sec
stress-ng: info:  [2256]                     15,376 IRQ Entry                     246.34 /sec
stress-ng: info:  [2256]                     15,376 IRQ Exit                      246.34 /sec
stress-ng: info:  [2256]                     16,798 Soft IRQ Entry                269.12 /sec
stress-ng: info:  [2256]                     16,798 Soft IRQ Exit                 269.12 /sec
stress-ng: info:  [2256]                          0 Writeback Dirty Inode           0.00 /sec
stress-ng: info:  [2256]                          0 Writeback Dirty Page            0.00 /sec
stress-ng: info:  [2256]                          0 Migrate MM Pages                0.00 /sec
stress-ng: info:  [2256]                          1 SKB Consume                     0.02 /sec
stress-ng: info:  [2256]                          0 SKB Kfree                       0.00 /sec
stress-ng: info:  [2256]                          0 IOMMU IO Page Fault             0.00 /sec
stress-ng: info:  [2256]                          0 IOMMU Map                       0.00 /sec
stress-ng: info:  [2256]                          0 IOMMU Unmap                     0.00 /sec
stress-ng: info:  [2256] cpu:
stress-ng: info:  [2256]          gpu-thermal   44.00 °C
stress-ng: info:  [2256]     max170xx_battery   40.20 °C
stress-ng: info:  [2256]          cpu-thermal   41.80 °C
stress-ng: info:  [2256]          vpu-thermal   42.35 °C
stress-ng: info:  [2256] for a 62.42s run time:
stress-ng: info:  [2256]     249.68s available CPU time
stress-ng: info:  [2256]      60.05s user time   ( 24.05%)
stress-ng: info:  [2256]       0.12s system time (  0.05%)
stress-ng: info:  [2256]      60.17s total time  ( 24.10%)
stress-ng: info:  [2256] load average: 0.83 0.71 0.53