Review of the Purism Librem 13

Towards the end of last year, I got a new laptop: the Purism Librem 13. It replaced the Lenovo ThinkPad X250 that I was using previously, which maxed out at 8 GB RAM and was beginning to be unusable for Firefox builds.

This is my first professional laptop that isn’t a ThinkPad; as I’ve now been using it for over half a year, I thought I’d write some brief notes on what my experience with it has been like.

Why Purism?

My main requirement from a work point of view was having at least 16 GB RAM while staying in the same weight category as the X250. There were options meeting those criteria in the ThinkPad line (like the X270 or newer generations of X1 Carbon), so why did I choose Purism?

Purism is a social benefit corporation that aims to make laptops that respect your privacy and freedom — at the hardware and firmware levels in addition to software — while remaining competitive with other productivity laptops in terms of price and specifications.

The freedom-respecting features of the Librem 13 that you don’t typically find in other laptops include:

  • Hardware kill switches for WiFi/Bluetooth and the microphone/camera
  • A open-source bootloader (coreboot)
  • A disabled Intel Management Engine, a component of Intel CPUs that runs proprietary software at (very) elevated privilege levels, which Intel makes very hard to disable or replace
  • An attempt to ship hardware components with open-source firmware, though this is very much a work in progress
  • Tamper evidence via Heads, though this is a newer feature and was not available at the time I purchased my Librem 13.

These are features I’ve long wanted in my computing devices, and it was exciting to see someone producing competitively priced laptops with all the relevant configuration, sourcing of parts, compatibility testing etc. done for you.

Hardware

Material

The Librem’s aluminum chassis looks nicer and feels sturdier than the X250’s plastic one.

Screen

At 13.3″, the Librem’s screen size is a small but noticeable and welcome improvement over the X250’s 12.5″.

The X250 traded off screen size for battery life. It’s the same weight as the 14″ ThinkPad X1 Carbon; the weight savings from a smaller screen size go into extra thickness, which allows for a second battery. I was pleased to see that the Librem, which is the same thickness as the X1 Carbon and only has one battery, has comparable battery life to the X250 (5-6 hours on an average workload).

The Librem’s screen is not a touchscreen. I noticed this because I used the X250’s touchscreen to test touch event support in Firefox, but I don’t think the average user has much use of a touchscreen in a conventional laptop (it’s more useful in 2-in-1 laptops, which Purism also offers, and that does have a touchscreen), so I don’t hold this against Purism.

The maximum swivel angle between the Librem’s keyboard and its screen is 130 degrees, compared to the X250’s almost 180 degrees. I did occasionally use the X250’s greater swivel angle (e.g. when lying on a couch), but I didn’t find its absence in the Librem to be a significant issue.

Touchpad

The one feature of ThinkPad laptops that I miss the most in the Librem, is the TrackPoint, the red button in the middle of the keyboard that allows you to move the cursor without having to move your hand down to the touchpad. I didn’t realize how much I relied on this until I didn’t have it, though I’ve been getting by without it. (I view it as additional motivation for me to use the keyboard more and the cursor less.)

Also missing in the Librem are the buttons above the touchpad for left-, right-, and middle-clicking; you instead have to click by tapping the touchpad with one, two, or three fingers (respectively), which I find more awkward and prone to accidental taps.

Finally, while I haven’t noticed this very much myself (but I tend not to be very discerning in this area), several people who have briefly used my Librem commented that the sensitivity of its touchpad is significantly reduced compared to other touchpads they’re used to.

Keyboard

The Librem’s keys feel better to the press than the X250’s. However, I’ve found you have to hit the keys fairly close to their centre for the press to register; the X250’s keys were more sensitive in this respect (hitting the side of the key would still trigger it), so this took some getting used to.

The keyboard can be backlit (at two different levels of intensity, though I don’t think I’ve ever used the second one). However, the shortcut to activate the backlight (Fn + F10) is significantly harder to find in the dark than the X250’s (Fn + Space).

I’ve also found the Librem’s keys get sweaty more easily, I’m guessing due to different materials.

Layout

The Librem’s keyboard layout differs from the X250’s in several small but important ways. Some of the changes are welcome; others, less so.

Here is a picture of the keyboard to illustrate:

Librem 13 keyboard

  • One thing that I think the Librem’s keyboard gets right that the X250 got wrong, is that the key in the bottom left corner is Ctrl, with Fn being next to it, rather than the other way around. I find this significantly aids muscle memory when moving between the Librem’s keyboard and external / desktop keyboards (which invariably have Ctrl in the bottom left corner). (I know that issues like this can technically be worked around by remapping keys, but it’s nice not to have to.)
  • On the other hand, the biggest deficiency in the Librem’s keyboard is the lack of PageUp, PageDown, Home, and End keys. The X250 had all of these: PageUp and PageDown above the right and left arrow keys, Home and End in the top row. With the Librem, you have to use the arrow keys with the Fn modifier to invoke these operations. My typing style is such that I use these operations fairly heavily, and as such I’ve missed the separate keys a lot.
  • A related minor annoyance is the fact that the rightmost key in the second row from the bottom is not Shift as it usually is, but a second Fn key; that’s also an impedient to muscle memory across different keyboards.
  • Lastly, the key in the top right corner is the power key, not Delete which is what I was used to from the X250.

None of these are necessarily dealbreakers, but they did take some getting used to.

Microphone

Every time I’ve tried the Librem’s microphone so far, the recording quality has been terrible, with large amounts of static obscuring the signal. I haven’t yet had a chance to investigate whether this is a hardware or software issue.

Software

The Librem 13 comes with Purism’s own Linux distribution, PureOS. PureOS is basically a light repack of Debian and GNOME 3, with some common software pre-installed and, in some cases, re-branded.

I got the impression that PureOS and its software doesn’t get much in the way of maintenance. For example, for the re-branded browser that came with PureOS, “PureBrowser”, the latest version available in the PureOS repository at the time I got my Librem was based on Firefox 45 ESR, which had been out of support for some 6 months by that time!

I’m also not a huge fan of GNOME 3. I tolerated this setup for all of about two weeks, and then decided to wipe the PureOS installation and replace it with a plain Debian stable installation, with KDE, my preferred desktop environment. This went without a hitch, indicating that — as far as I can tell — there isn’t anything in the PureOS patches that’s necessary for running on this hardware.

Generally, running Linux on the Librem 13 has been a smooth experience; I haven’t seen much in the way of glitches or compatibility issues. Occasionally, I get something like a crashed power management daemon (shortcuts to increase/decrease brightness stop working), but nothing too serious.

Conclusion

The Purism Librem 13 has largely lived up to my goal of having a lightweight productivity laptop with a decent amount of memory (though I’m sad to say that the Firefox build has continued to get larger and slower over time, and linking is sometimes a struggle even with 16 GB of RAM…) while also going the extra mile to protect my privacy and freedoms. The Librem 13 has a few deficiencies in comparison to the ThinkPad line, but they’re mostly in the category of papercuts. At the end of the day it boils down to whether living with a few small annoyances to benefit from the additional privacy features is the right tradeoff for you. For me, so far, it has been, although I certainly hope the Purism folks take feedback like this into account and improve future iterations of the Librem line.

Adventures in DIY computer repair

In spite of being a programmer, I’m not much of a DIY person when it comes to computer hardware. For example, I’ve never built a computer from parts, or performed maintenance more complicated than a RAM or hard drive upgrade.

One thing I’ve been doing that has a DIY air to it, though, is cleaning the dust from the inside of my desktop computer using a can of compressed air – a habit I picked up from one of my first-year university roommates.

The first time I did this, I was very hesitant, afraid that I would break something. It went smoothly, though, and I continued cleaning my computer this way regularly (about once a year) without any trouble.

Until last weekend, that is.

After last weekend’s cleaning, my computer booted up fine, and everything seemed OK, but a short while after booting it up, I stepped away from it to talk on the phone, and returned to find it mysteriously powered off.

Powering it back on led to more strangeness: the computer itself powered on fine, but the monitors were receiving no signal, just as if the computer were off.

I powered it off again, and opened the case back up to inspect the internals, thinking that perhaps the cleaning loosened or dislodged a connector; however, everything seemed to be in order.

Powering it on one more time, the monitors were working again, and everything seemed fine. I was ready to write down the mysterious symptoms as a fluke and move on to other things, but within 20 or so minutes, the computer suddenly powered off again.

This time, though, I was sitting in front of it when it did, and I got a fraction-of-a-second glimpse of a Windows dialog opening up before the power-off. I didn’t get a chance to read what it said, but it made me realize that rather than the power-off being a pure hardware failure, it could be something triggered by the OS for some reason.

So I powered on again (monitors working fine this time), and took a look at the Windows system event log, and indeed, there were “Error” entries whose times matched the sudden shutdowns. Most of the event information was pretty cryptic, but once I realized you can double-click on the event to get more details, there was a descriptive message: “System shutdown due to graphics card overheating”.

That explained why the computer was shutting down after running for a short while, and also why the monitors weren’t engaging that one time I powered it back on (the graphics card must not have had a chance to cool down enough). It also gave me a direction to continue investigating in.

I researched the problem of graphics cards overheating a bit, and found that the problem was commonly caused by a fan malfunctioning, or airflow being obstructed by dust.

So I powered off again, opened up the case, and inspected the fans. I saw two, a case fan, and a CPU fan (and possibly one inside the PSU but that was enclosed so I wasn’t sure); the graphics card didn’t appear to have its own fan. The fans seemed to be in order; to be sure, I powered the computer on with the case open and verified that the fans were spinning fine. Nor did I detect any obstruction to airflow.

Nonetheless, the overheating and subsequent shutdown recurred.

I downloaded a program to monitor the internal temperatures of the computer, and verified that the graphics card did indeed get very hot – while the CPU temperatures remained around 40-45ºC, the graphics card’s temperature would slowly rise over time, reaching close to 110ºC, which seemed to be the point where the shutdown was triggered.

Determined to get to the bottom of the issue, I opened the case again and decided to try to remove the graphics card and inspect it more closely; I never got around to removing it, though, because in the process I discovered the cause of the problem.

It turns out the graphics card did have its own fan: a small one, oriented horizontally, built into the bottom of the platform that held the card. You had to be looking at it from underneath, which I didn’t do before, to see it.

This fan wasn’t spinning, and it was readily apparent why: there were large clumps of dust in it, that were too clumped together to have been disloged by the compressed air. In fact, most likely the compressed air treatment caused additional dust from further above to collect there, pushing the fan over the edge to the point where it couldn’t spin any more.

Cleaning out the dust with some tweezers, the fan started working again, the graphics card stayed cool, and all was well.

This sort of problem and diagnosis is probably very trivial for a lot of tinkerers, but for me it was exploring new ground. I’m glad that I persisted in fixing the problem myself and didn’t resort to bringing my computer in to a repair shop.