Ubuntu Touch - Daily driver - Season 2

This is """Season 2""" of me trying Ubuntu Touch. They made huge progress the last year and now have a fully stable release for the Fairphone 5 and I can confirm it is rock solid! So... I tried it again LOL. This is like an Update on what I had to change for my setup and how it is now compared to last time. The older entry about this are actually relatively outdated since they switched to 24.04 and snap and stuff are now forced on the user in libertine by Canonical (Not Ubuntu Touch Team).

If I don't mention stuff like Jellyfin e.g. again in this entry, the fix/workaround/how to use is still the same as last time (I try to make sure to mention everything that changed and mark outdated stuff outdated compared to this entry at the time of writing/last updating).

So, to get if you want to get the full picture, I linked all my last experiments with Linux on phones in the Source section and the last time Ubuntu Touch below too:

Fairphone 5 - Ubuntu Touch "Season 1"

Changes regarding what works and what dose not:

Last time on Ubuntu Touch I made a list what works and what not. This time I did not find anything that did not work. Everything works as excepted for Ubuntu Touch. Stable and VOLTE and 5G worked too! No more problems here. Even the MEGA JANK Clicks keyboard dose not cause any USB 3.0/2.0 connection issues, unlike PostmarkedOS and even sometimes Android.


Firefox in Libertine:

The way how you install Firefox changed. Snap and Ubuntu... it would also run but more overhead is the last thing you want with Libertine.


Signal:

Here A LOT changed. Snaps are broken, as usual, libertine """works""" now (without creating a container-zombie made out of 2 repository) but barely and native there is still no options.

THE BIG CHANGE: Since I last checked in, people found ways to "force" apps with there dependency's into clicks and make them actually work! From what I saw, they are building applications with their dependency's statically in the finished build (folder), then with some supporting scripts and QML hacks integrate a "translation" of wayland, x11 and XDG stuff to the Ubuntu Touch implementation and then package it. The result? CRAZY. Still not hardware accelerated BUT as soon as Mir 2.x is implemented all wayland features needed for modern apps are available and they (probably) run better then ever. From what I saw the main forces were "ChromiumOS-Guy" with "uWolf (Alpha Build)", "Shapa Noob" with "Chromium for UT", the team "tuxecure" behind "crackle" and "pparent76" with "SignalUT".

It is still far from just "build program and package it with generic scripts" but as soon as most stuff is known and documented this COULD be build to just force more stuff onto Ubuntu Touch and make it near as good as PostmarkedOS without being just a PC-OS on a phone!

