librem5 configuration
2022-03-11
I got a librem5 about a year ago now. It was quite useless until recently when I realized that to get newer software I had to flash it myself once, THEN I would get updates. I've been playing with it since, and it's somewhat usable. I wouldn't say it's ready for primetime, but while the stability is so-so, I can actually do useful things with it now. Given that I wanted to document what I've done to set it up.
first, I reflashed with byzantium. Then during setup I connected it to my Nextcloud instance I'm already running... easy enough. As a tip I hate running sudo over and over, "sudo su" doesn't work on pureOS but "sudo /bin/bash" does.
Now for software
- Maps: The most interesting piece of software (in my opinion) for the Librem5 at this time is offline maps via PureMaps. This can be installed via flatpak "flatpak install puremaps". This gets the map app itself. Next you want the scoutserver as well "flatpak install scoutserver" installs the scoutserver. Now via the GUI open up scoutserver and download the maps you want. Then start puremaps and set it to "offline" mode. And now you have offline maps! Make sure the GPS is enabled, it'll take a while to get a lock the first time, but after that it seems to work okay.
- TOTP: I use TOTP as a second factor for a lot of authentication needs. For this I installed "gnome-authenticator". The configuration is in a DB not a text file, so it's a bit hard if you want to synchronize with other devices, but other than that it works fine.
- Email: The default email client "geary" works fine for me for email
- Calendar: The default calendar client works fine for accessing my nextcloud calendar
- Weather: The default weather app doesn't seem to support arbitrary locations, which is a bit annoying. The closest location I could configure it for is about 30 minutes from here. Not ideal, but better than nothing.
- PDF Reader: Evince works well for viewing PDF documents.
- Contacts: automatically syncs with nextcloud once you configure the account.
- Todos: gnome-todo, installed via commandline apt, is a bit funky on a small screen, but usable at 150% scale (as configured via settings app). It picked up the nextcloud account on it's own and syncs automatically. My wife and I use the nextcloud-synced todos for shopping lists and the like.
- Timers/Alarms: The default "Clocks" has a usable timer and alarm functionality
- Spreadsheets: I use spreadsheets for tracking my budget and such, so I installed "gnumeric". It's not perfect, but usable at 150% scale setting (as configured via the settings app). You can install this via command-line apt.
- RSS reader: gnome-feeds is perfectly usable.
- Ereader: I'm using "foliate" installed via flatpak. It seems to work well. I mostly read non-DRMDed azw3 files.
- Password Database: I use keepassxc on my computers, so I neeeded something compatible. I store my database in my personal Nextcloud, to synchronize it I installed "nextcloud-desktop" via commandline apt. Then I installed "password safe" available in the PureOS store. I use a private key to lock the database as well as a password, so to copy that I installed "ssh-client" via ssh. Note that you can also enable ssh the other direction via settings->sharing->remote login (I suggest you disable this again once you have things setup how you like).
- Browser: The default one is fine usually, but I've found it useful on android in the past to have a more standard fully featured browser available in case I need it, so I installed "firefox-esr" via commandline apt.
- Text editing: Because I'm a linux dweeb I also installed vim and gvim. I'm still deciding if gvim is useful. I have an 80% sized bluetooth keyboard so when messing with the phone it's nice to have a real vim available. Note BTW, the on-screen keyboard is better than one might expect. Under the "world" key you'll find the ability to switch to a "terminal" keboard. Then on the other side of the spacebar the ">_" key actually brings up arrow keys and most importantly a Tab key! Still, a real keyboard is nice to have.
- VPN: Right now my home network is on HughesNet (ouch). As a result the only way to reach it is via IPv6 (even that was surprisingly hard to get working). Anyway, this means that when I'm on an IPv4 only network I need an IPv6 compliant VPN to be able to reach my home server to get email, sync todos, etc. To do this install "network-manager-openvpn-gnome" via commandline apt. Now go to the "advanced networking" app, this is secretly just network-manager configuration. Now add a VPN and use the import feature.
- Camera: byzantium comes with a "Camera: app. It doesn't autotune, so it's a bit of work to use, but it is *possible* to take photos, which is a huge step forward.
- Signal messenger: I tried "axolotl" installed via flatpak but so far have been unable to get past the recaptcha. This seems to be a common problem so I'm hoping it gets fixed soon. For background Axolotl is a 3'rd party app (not from the Signal developers) that, unlike signal-desktop, is fully featured and can act as a "primary" device. But since it's not from the signal developers changes in the signal protocol can cause it problems. The signal devs seem to be *slowly* coming around to the idea that maybe not everyone using Signal has to have an Android or an iPhone. We can cross our fingers. If more folks are using Linux Phones (be it Librem, PinePhone or Ubuntu) that'll help.
Lastly I removed all the apps I don't actually use (e.g. text editor). Unfortunately I didn't record the names of all of the apps, but you can always use "apt list --installed" and grep to work it out.
Finding software: I believe the librem5 is basically mobian/phosh. If you take a dpkg for mobian/phosh and try and install it it won't just work (I tried it), because the library versions aren't identical, but if you're searching for software that will work well on the librem5, software that works on mobian/phosh probably will, and is most likely already available in the pureOS repos if you use the commandline apt. The PureOS store is incredebly limited and I found it largely useless, I'm sure it'll become more useful in the future. A surprising amount of software is available by flatpak as well, while I'm not a fan of it
Overall I think PureOS is getting there in terms of functionality and I'm excited to really use my device now. Battery life is just about long enough to last a work day. What it needs most now is stability. For example, the bluetooth functionality is pretty sketchy. I'm unsurprised by this as the gnome/bluetooth stuff is no *more* functional on laptops last time I tried it. I gave up and use a commandline tool for bluetooth on my Microsoft Surface Go linux tablet (my other, and my primary, machine). Unfortunately this has been common for Gnome. Many of my friends still call "NetworkManager" "NetworkMangler" due it's long history of stability problems. I love the idea of linux phones, but the gnome development philosophy has, sadly, historically failed to deliver reliable and functional tooling. It's quite possible that librem and pinephone and others will actually help to fix those longstanding problems. I'm crossing my fingers
The best thing about the Librem though is that if they fail that's not the end of the story. Folks over in the pinephone world are playing with several other even more linuxy/gnu'ish phone GUIs. Running that stuff on the 100% open and free software librem is comparitively easy. I'm hoping purism can really deliver themselves, but it's nice to have a backup plan :). This is a HUGE difference from the days of Nokia and maemo. Although it was open then, the ecosystem wasn't there, but it's finally here.
One last note... my device has a problem with the SD card at least, and likely a problem with the SIM slot as well. I identified this problem the day the device arrived, but Purism dropped the ball on customer support and never replied after their first response. I've emailed them back now and hoping they'll get me a fully functioning device. I gather online that this isn't a terribly unusual story. They are trying hard but seem to be perpetually overloaded. In a way it's a good thing, as it means people want what they are selling, but it means the customer service experience might not be the best.
UPDATE
I got my phone back from purism with a working microSD slot... WOOT! I have a 1TB card arriving tomorrow so I can sync everything from nextcloud and have more than enough spare space for storing maps of the U.S. and Canada for puremaps, a copy of wikipedia, and whatever else I feel like.
- Phone/SIP: It turns out the default phone app has entirely functional sip support.
- Chat: Due to Whisper System not getting to building a fully featured desktop client (they've been promising for years now) I'm giving up and moving over to matrix. I found "element" works well on my tablet and there's a flatpak port of "fluffychat" (the android matrix app.) that works great on the librem. These both have full e2e encryption support. Eventually I hope to set up my own matrix server with bridging to signal, but that's going to take some effort. I thought chatty (the default chat app) supported it but apparently matrix support hasn't been added yet.
- Conversions: I find having a unit conversion app on my phone really helpful, so I installed "convertall" which is an absolutely amazing linux app that's been around forever that lets you do arbitrary unit conversions, including some rather crazy things. gallons per fortnight to cubic light-nano-seconds per day is no problem for it.
- Encyclopedia: kiwix, because why wouldn't you want all of wikipedia with you at all times?
- VLC: so I can watch movies, the UI is actually quite usable
I need to fix up some issues with my nextcloud server (I just moved from Hughesnet to Starlink and it's way better, but I lost my whacky ipv6 hacks), but once that's properly online again most of my use-cases are met by this suite of apps. Some could use some cleanup but purism is getting there.
UPDATE
Although I like my device. I wouldn't encourage others to get it. The price-tag is just too high for a device with poor battery life with still unreliable software. I *really* like the idea of running Linux on a phone, but I think the PinePhone project is a more economical way to get there. Sure the performance is a bit lower, but the devices are cheaper and the ecosystem is far better. In that end that's going to make for a more usable device. Ecosystems matter, that's why Linux won and BSD is now a barely used OS.