Using Linux on my phone for 1 month
November 16, 2022My phone
After breaking my old phone at some point in March, I decided that my next phone should have support for linux mobile.
I was left with two options:
- Buy a used OnePlus 6 from eBay (and hope that caleb is able to get postmarketOS running as soon as possible)
- or get the Gigaset GS2901
(the phone the volla phone is based upon as it supports
/e/OS)
I ended up buying the Gigaset phone, as they produce their phones in Germany, which means that I own a phone produced in my home country, kind of cool - I guess?
Picking an OS
After skimming through a couple of blog posts, I created a list of Linux distros that I would be able to run on my new phone:2
- VollaOS (android)
- Stock android
- /e/OS (privacy focused android distro)
- Ubuntu Touch
- Droidian (Mobian Linux for android (debian-based))
- Manjaro Arm (GSI (arch-based))
- SailfishOS (linux-based OS with proprietary UI)
- postmarketOS
As I did not want to use android on it initially, and I wanted Bluetooth and mobile-data support, I was able to narrow down the list to the following contestants:3
- Ubuntu Touch
- Droidian
- Manjaro Arm
And because I really wanted to try all of them, well, I went ahead and tried all of them.
The initial goal was to try all of the operating systems for a couple of weeks. But you'll see how that goes (foreshadowing)
Ubuntu Touch
Oh, gosh.
I have to admit I kind of broke my own rule on the first OS I tried, let me explain why:
Foremost, Ubuntu Touch does look amazing and is definitely the most polished OS on this list, I really loved using the gestures, and most of the apps installed from Open Store4 adapted to my system theme seamlessly.
In my opinion, to be able to daily drive a Linux for multiple months/weeks, it needs to have a pretty decent battery live (UT5 probably had the best battery life of all the Linux OS's I tried). But it also needs app support.
And this is where UT disappointed me.
Whilst UT ships with libertine by default. (for those of you who don't know: libertine is a Linux container manager) But the version UT comes with only allowed me to install apps using an outdated Ubuntu version.
Additionally, libertine did not really integrate into UT's window manager: for example scroll gestures would not work in firefox and instead of scrolling, it selected the text below my finger.
So being unbale to install normal desktop apps (like I planned to do), I ended up having to install android apps:
To my surprise, the Open Store had a Waydroid6 helper app, which I used to install android apps.
But because Waydroid does not integrate into the UT gesture navigation, android apps would show the android navigation bar at the bottom of the screen. So I kind of had two ways of navigating my phone now.
I might have been able to get used to that, but after updating UT waydroid vanished: turns out you have to reinstall waydroid everytime you update your boot partition.
As I obviously couldn't rely on waydroid for apps I need on a daily basis, I was left without proper app support
So I decided to switch to a different Linux distro.7
Droidian
As far as I can tell, droidian is a GSI/libhybris based way of running Mobian on an android phone.8
The first time I tried droidian I opted to use the stable version, which turned out to be a mistake, as debian-stable versions ship with outdated software and not only was the phosh version old and buggy but the software center was missing a bunch of applications I needed.
You might be able to tell what is going to happen next: switching to a different distro
Manjaro Arm
Similar to droidian, Manjaro Arm is GSI based and uses libhybris to get a Manjaro version running on android phones, without having to port the device drivers.
And as the PinePhone ships with ManjaroARM preinstalled I was hoping for a superb experience9.
My hopes were quickly destroyed whilst I was reading through the Manjaro wiki. Apparently neither GPS, nor Bluetooth, were supported.10 But I decided to go with Manjaro either way, as UT and Droidian stable supported Bluetooth and because the latest ManjaroARM image was pretty recent, whereas the wiki page hadn't been update since Dec, 2021 I was confident that they added Bluetooth support.
Turns out that whilst shipping up-to-date software and the performance(including boot speed) being better than what I experienced with droidian-stable, ManjaroARM did have more problems than lacking Bluetooth support:11
After logging into phosh I was greeted with a white error screen telling me that part of my setup is broken, so I reinstalled ManjaroARM, but the problem persisted. As one does these days, I turned to the internet and tried fixing the problem without success.
Acctually, as it turn out, you can simply ignore the error message on open different apps. That is how I was able to test the sofwtare center. (And get lost in Gnome 2048)
As you probably guessed by now I can't be bother to set up an OS I'm unable to daily drive so I switched back to drodian after a couple of hours, making this the third time I broke my own rules
Switching back to Droidian
Switching back to droidian might sound like a stupid thing to do, but there was a method to my madness: Not only didn't I want to go back to stock android, but I somewhat enjoyed the linux experience.
After thinking about it for a couple of hours, I decided to go with the droidian edge/beta version hoping that it would solve my boot issues and provide me with up-to-date software.
And as it turns out my assumption was correct - well, kind of.
Whilst phosh was using the most recent version now and the software center was working properly allowing me to install the dependencies for a signal-desktop aarch64 build I found on GitLab, not everything was working as smoothly as it should.
For a couple of days,
my boot problems were gone
until… I executed apt update and the problem came back.
Oddly enough,
this turned into a cycle,
where I would update my phone,
and it would solve the boot issue,
but that would introduce a different issue.
Then the next update would solve that issue
but the boot loop would be introduced again.
So I tried not updating my phone as often (only when I noticed a bug)12 and that is how I was able to daily drive droidian for about one month.
Which sounds like a success, but I actually never planned on switching back to android, but besides the boot problem, I had a couple of different problems, including Flatpak's not integrating into the system properly13.
Your experience sound horrible, why would anybody want to use Linux on their phone?
Well, I guess it is hard to explain why I prefer using Linux over android, especially because I set up my android-phone in a weird way, which I did not do on Linux.
So one could almost assume that android is an OS better suited for me, but honestly, I don't think so. I hate the fact that one is forced in doing stuff the android way and without rooting one's phone, there is nearly nothing one can do to really customize his phone.14
Furthermore, I think that mobile browsers are literally useless:
- because they are missing a dev-console
- and they are missing a lot of features genereally
- also firefox mobile is considered one of the better phone browsers, and I still think that it sucks
From the perspective of a privacy enthusiast,
they are also missing a lot of the plugins I love to use,
so using Firefox desktop on my phone allowed me to set up a lot of redirects,
e.g. youtube->invidious, reddit->teddit and so on and so forth.
Not to forget that android is filled to the top with trackers,
and with andorid 10 google introduced a new filesystem,
that makes editing the /system partition impossible
/e/OS a solution?
I'd consider Solution to be an overstatement,
because even when using /e/OS,
I ran into some issues
when trying to setup my phone the way I wanted to15.
As it turns out,
google is slowly disabling rw access to /system
and all the other partitions.
Even on rooted phones.
Why I liked eOS
First of all, I was surprised to see that there are regular /e/OS updates (about every quarter year)
Additionally /e/OS has a system-wide tracker blocking and the apps /e/OS ships with by default are open-source.
For those in need of apps from the Google Play Store, /e/OS ships with their own store and microG which should allow most apps requiring Google Play Services to work properly.
Unfortunately, they do not ship F-droid by default, but instead their own app store integrates PWAs, F-Droid and Aurora. It is just that I would have personally preferred to use F-droid.
Another thing I noticed
is that they heavily promote their own account/email service
and the account manager in the settings
shows a Sign in with Google-button,
which I found quite odd.
The best thing is that you do not have to accept a TOS, in order to be able to use /e/OS so you're not signing off your phone to a different company when setting it up.
Conclusion
I hope that openSUSE is going to see some heavy development over the next couple of months/weeks. And whilst I have never actually used openSUSE, I really want to move away from android again.
But till more people can compfortably daily drive linux, it will probably take a lot of time and effort, especially when it comes to app support.
Obviously HalloWeltSysteme (the company behind the volla phone) invested money and effort into vollaOS and Ubuntu Touch (But as a student without income, I'm unable to spend >€300 on a phone)
The openSUSE GSI announcement was only made later this year
Also the OS had to be free (for obvious reasons) and allow me to install desktop apps
Ubuntu Touch's own app store
I'll be referring to Ubuntu Touch as UT from here on
Similar to Anbox, this runs on Wayland and somehow allows you to install android apps in Linux
UT feels more like it is trying to build its own ecosystem similar to android
Mobian is basically a Debian based Linux mobile distro
My experience with debian-stable wasn't as bad as I made it sound like, I'll get to that later on
Droidian also had no GPS or auto-rotate support
I don't care about auto-rotate or GPS, but Bluetooth is a must
I was using the edge repo, so updated would be released every other day
Scrolling did not work properly, and they did not adhere to the system theme
As of android 10, even rooting the phone is not enough - I might end up doing a second blog post about this topic
I used the Gentoo prefix on my old phone as a home screen, to be able to access as many Linux CLI features as quickly as possible