Getting a functional browser was possible some time now with Firefox (And became a little more complicated again, thanks to snap in 24.XX in libertine and the need to forcefully overwrite that APT overwrite with the official Mozilla repository's), some tweaks and libertine, but a ACTUALLY fully functional Signal with (near) full integration into the Limori interface of Ubuntu Touch makes the switch IMO. so much more viable!

I grabbed myself the source code, checked out how it works and build it to see how well it works and I can say, it works VERY well. Many quirks someone needs to know, like closing chats with "CONTROL+SHIFT+C" to safe battery life, lowering the volume because it will use both speakers and so on, are still neded but it is FAR better! Stuff like no "ear-speaker only"-mode is still annoying but FAR F-A-R from a deal breaker.

To finish this section, if you need and want signal, spin-up waydroid, install Signal, grab a other camera device and log yourself into SignalUT by making picture of the QR-Code and then scanning it as fast as you can in waydroid Signal app directly after. Build it yourself, fix stuff and help improve it!


Clicks-Keyboard Layout - Sticky-Key Issue:

A truly only me issue. Clicks keyboard has a different layout then actual keyboard layouts. Meaning if you press (123)+B you get a "!". Lomiri/Wayland/Mir can interpret that correctly. xWayland (Firefox/Signal/...) thinks you never stooped pressing the "1" key, that is the key that has the symbol "!" on normal keyboards in English.

This can be workaround by adding copying the desktop file of the issue having app (SignalUT in the .local home folder or in the libretina container local folder under .cache on the host) and wrapping it in a sh command and truing repeat key of:

sh -c "xset r off; ORIGINAL COMMAND HERE"


24h/C° with English language:

Well... no joke, there is not an option to change this... The only workaround is setting the language to "English (Australia)". Somehow this is just how it is... .


Cloud Music/Navidrome:

If you use Navidrome or Cloud provider you have not many options. I do not use any non-self-hosted cloud provider because I want to buy and supoort art, and so should you, but self-hosting I do and so do many. Navidrome is the most popular option. THEORETICALLY Jellyfin and even Nextcloud have a Subsonic-API too. I will use Navidrome.

And for anyone using the non-self-hosted stuff, use Morph Browser (Qt6 Beta) and the website you use. All of them offer a web-version.
Normal Morph Browser is too outdated, Firefox will drain your battery and Store-Web-Apps... forget them LOL. All of them use the Morph Browser internally because this is how Ubuntu Touch dose Web-Apps and it will not work with most provider.

Navidrome, like many actively maintained self-hosted platforms, has a simple and fast Web-GUI and that makes it possible to make a simple Web-App of it with Webber and use the normal Morph Browser for it. Morph Browser is (mostly) modern enough to do that. Just open Navidrome in Morph Browser and log-in. Then on the "Start-Page" you want to have share the Web-Page with Webber. Important is here to set the Browser Identifier to "Mobile" and in the Permissions enable "Export file to other apps".

Now you need to open "UT Tweaker Tool", open the menu and select "Apps + Scopes" and find Navidrome. Then enable "Prevent app suspension".

This gives you decent Online player but offline or caching is not available this way. BUT you can use the download option in Navidrome and download a song or album. Then when it is finished view it with the Popup the browser shows and select it and export it to your Music folder. For anything more then a single song you must open the Music folder and extract it by selecting the zip. That"s it. Now you can listing to your music from the Ubuntu Touch Music App.

This is jank, inconvenient and annoying BUT better then nothing. I tried packaging a few Web-App's for Navidrome that has caching build in BUT it either did not like Morph Browser or had issues accessing the Network. There is also UBSonic in the store. It looks cool but is a little buggy and makes this setup only more complicated. Also: For some reason UBSonic sound REALLY BAD on my device for no reason. Probably a bug on my end.


Jellyfin Remote:

If you use Jellyfin (with high end TVs like OLED-HDR-4K and so on) you 100% know about MPV-Shim. I wrote multiple times about it by now and it is great to brute force full res video from your server to your high-end/big Screens and Speakers. I don't want to start Waydroid all the time to use my phone as a remote or use Jellyfin and Jellyfin-MPV-Shim on the same device with a keyboard, that is just clunky. Well, Jellyfin also offers a Web-View and it allows conecting and controlling MPV-Shim from there too. Just use Webber, similar apps or make it by hand yourself (it's really easy, just change a different WebApp to fit your needs) and create a WebApp to your Jellyfin WebView and use it as a remote. If you want to use Jellyfin on device on Ubuntu Touch, stay with Waydroid with the Jellyfin app and Findroid with MPV enabled to get full codec supoort. Until Mir 2.X is here and the browser gets updated, or PostmarkedOS becomes stable (enough), this is the ONLY way.


Backup Home using SCP/SSH:

If you want to switch to PostmarkedOS or temporarily back to Android without losing everything you can just use a SSH tool called SCP. You MUST and SHOULD have SSH with a public key setup to do this fast and easy. This works also to restore it by just reversing target and Source. It will take a hot minute to pull the data. When you restore, it is VERY important to start the phone, SCP all you data to the phone in one go and then FORCE RESTART it Meaning holding the power-button until it HARD RESETS, NOT reboot. Else the OS WILL overwrite a lot of configs stuff you just restored. Just Linux things. ADB is not a replacement and so is MTP! Both WILL cause Issues!

Just change the target and source as needed. This copy's everything recursive, with hidden files and folders, preserving Permissions and Timestamps and compresses the data temporarily it on the way. Permissions and Timestamps are important else you will end up in Permission-Hell when restoring!

scp -r -p -C phablet@192.168.178.XXX:/home/phablet/ .


