Back on GrapheneOS in 2026 - davd.io
Back on GrapheneOS in 2026
21 Mar 2026
android
grapheneos
foss
Table of contents
I have somewhat of a pendulum going on between iOS and GrapheneOS. But just like I switched from macOS to Linux some time ago, I want to run GrapheneOS as my daily driver as well.
Part of that is frustration with US Big Tech licking Trump’s butt. But it’s also part of a broader shift: with movements like “Digital Independence Day”, I want to take back control over my smartphone - and hopefully stick with that this time.
I picked up a used Pixel 9 a few weeks ago and directly flashed GrapheneOS on it. Looking at the support matrix on the GOS website, I’ll get updates for my phone until August ‘31, so I guess the 300 bucks I paid are worthwhile. Using the newest Android version for the first time, I was immediately delighted by the speed and snappiness of the system and while it’s sub-par compared to the iOS UX, it’s more than good enough to use day by day.
Why GrapheneOS
I already elaborated on that in my original post about switching to GrapheneOS from 2023, so you can read it up there. Not much has changed in my reasoning and the explanation I gave then.
Overview of My Setup
I run my main profile completely without Google Play Services. That way, I’m fully independent from Google in that area. For the few apps that need Play Services for one reason or the other (or for no reason at all), I set up the Private Space feature, which is basically an isolated profile (similar to Android’s user profiles), but with better UX, as it is simply integrated in the main profile’s app launcher.
I use FUTO Keyboard as my keyboard of choice as it looks and feels nice, has a good enough German dictionary and even supports offline speech-to-text. I’m using FossWallet over Catima now for my loyalty cards because it can render iOS .pkpass files the way that they are actually supposed to look. KDE Connect does the Apple-style handoff thing with a shared clipboard and easy file transfer between my laptop and my phone, Organic Maps is my preferred maps/routing app, I use Tailscale (with my own coordinator server instead of their hosted control plane) to access services at home while on the go, and I replaced the stock dialer with Fossify Phone. That’s pretty much it when it comes to the special sauce.
A Life Without Play Services
Somewhat unsurprisingly, almost all apps I use day to day work without Play Services. That’s for a simple reason: they are almost exclusively open source and from third-party sources like GitHub via Obtainium, F-Droid, IzzyOnDroid, etc., so you would imagine that they at least don’t hard-depend on Play. What surprised me more is that even the few proprietary apps I have to use day to day also seem to work somewhat fine: Cookidoo (for the fancy kitchen appliance), ING (my main bank), PayPal and the Tesla app (yeah I know sighs) all work just fine without the Play Services for the most part. There are a few features that I cannot use, namely push notifications, NFC payment and embedded maps, but those are things that I happily skip, knowing that this way they cannot communicate with Google.
Self-Cloud Services
The biggest problem for most people probably is cloud services. They’re either stuck in iCloud or GApps. Since this is a blog about self-hosting more than anything else, I luckily don’t have these problems. My photos are in Immich, files in Opencloud, contacts, calendars and reminders in Radicale, email in Dovecot, notes in Nextcloud Notes, etc., all hosted in my basement rack. Here’s an overview of the services I run and the apps I use on GrapheneOS:
Description<br>Backend Service<br>Android App
Podcasts<br>gpodder2go<br>AntennaPod
Audiobooks<br>Audiobookshelf<br>Audiobookshelf
Passwords<br>Vaultwarden<br>Bitwarden
Contacts<br>Radicale<br>DAVx5
Calendars<br>Radicale<br>DAVx5 + Fossify Calendar
Reminders<br>Radicale<br>DAVx5 + Tasks.org
Media<br>Jellyfin<br>Findroid
Find My<br>FMD Server<br>Find My Device
Home<br>Home Assistant<br>Home Assistant
Photos<br>Immich<br>Immich
Notes<br>Nextcloud<br>Nextcloud Notes
Files<br>Opencloud<br>Opencloud
Documents<br>paperless-ngx<br>Paperless Mobile + paperless-ngx Uploader
News<br>Miniflux<br>Read You
Music<br>Navidrome<br>Tempus
Email<br>Dovecot + OpenSMTPd<br>Thunderbird
UnifiedPush for Notifications
As Google Play Services normally funnel notifications to only have a single persistent background process and hence save battery, most apps rely on them, unless they are obviously schedulable things like alarms or reminders (those are handled by a native Android API).
In a world where Play Services don’t exist, each app that wants to receive push notifications needs to persistently run in the background and keep connections open to get informed once a new notification comes in. That drains the battery pretty quickly.
Luckily, there’s an alternative: UnifiedPush (UP) allows you to use (and...