GrapheneOS on a Pixel 10 Pro: Not Quite There Yet
Back in my Obtainium post I said I'd probably wait for GrapheneOS on an OEM device before making the full switch. I got impatient. I picked up a Pixel 10 Pro and flashed GrapheneOS on it. I lived with it as my daily phone for a full month with no dual-booting back to stock and no safety net beyond a second phone sitting in a drawer. Here's where I landed. It's a genuinely great piece of software running on genuinely great hardware. The battery life is bad enough that I'm putting it back down for now.
Part of why I bothered with this experiment now rather than later is that Google is already moving to make installing apps from outside the Play Store harder. They call it sideloading which I think is a fairly loaded term for something that is really just installation. The moment installing the software you choose becomes harder the device is a little less yours. Google frames the new developer verifcation requirements as optional and aimed at malware. I get the argument to a degree. There really are people like older relatives or less technical friends who click through prompts they shouldn't and end up with something malicious on their phone. But those are usually not the people going out of their way to install an app from outside the Play Store in the first place. The people this actually affects are the ones who already know exactly what they are doing. Being able to develop and install apps outside of Google's own store without asking anyone for permission has always been Android's real advantage over iOS. If that advantage quietly erodes in practice even while staying optional on paper it is worth asking whether Android is still the obvious choice and whether iOS starts looking more reasonable once Google starts pulling this kind of stunt. See this piece on what the change could undermine and Google's own support page on the new developer verification requirement for the details.