New useful stuff I learned:


Conclusion 2.0:

The following is my opinion. I know I am only half the target audience of Ubuntu Touch: People that want Linux/Alternatives for phone OS's. But to the other half I'm not: Someone who wants the full power of Linux on her hand and is more a power Linux user then a phone user. The following is just my frustrations I feel sometimes using Ubuntu Touch as a Linux user, NOT a phone user. I will still use it and stay with it a little while longer until I can use PostmarkedOS half way reliably. I love the Ubuntu Touch project and what the developers and community have build! Please don't take what I'm about to write to serious, I just want to write about what it feels like for me using something that was never intended for me LOL.<3.

Well what is it this time? I use it daily as my daily driver. It work perfectly fine. But HELL has it issues. Not Software/Hardware related, that works pretty much perfectly now, it is the application's and the technical back end. Let me explain.

While you CAN make almost everything work, Libertine works for most apt stuff, Snap, Waydroid and abominations like SignalUT that bridge the gab to daily usable and reliable (Abomination, because it is to some extend just an extracted Appimage with supporting wrapper and scripts, absolutely brilliant and cursed at the same time, love it, same with WolfUT and other's like them), but one ugly issue rears it's head again and again, X11. Almost all stuff that goes beyond WebViews, a very small amount of Apps and System Apps is running unacceleration in a X11 bridged to Mir1.X. You could potentially write a native Clicks app, but not many do, the time needed to make a app is big like on all platforms but the user-base is extremely small. Wayland is used but so extremely outdated for normal apps they need to be forced to run in X11. Clicks, aka. native apps, ARE NOT an alternative, they would be too some extend if the tech would not be so outdated and the platform popular, but this way it just limits EVERYTHING. I know I talk from the perspective of someone who want's Linux on Mobile, not an alternative to current Mobile OS's with the Limitations that entails.

But that is just not an option if you ask me these days. Android and IOS NEED competition but the strongest foot to get somewhere is in Apps and Linux has a lot of them. The team is extremely small and dose it in their free time and do an absolutely great job and will change much of what I write about here, in the future at some point, but the idea of, use clicks app's and Libertine only if no other option is available is wrong. What app's? The 3 web-link-apps that no longer work? Or the fact that clicks are not really signed... like at all. You can just modify them and install them. No signature checking, and only source code checking for apps that need "uncontained" privileges.

Most stuff you do are done in a Webview that is rendered and processed in the Morph-Browser that not only is hell-a outdated and broken for almost all websites, not to mention potential security issues. Morph has even issues displaying Videos and the phone heads up a lot and drinks battery like there is no morning while watching stuff. A Firefox setup in Libertine is almost a must (Or WolfUT and similar) to get a workaround Web-Browser where Morph-Browser fails.

I know HALium limits the Software that can run, the system uses bridged Android driver, NOT Linux/Linux Software complaint stuff. Desktops and any non custom implementation will just not work, e.g. KDE would no even know what to do with the graphics interface LOL.

I also know the approaches PostmarkedOS and UBports are completely different. One tries to get Linux working by literally reverse engineering or implementing drivers of the OEM and Up-streaming them, while the other tries to bridge the existing software stack of Android to work with Linux and build with new tools and existing frameworks on top of it instead of trying to somehow getting the full set of existing Desktop Linux Software stacks to work with it.

I will continue to use it because f*ck Android, Waydroid can do the same when needed, but PostmarkedOS stays, in my opinion, the only viable option in the long term for me for now and the foreseeable future. Mainline Linux with full Software support is not only cool, yes buggy and way to over-engineered too for a mobile device, but also has the full power of Linux software in it's hand. Ubuntu Touch will most likely drastically improve with Mir 2.X BUT only if Snap's just work, Wayland Apps just run, and Libertine becomes more streamlined and not Workaround on top of 5 more Workarounds anymore. The strongest argument for for me for PostmakedOS is, even thought hardware acceleration is f*cked and buggy beyond funny on PostmakedOS sometimes, it works and makes the biggest difference when everything works as you expect on Linux.



Sources: