Kirsle.net logo Kirsle.net

Pinephone vs. De-googled Android

October 23, 2020 (updated January 15, 2021) by Noah

The Pinephone is a new smartphone in the works that will run mainline Linux as its operating system instead of Android, and already has a lot of Linux distributions that run on it. The idea is it would run all the same Linux software you get on desktops, servers or Raspberry Pi's and give you a private alternative to Android devices which send a lot of data up to Google.

They've already released some phones, and I have one that came installed with Ubuntu Touch, and I've been testing the operating systems as they progress. Linux on Mobile is still very early, most graphical apps don't fit on the tiny screen size of a smartphone, battery life can still be improved, camera quality can be improved. But progress is advancing rapidly and there's a growing number of apps that work and provide basic "smart phone" functions: calls, texts, email, calculator, calendar, maps, password manager (KeePass), web browsers.

My dream is to use a Pinephone as my daily driver, but it's still got a long ways to go, and I got impatient and instead installed a de-googled Android ROM onto my existing Pixel phone.

And having used both Linux and Android on mobile, I've determined that a de-googled Android ROM is a very solid alternative to a Linux phone while you wait for Linux phones to get better:

  • The F-Droid app store has a lot of free and open source apps for all your "smart phone" functionality and larger number of mobile-friendly apps compared to Linux.
  • Termux for Android is a very cool terminal emulator with a package manager! You can install Linux software like git, ssh, python and run a full Linux environment.
  • You're reasonably private at the operating system level: without Google Play Services installed on Android, Google Location Services and other features aren't there and so aren't spying on you.
  • Android apps are more secure than Linux with their sandbox and permissions.
  • You can run some Play Store apps, but not apps that rely on Google services. Still, on Pinephone you can have none of the Android apps (very well) anyway.

Details below:

App Selection

Linux phones are getting an increasing number of mobile-friendly graphical apps, but the total number of apps that work on mobile is way smaller than the apps available on Android. See my Linux Phones for an idea of which apps Linux distros are shipping with.

With a de-googled Android phone, you don't have the Google Play Store, but you install F-Droid and get access to a repository of free & open source apps for Android. This is similar to your Linux software repositories you'd have on Pinephone: open source apps built by maintainers.

F-Droid has plenty of apps for "smart phone" functionality: calendars, texting apps, home screens, calculators, email clients, web browsers. The basics are supported in Linux phones too, but it's likely F-Droid has apps to satisfy some function that Linux phones don't have yet. Plus, all of these apps are mobile friendly because they're Android apps.

Termux App for Android

One of the big things I like about a Linux phone is having a proper terminal emulator and command line environment. I wanna be able to ssh and git clone projects places, and edit files in vim and use rsync to transfer files off my phone and onto my server.

Most Terminal Emulator apps on Android were basically useless because Android doesn't have much of a command-line environment. Most commands are missing, no ssh client, no git command. Rooted phones with Busybox were much more useful, but I didn't want to root my phone.

I recently discovered Termux which is a terminal emulator and Linux environment with a package manager. You can install basically any Linux software you want in it, so I was able to use ssh and git clone my dotfiles, install python and golang and write some code in the vim editor. You can share your phone's internal storage/"SD card" with it, too, so I could rsync /mnt/sdcard and back up my phone to my server.

Basically everything I would be using the terminal for on Pinephone, I can already use Termux for on Android. It still runs as a normal Android app, and is sandboxed and can't read certain data, but they've patched all the software to install into its own root folder and it works pretty dang well!

Reasonably private from spying

A de-googled Android ROM is one built from the Android Open Source Project's code and does not contain the Google Play Services. Examples LineageOS or GrapheneOS.

The Play Services provide things like a more accurate GPS location feature and deep integration with your Google account in the Android OS. Many people regard this to be a privacy concern, as Google can collect your location history and track your activity at a deeper level than most ordinary Android apps could.

Without the Play Services, you can be reasonably sure that the Android operating system itself isn't spying on your activities. But, in turn, several Play Store apps by third-party developers don't run as well if your phone doesn't have the Google Play Services installed.

Android apps are more secure

Application security hasn't been a focus much in Linux until just recently. Nothing prevents two applications, both running as the same user account, from messing with one another's data or reading any files they like in the user's home folder using the permissions that the user herself has.

All that Linux has built-in for security is user accounts and permissions set on files and folders. On web servers, you manage security by giving each application its own user account and limiting its permission to read files and folders to those strictly necessary. But on desktop Linux where the user is running several applications, all of those apps are running with the same permissions as the user and can read, delete or modify any files that the user has access to, including the settings and databases of other applications. Nothing technically prevents an app like Chromium from reading the saved passwords database of Firefox, as both apps are running as You and You Yourself have read access to the files under your home folder.

There are some methods to jail apps on Linux (SELinux, AppArmor, Docker container) but this is rarely done by default, anywhere. The main reason it isn't a problem is because your Linux distribution maintainers built all of your software, and you trust them, and the software is signed and verified. But when you go downloading software from random places online, all bets are off and malicious software can do a lot of harm with access to your home folder, where all your valuable data is. Linux's security model may prevent an app from obtaining root privileges, but if the app just wants to Ransomware all your personal data, it can do so easily.

Android on the other hand has a security model and all apps are sandboxed and permissions handed out carefully. If you do happen to install a dodgy app, it can't automatically do a bunch of harm except with the permissions that you explicitly grant it when it asks. On Linux, who knows what a program with your permission level could do!

You can still run some Play Store apps

With F-Droid you can install the Aurora Store, which is a third-party client to access the Play Store and download apps there. A lot of Play Store apps will run on a de-googled phone: Spotify, ProtonMail, Outlook, Venmo, and Discord all work fine (although without push notifications in most cases). Other apps like Lyft, Uber, Snapchat or YouTube absolutely don't work and won't run.

But, you're still retaining access to many Play Store apps which is more than can be said about a Linux phone. On Linux, Anbox is an effort to run Android apps directly on Linux but it is currently rough to run and needs more memory than the Pinephone can reasonably provide it and would be considered a "last resort" for that must have Android app.

Battery life and polish

Android's had over a decade to improve their battery life and their whole ecosystem of apps were designed for mobile.

While I could force the Pinephone to be my daily driver phone, and it has enough basic apps I need (Firefox, Telegram, a KeePass password manager, maps)... it doesn't objectively give me anything that a de-googled Android doesn't except for the freeing knowledge that I'm running a GNU/Linux system that gives me full root access and contains no corporate spyware.

Tags:

Comments

There is 1 comment on this page. Add yours.

Avatar image
Nate posted on March 21, 2021 @ 14:45 UTC

You should check out running microg on your phone, if you haven't already. It works best when it's part of the rom:

https://download.lineage.microg.org

Add a Comment

Used for your Gravatar and optional thread subscription. Privacy policy.
You may format your message using GitHub Flavored Markdown syntax.