The Install
Flashing GrapheneOS onto the Pixel 10 Pro felt familiar. I've flashed enough custom ROMs over the years that the process barely needed a guide. Enable USB debugging. Unlock the bootloader. Flash the images. Relock the bootloader. GrapheneOS's own web installer walks through exactly that sequence and nothing more.
What I wasn't expecting: a warning screen on every single boot. The phone stops for a few seconds to tell me the OS has been modified from the factory image. Yes. I know. I unlocked the bootloader myself. I flashed it myself. I relocked it myself on this exact device on purpose. Come on Google. I don't need to be humiliated with the same reminder every restart.
Private Space, or a Second Profile
A small subset of apps I still needed were tied to Google in some way. The first question was where to put them. GrapheneOS ships Android's Private Space (a separate lockable app container on top of your normal profile and distinct from GrapheneOS's own user profiles) and that's where I installed the Play Store along with the handful of apps that depend on Google Play Services.
For a while I assumed my battery problems came from exactly that. Google Play Services running a second time inside its own sandbox. Waking up on its own schedule. Duplicating background work my main profile wasn't doing at all. Some people sidestep this entirely by putting Google Play in a fully separate user profile instead of Private Space (a harder boundary since a profile behaves closer to a second phone than a second folder). I tried it for a few days and gave up. Switching profiles on Android means locking one and unlocking the other and waiting for it to resume and losing any sense of a single continuous home screen. Fine for something you open twice a day. Miserable for something you're in and out of constantly. Private Space at least stays one swipe away.
I also seriously considered dropping Google Play entirely and living off Aurora Store and F-Droid-adjacent sources only. That plan mostly worked except for a small stubborn list of apps I couldn't replace.
The Apps I Can Only Get From Play
- Chess.com: no open-source app matches their specific ecosystem or ratings or puzzles.
- Symfonium: there might actually be a way out of this one. Substreamer looks like a solid alternative and there's an open issue tracking getting it distributed outside the Play Store (Obtainium included). For now it's still Play Store only so I'm sticking with Symfonium. I care about this one specifically because I run Navidrome as my Spotify alternative and want a client for it that isn't tied to Google Play.
- My banking apps: the one pleasant surprise. Every bank I use ran fine on GrapheneOS without complaint. No Play Integrity refusal. No "this device is not certified" wall.
That list is short enough that Private Space alone would have been a reasonable compromise. It wasn't what pushed me back to stock.
The Actual Dealbreakers: Camera and Battery
Two things did it. Neither is really GrapheneOS's fault so much as a consequence of what GrapheneOS deliberately doesn't ship. No Google Camera. And (this is the one that surprised me) noticeably worse battery life even after accounting for the Private Space overhead above. I isolated it as best I could and closed Private Space entirely for a full day. The drain was still well past what the same phone did on stock. Whatever Pixel-specific power management Google is doing at the firmware or driver level GrapheneOS isn't getting the full benefit of it yet.
The camera app is the more personal complaint. Pixel phones without GCam simply don't take the photos people expect from a Pixel. That gap is wide enough that it's the first thing anyone notices when I hand them the phone.
For now my plan is just to keep waiting. Waiting for GrapheneOS's Pixel-side battery gap to close and separately for the promised Motorola OEM GrapheneOS device in the hope that a phone actually built around it ships with a preinstalled camera app that isn't an afterthought.
The App Stack
Minimal doesn't mean bare. Here's what's actually on the phone for anyone trying the same experiment. Consider this a snapshot of one month of testing and not a permanent verdict. Some of these could easily be swapped out again by the time you read this (Symfonium included).
- Obtainium: still the backbone of the whole setup. There's now a much larger set of pre-made app configs than when I first wrote about it so getting started takes a fraction of the effort it used to.
- AppVerifier: checks an APK's signature against what the developer actually published (mostly for my own peace of mind).
- HeliBoard: keyboard, no cloud anything.
- Brave: daily browser.
- Lawnchair: my launcher, customizable without being bloated. ARK Launcher is a newer, even more minimal option I only came across after settling on Lawnchair. Might have used it instead if I'd found it sooner.
- NewPipe: YouTube without the YouTube app.
- Absorb: audiobooks.
- AntennaPod: podcasts (Pocket Casts is worth a look too if you want something more polished).
- Lichess: doesn't replace Chess.com but it's what I actually play on.
- KurobaEx: for browsing 4chan.
- Signal.
- Nekogram: open-source Telegram client.
- Tailscale: for reaching my home network and self-hosted services like Navidrome and Immich from outside.
- Organic Maps: offline maps and navigation.
- VLC: video viewer.
- Streamyfin: open-source Jellyfin client.
- For email I've been trying Proton Mail with Thunderbird for Android or FairEmail as the fallback if it doesn't stick.
- Steam. It's genuinely great that Valve's own app is already available through Obtainium, no third party repackaging needed.
- Cake Wallet: crypto.
- Immich: photo backup.
- Aegis: 2FA.
- The Fossify suite: Calendar, Contacts, Documents for scanning and Messages as a full replacement for Google's stock apps.
- DAVx5: syncs contacts (and calendars) over CardDAV/CalDAV, no Google account needed.
What I'm Still Missing
A few gaps never got closed during the month.
I never found a good NFC alternative that respects my privacy as much as that's realistically possible for a payment rail (I know, I know). The practical answer stays the same: don't bother, carry a physical card for tap to pay. I'm even considering picking up a magnetic card holder at some point just to make carrying a stack of physical cards again a bit less annoying.
I also never found a proper ebook reader with COPS or Calibre server sync that could replace Moon Reader Pro for that specific workflow. Everything I tried either lacked the sync or lacked the reading experience.
And restating the obvious: chess.com. Lichess is what I play on but it's not a substitute for the actual platform.
Closing Thoughts
None of this is really a knock against GrapheneOS. Between the Obtainium ecosystem and the app list above and the fact that my banking apps didn't even blink going Google-free is far more practical today than it was even a year ago. Privacy (and not handing your daily driver over to Google) matters. Probably more than most of the convenince it costs you. But battery life is not a convenience. It's a requirement. Losing half a day of runtime compared to stock isn't something I'm willing to trade for it right now. It's also the reason I can't hand this phone to family and call it done. A device that dies early isn't more private. It's just off.
For now the plan is the same as it was in January just more specific. Wait for the battery gap to close and keep hoping Motorola's GrapheneOS phone ships with a camera app worth using out of the box.