PostmarkedOS/Nura Linux on a Fairphone 5 - My daily driver OS!
To make my random yapping below make sense, you could read my older posts about Linux on Phones to know from where I come from. TLDR.: This post is about my actually daily driver! I use PostmarkedOS/Nura as my daily driver Phone OS! And it works, well, VERY WELL! I documented stuff below that made issues on older releases, other distributions and even Android and then write down some guides (in parts for myself) on how to setup everything and what I encountered on the way. I may add more stuff below over time, stuff like Bottles on ARM64!!! Maybe I will put them on separate Posts but I will make sure to updated this post as long as I will use this OS and there is nothing more to link out to for myself (like with my older posts about the TITAN Phones and the Fairphone 5).
I saw the post on the PostmarkedOS/Nura GitLab about fully working modem and Calling https://gitlab.postmarketos.org/postmarketOS/pmaports/-/work_items/4337#note_588974. Checked it out, and then (after installing pipewire) saw it working, perfectly timed to "LITTLE BUSTERS by the pillows". It felt sooooo cool! A FULLY WORKING (slightly buggy) LINUX ON MY PHONE! OMFG you guys from the PostmarkedOS/Nura developers team did it! WOOOOH!
My terribly funny modded Clicks Phone case still has the same issues. It now work even after reconnecting, but breaks when charging the phone through it and then the phone needs a reboot to make USB-C work again. Also: If I have it connected from boot it will only work after one reconnect it. So no use for now. But the build in Keyboard works so well and can be pulled up AT ANY TIME and has a special configurable Terminal Shortcuts layout always available so I think a physical keyboard is not really needed. Mouse from time to time with a keyboard helps when configuring stuff but for day to day use not need for them.
It is still a niche Linux distribution in an even more niche use case so the setup was not without its problems, especially because my setup is also far from normal xD. BUT it works and for the people PostmarkedOS/Nura is designed for it is just a small thing to quickly fix and move on!
So after all that context-less rambling, what is this post about: THE FACT PostmarkedOS/Nura IS DAILY DRIVABLE, AND THAT EVEN WELL!!! Lets get into the good sh*t! The stuff I had done, use and needed to fix:
Here very dense how I got setup:
- Install (as instructed on the Page for the FP5) the newest stock firmware on the phone (In my case "FP5-VT32-factory.zip - FP5.VT32.C.116 - 1f31e462b234448bcc90212650039ca0ab4520a7c79801c399db11e565b3519c).
- Use the official PostmarkedOS/Nura Web-Isntaller in a Chromeium browser and install Phosh Edge.
- sudo apk update && sudo apk upgrade -U
- sudo apk add bash-completion nano curl waydroid
- Use this script to add your City in weather and other Gnome Apps (Yes they actually limit the City's to lower API calls... typical way Gnome dose stuff: No new perfect implementation? Well then we keep our terrible one and replace it with nothing at some point, welp): https://github.com/leo-joao/add-location-gnome-weather
-
Fixing the Call audio with the Pre-Builds (They are pulseaudio, but it only works on pipewire!):
"sudo apk add postmarketos-base-ui-audio-backend-pipewire !postmarketos-base-ui-audio-backend-pulseaudio"
- Install something like Librewolf or MPV from the Software Store to get Flatpaks setup and to get a environment with Codecs.
- In your favorite Firefox version set in "about:config" "perpx" to something between "1.8" and "2.3" (Both far from perfect but """good enough""". Replicate the layout from my old Ubuntu Touch posts too! And set density to Touch.
-
Disable firewall to fix internet in waydroid:
"sudo systemctl stop nftables && sudo systemctl disable nftables && sudo reboot"
-
PostmarkedOS/Nura is by default configured to use DNSOverTLS. It also uses DNSSEC and some stuff in the tool-chain seems experimental and/or unreliable.
For me, my PiHole worked 1 second when connecting to WiFi, after that I could no longer load local-dns websites.
To get it working I added the following to my "/etc/systemd/resolved.conf". The options disable some DNS stuff and then hardcodes my PiHole (change the IP to yours obviously) and 1.1.1.1 if the PiHole is not available (aka. I'm not home LOL. FallbackDNS dose nothing here as far as I could tell. Also the first square brackets could be not visible below because of a CSS/Font glitch on my website... don't forget to add it):
[Resolve]
DNSSEC=no
DNS=192.168.178.70 1.1.1.1
FallbackDNS=1.0.0.1
Domains=~.
Then: "sudo systemctl restart systemd-resolved && sudo systemctl restart systemd-resolved.service".
-
Signal can be installed from Flathub (unofficial) now or official in beta as an appimage (Sadly, as far as I could tell, PostmarkedOS/Nura has not libfuse2 (or some other library this appimage wants), so appimages (most still use v2) are not an option) from here:https://community.signalusers.org/t/beta-test-signal-desktop-for-linux-arm64/76184
Signal works very well so far. I had to do the same settings as usual (Setting the zoom lower, allowing hardware access and resizing the UI like in the old posts). But this time, no hacky stuff, it just works as soon as you configured the UI. Scrolling to far up can cause some stutters but that's it (Seems like a ARM64 exclusive caching issues or something along those lines).
The only important detail: Waydroid Camera DOSE NOT WORK! Meaning you NEED a other phone or PC with a VM with Android and USB-Camera to be able to register the Signal Desktop client on the PostmarkedOS/Nura install. On Ubuntu Touch you are able to use a Waydroid camera passthrough (Thanks to helium... I think, and the way Ubuntu Touch is build) and use a screenshot to scan but not on PostmarkedOS/Nura!
-
More to Waydroid: Use something like "Menulibre" to add a emergency stopper for Waydroid container like on Ubuntu Touch. Just add a entry next to Waydroid under Accessories and make it's command "waydroid session stop". I did the same with a small script to hide all Waydroid apps in the Linux Menu. I don't want everything cluttering the main menu:
Download: DATA/hide-waydroid.7z
Special things I tested that worked or not:
- Emergency broadcasts do work here in Germany, very surprisingly!
- Bluetooth audio works, but not with our car. There is just no sound. But that car is generally strange with many devices so I would not role out a bad implementation on the head unit side.
- AUX adapters are detected but do nothing. Had that issues on many Android and Linux Systems on my Fairphone 5, here I'm sure something is of low level, it only works with Ubuntu Touch AND NOTHING ELSE NOT EVEN ANDROID AND EVEN IN UBUNTU TOUCH THERE IS A TONE OF NOISE FOR NOT GOOD REASON!
- USB-Host still crashes often when connected and disconnected a few times and requires a reboot to work again. MTP and file system connection over USB to a actual PC is also still very buggy.
List of things I notices or thought were important:
- Be VERY careful with the volume and the flashlight. They fixed both and the flashlight can even be adjusted (and they fixed the artifacts with screen brightness adjustments BTW. :D), but it still can make the flash extremely hot and the volume of the speaker is FAR HIGHER then on Android. AKA. put it on max and put on a loud song and say good by to your speakers! I AM NOT JOKING!
- Battery life is mid to bad. Depending on how often the screen turns of for no reason as mentioned above, I can get around 1.5 to at max. 2 days. On Android (Very strictly configured Background Settings and Setup) I usually get between 2.5 to 4 days. I also tested with an old and a new battery. The only difference I noticed was that PostmarkedOS/Nura dose not compensate over time for the cycles on the battery and shows 7% even thought the degraded battery is about do die. Android fakes it and/or calculates/IDK. gets the information in a way that shows the real potential left over runtime.
- Phone calls (Except in Signal, it has a build in suppression algorithm I think) only can use 1 microphone. Meaning there is (or at least with one not available) no background noise suppression. If you drop a plate or open a bottle your call partner will be able to her it very clearly! Calls near a large stroad will be very VERY annoying for the person on the other side, I can tell you that much xD.
- Sometimes at random (about every 15 minutes to 3 hours) the phone screen randomly turns on. That is on all desktops. Seems to be a reconnect icon in the status bars that causes that. On the Gnome fork Phosh in the Mobile Settings App under Feedback you can disable screen wake events for all Notifications (Set it from critical to none). That works BUT somehow resets when it happens and the second time the the screen turns on again... so not the right workaround here, and a Bug too LOL. Just keep this Bug in mind. It will for sure reduce battery life a bit (much more on KDE Mobile or Gnome e.g. where the screen dose NOT turn automatically again!). It could also be the suspend logic of Linux but I have not tested it when it was disabled yet.
Bottles ARM64 on PostmarkedOS/Nura:
Coming soon... TM
Sources: