About a week ago I updated my phone, which really isn’t a scary thing unless you’re running a custom ROM like I am. After the update I started getting an error message saying that some background service had stopped responding. I just clicked it away, but it kept coming back and annoying me. Another thing that already bothered me was how the volume was boosted for some reason (something to do with Dolby Atmos drivers, maybe?). So even the lowest volume step was too loud even after I had increased the number of volume steps to 30. Nevertheless, I decided enough was enough. Changes needed to be made.
Before this change I was running a slightly sketchy, but very customizable ROM called HavocOS. It’s amazing when it comes to customizability, but it’s developed by two Indian guys with failing hard drives, and the official support channel was a telegram group. In the end I did settle for LineageOS, which I already had experience of on my old phone.
The process of installing a new rom on my OnePlus 7 Pro is fairly straightforward. For the sake of completeness, here are the steps I take:
adb
is installed, or install itadb reboot fastboot
in a shell to reboot into
fastbootfastboot flash boot <path to the recovery image>
to
flash and boot the new recovery imageadb sideload <path to the base image zip>
to sideload the base image to the phone for flashingNote that these steps are specific to the OnePlus 7 Pro. Do not follow this blindly if you have another phone
When following my own installation instructions I didn’t really think twice about what I needed to back up. I only backed up the bank app we use for authenticating to a lot of online services here in Sweden, but when I tried to restore it on Lineage it failed for some reason. In the end I had to resort to asking a friend to fix a new one, because the bank require you to own a Windows or Mac PC because of proprietary drivers and who even uses linux lmao am i right.
Anyway I also lost a bunch of pictures and two 2FA codes, but other than that I was golden!..
One of the first things I set up on my phones is root, because I cannot bear not being in control of my own devices. I use Magisk for this, because apparently SuperSU is owned by a sketchy Chinese company or something. The installation process is basically just flashing a zip-file, like with the base image for the ROM.
This time I tried to set up microG too, because one of the benefits (and drawbacks) of running custom ROMs is the lack of Google Play Services. If you don’t know about Google Play Services, it’s basically a spooky service that has a lot of control over your phone, and it’s connected to your google account (obviously). And if you don’t know about microG, it’s basically an open-source replacement for Google Play Services which put’s you in control of what it does. One part of what microG does is to enable Google Cloud Messaging, which many apps use for sending notifications to your phone (one of which being Discord).
I have tried installing microG before, but never really got it to work. This time however, I did. And the journey to how I did it is the reason I’m writing this blog post in the first place.
EDIT: To avoid these steps I have now moved over to the microG release of LineageOS
EDIT: Magisk now has something called Zygisk, which I think replaces Riru. However, I have very limited experience with it.
So, I’ll write this as another list, because there are a ridiculous number of steps to this.
GmsCore.apk
from F-Droid or
GitHubGsfProxy.apk
from F-Droid or
GitHubFakeStore.apk
from F-Droid or
GitHubDiscord
from your preferred Google Play Store
alternative. If you’ve already installed it, you need to reinstall
itIn case someone cares about this (who am I kidding, this blog is literally about the things no one asks me), here are some other things I like to set up and use on my phone:
I hope this blog post has given you some insight to the amount of things needed to use an alternative android ROM. Of course the ROMs are usable without this, but if you really want a fully functional and open source android phone you really have to walk a thousand miles. Looking back at the time I’ve spent on this I could probably have spent it better, but at least i receive Discord notifications now.