It's been a good while since I wrote about the baby steps of my very slow transition to as much open source as I can manage.
quick recap
- early twenteens: apparently (I searched my own blog XD) I was using linux on a small rig (laptop, the desktop is the "big rig"), and apparently it was Ubuntu/Kubuntu or some other derivative and I had a lot of problems with it (mostly because I wanted updates faster than I was getting them and getting what I wanted broke things) and went to Ubuntu Studio which was less of a problem enough to make a difference but still a problem
- 2016: acquired the big rig (fondly referred to as "the frankenbox") with its current case and original parts, installed Ubuntu Studio, problems persisted
- 2017: so many problems that I fully cracked it after yet another dist-upgrade explosion requiring a reinstall, an online friend recommended Manjaro (and stayed up really late for him to make sure I got through the install process fine)
- mid-late twenteens: started using ownCloud, and at some point after that switched to Nextcloud (purely on principle as I wasn't sure I liked the direction ownCloud was going, it still functioned fine at the time)
- late twenteens: broke away from the open source trend briefly with the acquisition of my current iPhone (reasonably certain I was replacing an Android which was doing my head in, I apparently hate Android a lot more than iOS) and much later a Macbook Air (both phones and Manjaro or the photo apps I was trying refused to play nice and my media was infinitely more important than my stupid principles)
- 2020: acquired a NUC and started properly self-hosting my websites (of which I'm down to just this one now) and Nextcloud
- 2023: the frankenbox got a lot of new hardware (basically all components except the case, drives and the gpu got replaced), switched to Arch for what ended up being no other reason than I'd mentally prepared for and committed to it (originally we thought I'd have to reinstall because Manjaro wouldn't recognise all the new hardware but it didn't care and just worked)
the watch
In much more recent history I'd told JJ I was going to have to switch away from Fitbit really soon partly because my Charge 4 was starting to die anyway (screen wouldn't always turn back on with wrist turn or taps and then was never bright enough even if I explicitly set the brightness higher and the battery life had gotten noticably shorter but it was still going a few days between charges so that wasn't a massive issue) and also Google had gone from being naggy (some crap about how it would somehow be so much better if you just use the Google account) to coercive (if you want to keep using this thing you have to use a Google account). J said the strap on his watch (some random cheap thing he'd gotten off ebay or something) had broken and he needed a new one too and told me to send him the one I'd been looking at.
I sent him links for PineTime and banglejs and said I couldn't pick between them. He bought two PineTimes (probably because they were a lot cheaper) and they arrived mid-May. I had some scurrying around to do on the day they arrived and came back to the demure little box sitting patiently on my desk while J's was already out and charging.
I took a couple of obligatory deboxinating photos because I knew I was going to blog about it at some point but the box was wonderfully simple, it was the cardboard box with a very plain white box directly inside it.
The watch head was contained in a little extra section up the top like new watches are expected to be I guess, and the section below had the charger (which is magnetic).
Because I'm easily amused I was quite entertained when the watch and charger basically jumped onto each other when I put the watch close to it. The watch cheerfully turned on as soon as it was on the charger and I was greeted with the Casio face. I worked out what was where in pretty short order from playing with it (swipe up from watch face is notifications, down from watch face is apps, left doesn't seem to do anything, right has settings). Downloaded Infinilink from the App Store on my phone and was faced with a problem. When JJ had set up his watch, it was the only one active in the house. I had two PineTimes to pick from. Of course the first one I grabbed was the wrong one (I could tell because it said firmware was up to date and it was on 67% battery, I had only just put mine on charge and I knew it needed an update). Second time round worked out better (said it needed a firmware update and battery was 0%).
this was a much better problem to have than some of the poor souls from last year and beyond who had to do a lot of reflashing and stuff to get theirs working
The firmware update went with no dramas (I'm reasonably certain I just did that while it was charging but can't remember now) and I ended up with a new default watch face (just called "digital" in the watch face menu, and it's the one that J is using).
After it had finished charging I started playing around with it seriously and setting it up. I automatically switched to the analogue face because I feel like my dyscalculia has been getting worse with age (and probably not helped by persistent lack of sleep) and I find reading the shape of the hands quicker than the amount of time it takes for my brain to parse numbers, but the analogue face didn't have heartbeat or step count which I kind of wanted for no real reason.
I ended up settling on the Terminal face because I found it hilarious (like the watch is such a tool for devs that they didn't even bother shipping a watch face XD).
Because it was brand new I spent the first few days running it into absolutely everything including things I was nowhere near (this is just a thing that happens whenever I have something new, delicate or an injury which is why I go out of my way to avoid carrying anything delicate and why I don't care when I have an injury because it's going to get bashed on everything anyway).
It held up quite well. It gets recharged every Friday for the most part (aside from a couple of times I've done it earlier because I played 2 too much). It doesn't do sleep or exercise tracking/monitoring, at least one of those is in the works (there are several PRs sitting around, I don't know how to do the flashy thing with watches and I haven't been wanting it badly enough to try, and I also don't know how long they take between updates but apparently there was almost a year between the version I have now and the one before it).
the phone
As per my usual deal with phones, I started seriously investigating options when my (currently still functional) iPhone XR started showing signs of its age (mostly occasional jitteriness to incredible lag which sometimes requires me to try to intervene/close down whatever is causing the lag, and sometimes manages to eventually sort itself out, and in this model I've noticed some insane gps drift which is fine when I'm walking or navigating to somewhere I know most of the way to or at least am somewhat familiar with the area but much less fine when I have no idea where I'm going, at least I haven't had insanely rapid discharge issues this time round which previously was the first thing that happened).
After going back and forth with JJ for a little bit trying to decide whether I get an Android phone, root it and chuck one of the degoogled Androids or one of the mobile linuxes on it or one of the actual linux phones, I decided to risk the Pinephone Pro because it was somewhat modular and cheaper than the other two somewhat modular phones I was aware of (Fairphone which seems like a hassle to get over here and Librem 5).
JJ ordered the phone at some point after I told him that the gps drift was becoming more frequent. It arrived late June.
I forgot to take a photo that showed the side of the box but it is the Explorer Edition.
The entire contents of the box was the phone itself with its minimal packaging and rattling around in some airspace underneath, the bright red cable.
Being able to easily pull the thing apart was cool. Haven't been able to do that to a mobile device for a while. The sdcard and sim slots (vertically stacked, shown here with one of my sdcards installed) are easily accessible after removing the battery which also goes in and out really easily.
I needed the new phone to do these things (in roughly this order):
- calendar
- contacts
- camera
- text
- navigation
- signal/discord/whatsapp (ergh)
- car music
- talk to the watch
- flick stuff to and from the computers sometimes
- eye candy!
- phone calls I guess
The OS it had shipped with was Sailfish which last I heard had moved to a subscription model which I generally hate so I needed to do something else.
As expected, it was a saga.
attempt #1: Barebones Arch + Plasma Mobile
My desktop is "barebones" Arch (because I think that's pretty much what it is by default) + KDE so I was willing to give that a shot again.
The other reason I did it that way was because there wasn't a pre-built image
Flashing onto a sdcard following instructions went fine and I was able to ssh into the phone from the big rig which was fun. I scp'd the image onto the sdcard and again following instructions flashed that onto the emmc.
That did not go fine and everything exploded, or at least the phone wouldn't boot. We spent a few intermittent hours over the next few days trying to work out why, and then eventually installed Towboot and that immediately fixed it. I was in and installed Plasma Mobile and was messing around with things and then realised something on the back end was awry (I cannot for the life of me remember what now) and also I wanted Plasma Mobile 6.4 and the repos only had 6.3.5, so I very cleverly installed it from AUR.
The first major hurdle I encountered was that I'm reasonably certain I also very cleverly installed sddm as that's what KDE normally uses and the login screen at first boot was the desktop one which would have been fine if it would pop up a virtual keyboard to do with it, but apparently no amount of messing around with config files would do that.
The only way I could log in was attach a keyboard to the phone. Unlocking the phone after the first boot was fine and put up a virtual keyboard (in the shape of a pinpad).
I did try to work around that for a bit while also simultaneously trying to find a solution to that particular problem. I probably should have gone back to using the one from repo as that one at least had a usable first boot login screen but didn't because of whatever the other problem was.
attempt #2: Arch + Phosh
There was some trepidation going into this as I've historically hated Gnome (for purely aesthetic reasons). Not as much as I hate Windows but still enough to investigate SXMO first (hey may as well try something new?). I saw "menu driven" (I do remember trying a window manager once upon a midnight dreary and not being smart enough for that) and chickened out of even trying.
I did not hate Phosh when it started up and actually found how it sorted out apps pretty clever. And I could actually move forward sensibly.
- ✔️ calendar (worked out of the box)
- ✔️ contacts (worked out of the box)
- ❌ camera (could not get it working)
- ⏳ text (didn't test)
- 🔍 navigation (middle of the state, found out later in attempt #3 that it was probably due to what it was getting from the wifi)
- ⏳ signal/discord/whatsapp (didn't quite get this far)
- ⏳ car music (didn't quite get this far)
- ⏳ talk to the watch (completely didn't think about this)
- ⏳ flick stuff to and from the computers sometimes (did not think about this)
- ❌ eye candy!
- ⏳ phone calls I guess
After getting calendar and contacts working and failing hard at the camera I jumped to eye candy just to do something fun for a bit and hit a major snag. Stuff which is pretty mindlessly easy in Plasma (wallpaper + lockscreen slideshow was literally all I wanted) seemed unncessarily convoluted in Phosh. Setting one wallpaper was pretty brainless but a slideshow required work (extensions if I wanted easy and bash scripting if I wanted slightly more effort).
I had also installed Waydroid to be able to get/try some other things (Waydroid is great by the way) and while I really liked the apps showing up on Phosh and being able to launch them straight from there rather than having to open Waydroid first, it was doubling up on a lot of things which was only mildly confusing (the icons for things like Settings were different enough that I could tell which was which).
I got impatient and tried again, but this was going to be my fallback if absolutely nothing else worked.
attempt #3: postmarketOS + Plasma Mobile
Most of what I remember of the fresh install was flatpak already installed and enabled and managable in Discover (which I think was also supposed to be able to be responsible for system updates but I only saw the system files sometimes and not others, no idea what was going on there other than Discover doing Discover things).
- ❌ calendar (Settings page wouldn't open, problem was reported by someone else who had a very slightly different error message to what I had)
- ❌ contacts (it wouldn't populate from the online accounts and it didn't have an option to add any accounts)
- ✔️ camera (worked to some value of worked)
- ⏳ text (didn't test)
- ⏳ navigation (pending, I had something working to some value of working but had to figure out a way to test)
- ✔️ signal/discord/whatsapp (ended up using Android apps as that worked out a lot better than the desktop equivalents, Signal came from a repo added to F-Droid, Discord came from Aurora Store which was installed via F-Droid and Whatsapp politely provided an apk on their website)
- 🔍 car music (app called Spot from Flathub, didn't try connecting to car at the time)
- ⏳ talk to the watch
- ⏳ flick stuff to and from the computers sometimes
- ✔️ eye candy! (so very easy, love Plasma)
- ⏳ phone calls I guess
The first photo taken with the PinePhone Pro was pretty awful.
I'm not sure if it was better or worse than the whole lot of nothing that I had before. As far as I can tell it's a software issue as the camera specs look pretty good (they're slightly better than my iPhone).
I eventually figured out that pmos stable was 6 monthly updates with occasional "service packs" to backport stuff which recalled "fond" memories of Ubuntu dist-upgrades consistently exploding and without giving this poor new thing a chance (pmos' base is Alpine Linux which I only found out the existence of after deciding to try pmos) I immediately jumped to the edge branch with its slightly more precarious rolling release.
Then some inspiration struck. It was something along the lines of minimalist install and realising that I should have installed tinydm instead of sddm. I honestly can't remember now.
attempt #4: Barebones Arch + Plasma Mobile "I just want to try something" edition
This time with a bit more documentation!
in the order I happened to do it in, only some of it needs to be done in a particular order
- once more flashed following aforementioned instructions (but this time doing the unrecommended Towboot mass storage way)
- reboot
- ssh in following Barebones Quickstart (
ssh alarm@10.15.19.82
password 123456 while phone is attached to computer) - installed yay using the yay-bin so it didn't take a bazillion years to compile on the tiny little phone
sudo pacman -S aur/plasma-mobile
(because I want 6.4 now now now now now now now now now and everything else is still hanging out on 6.3.5 where it's safe, also I forgot when I started that I should probably figure out how to cross-compile as it would be so much faster compiling on the big rig because that took the better part of forever)- answer yes to prompts and put in password as required
- hope phone doesn't die partway through (should be fine as long as it was mostly-fully charged before commencing but it doesn't seem to like charging off the red cable attached to my computer anymore, to mitigate this
ip a
to get the wifi address after activating the wifi connection, connect phone to actual power and ssh over wifi) - reboot
- do barebones Arch post install shenanigans up to the bit where it starts going on about network configuration
sudo pacman -S tinydm
(single user display manager that all the phone OSs seem to use)sudo systemctl enable tinydm
(makes it start up on boot)sudo tinydm-set-session -s /usr/share/wayland-sessions/plasma-mobile.desktop
(makes it actually log in to Plasma Mobile apparently)sudo pacman -S kscreen
(gives the display manager in Settings)sudo pacman -S iio-sensor-proxy
(screen rotation)sudo pacman -S qt6-base-es2
(replaces qt6-base, needed so the task switcher actually works)sudo systemctl enable --now bluetooth
(turns on bluetooth)
I was doing reboots between most of the steps to make sure things were still functioning.
At this point it entered my head that setting stuff up from scratch is a lot of effort and before I get too in-depth getting stuff working I should see if the problem I had with Merkuro Calendar before was still a problem and unfortunately it was. A bit more digging later I found out that the issue I already knew about (settings page not appearing in the app) was an upstre