Well I just replaced my aging LG G6 with a new Google Pixel 8a running GrapheneOS. The G6 was based on Android 9 which was initially released in August 2018, and my last update was January 2019. The big issue, after 6 years since OS initial release, apps are starting to not support Android 9. Add to that, my USB-C plug was getting questionable in terms of retaining charging cables and my fingerprint reader has not worked for years.
So how to replace the G6? Well I choose a new Google Pixel 8a and GrapheneOS. The Google Pixel is one of the better supported hardware devices in the after market ROM landscape and GrapheneOS seems to be one of the most popular ROMs.
It took me about a week to do the transition. Lot of that was just normal when moving everything to a new phone and not using the vendors automatic tools. The actual initial setup and flashing though was pretty straight forward. It was a bit emotionally difficult to take new $400 hardware and then just simply re-flash it risking say bricking. This turned out to be a non-issue.
Benefits I see from doing this:
- Lack of Cruft. The lack of all the vendor loaded cruft was very nice. My old G6 has about 17 apps that I could never really delete because they were flashed into the ROM. Many of them fairly large Google suite apps.
- Profiles. The new phone can fully use user and work profiles, plus with Android 15 it has the Private Space feature. GrapheneOS also supports up to 31 user profiles, not the 4 supported by most distributions. I actually use the Private Space to contain my Google Play Services and Google Play Apps and otherwise just the owner profile. Might have been better to look at some of the other options, not sure.
- Storage Scopes are really useful. One can restrict App access to only certain folders. I have already used that a few times, probably more in the future.
- Backup. GrapheneOS allows one to do App backups to your own media or cloud storage. For stock systems normally only Google Drive is allowed, which I would never use.
- Sandboxed Google Play. I like the idea of sandboxing Google play. Presumably it should be more compatible then MicroG and some Apps require Google play. Interestingly the number that do seems fairly small. I actually further placed all my Play Services related stuff in a Private Space so I know what apps can actually use it.
- Device Integrity Check. Verified boot and some other device integrity checks are properly supported and so many apps that required them should run, though not all. This is not always the case with third party ROMs.
- Wifi Calling and Messaging seems more stable then my old G6. Maybe just the difference between Android 9 and 15.
- Updates should be supported for a full 7 years from initial device release which as of late 2024 is about another 6.5 years. My original G6 had about 1 year of updates.
- Hardening. Graphene has a bunch of hardening features not in typical distributions. Storage Scopes and really good Profile support are a couple I’ve mentioned, but there are many others.
One question that took me a while to consider is where to get Apps from. There are pros and cons and a lot of discussions about this. In the end, I used the GrapheneOS App Store, F-Droid, Accrescent, Obtanium, and the Aurora Store in that order for my owner profile, then installed sandboxed Google Play Services and the Google Play app in my Private Space.
As of now my limited experience with GrapheneOS has all been positive. The one App that I have had issues with is the UPS app for some reason. For that I’ll just use their website for now. Not sure if the UPS app can be made to run or not. My understanding too is that Google Wallet may not fully function though I have not tried it and have never used it before anyway.
If your interested in GraphneneOS and have any specific questions, feel free to ask. All the best.
This is a not-insignificant part of why I buy older (flagship) models. My most recent upgrade was to a Pixel 5, I bought 2 for that same $400, and another for $150.
Flashing has gotten so much easier, especially with Pixel (or not Samsung, and a few others). Motorola has been pretty good forever, generally, though some models have been tricky.
I’m not using Graphene (I disagree with their attitude about some things), but DivestOS - a fork of Lineage. Running MicroG for now, but working away from Google Store apps.
Check out NativeAlpha - it’s a browser which presents websites like an app. A big plus is it uses the phone’s own web engine, so it’s really just an app/UI config. I use it for my library, bank, hospital/doctors, etc. It seems to be good at replacing dedicated apps (with their issues). I tjin
Hermit is an app on Google Play that’s similar, but doesn’t seem to require Google Services (not that Native Alpha does, just surprising for a Play app). I’ve been finding so many apps that have GServices dependencies for no apparent reason, like simple offline dictionaries (what the hell??)!
Be the way, I tried NativeAlpha. Really like it. One strange thing, F-Droid does not have it, IzzyOnDroid does but says not compatible. Finally grabbed it directly from Github with Obtainium.
By the way. Just curious. What were your issues with GrapheneOS or their team?
One thing I saw that I was not crazy about was moving away from Linux as a major goal. Micro Kernel… sounds like GNU Hurd like idea. Not that against it but why do it?
Regarding DivestOS. Yes, I looked at that. It is the #2 item on the list at privacyguides.org. There is also /e/ which I guess FairPhone uses. Then CaylxOS, LineageOS, and a few others. There was a nice comparison: https://eylenburg.github.io/android_comparison.htm .
Frankly, their asshole attitude sucks.
I had an error flashing it to a Pixel, and dev response was classic “what did you do wrong” instead of addressing the error message, they criticized me. Well, fuck you then.
Mind, I’ve been flashing phones since 2010, I’ve done hundreds of flashes, so I have extensive notes for every phone. My current approach is to use a project management app (MS Project), so I don’t miss anything. I’m meticulous - if a step doesn’t work as expected, I start over from the beginning, including re-flashing the factory image, until my documentation is spot on (I built desktop deployment images in a former life).
I’d read other comments about their behaviour, but thought I’d give it a try anyway. Sorry, if support is like that to me while just setting up, what it like if I had a real problem?
I’ve also seen the same behaviour when they discuss how their approach is different from other people - they don’t seek to clarify how their approach is different, but only to say their way is right, and to denigrate anyone else.
Graphene is useless to me with attitudes like that.
Thanks.
Thanks for the App suggestion.
Regarding Google Play Services. Lot seem to have dependencies but may not require them. Some complain they need it and then go on to work just fine. Some like Signal say they will affect how they work – i.e. without Google Play Services, Signal has to run all the time in the background. Some say nothing and just work.
Interesting Lyft and Uber at the only two apps I know for certain require Google Play Services in my case. There are a few more I installed that may but those I wanted in the Private Space together with Google Play Services for other reasons. Otherwise I pulled more Apps (about 16 apps) from Google Play via the Aurora Store and they did not seem to need Play Services. Probably depends on the kind of apps your looking at.
The only issue I had with flashing was on the first go around I forgot to confirm the boot loader unlock on the actual phone. I used the CLI method and the CLI script that GrapheneOS provides just crashes in this rather then actually checking for it. Other then my own stupidity, there were no issues. Really easy and educational to do this the first time.
We’ll I guess the other issue is that I had to look around in my cable collection to find the best cable for the flashing. I needed a USB-A to USB-C cable in my case, not the USB-C cable that Google provides.