Kirsle.net logo Kirsle.net

Status of mobile Linux apps on Pinephone (Screenshots)

January 15, 2021 (updated January 25, 2021) by Noah

The Pinephone is a smartphone that runs mainline GNU/Linux software instead of Android, and the software is still a work in progress. I've had a Pinephone since about May of 2020 and have been watching the rapid growth of the software ecosystem for it, so this blog post is kind of a "status update" in the form of screenshots of various apps that are already running great on this device.

I'm not a software developer in that space, so props to the whole open source community that's making this all come together!

The question is: "is this phone daily driver capable yet?" and to that I say: it's getting close! I haven't yet tested putting my SIM card into the phone and trying voice calls and SMS texts, but I've heard from others that these are working and reliable for a long time. MMS picture messages are still a work in progress though, and they say the phone doesn't wake up quickly if an incoming phone call comes in while the phone is sleeping.

Apps

All that aside, the big apps for me to have working to call this a daily driver phone should include:

  • A password manager (KeePass compatible, ideally).
  • A web browser capable of using web apps for the sorts of Twitter, Reddit, and Doordash.
  • Contacts & Calendars that sync to my Nextcloud server.
  • An email app.
  • Messenger applications (Telegram especially).
  • Maps & GPS application.
  • The basic utilities: calculator, flashlight, camera, etc.
  • Full disk encryption, for peace of mind in case I lose my phone!

And: I have basically all my bases covered and then some! This blog post goes through some of my favorite apps that work well on Linux mobile.

Update (Jan 24 2021): Chromium works very well and with better performance than Firefox + webapp support. Screenshots and info added to this post.

Operating System of Choice

My current favorite Pinephone distro is Mobian. They have a great wiki with tons of useful info that I don't find in most other distros so far. postmarketOS is also a great distro and I was bouncing between them and Mobian.

Mobian is a fairly standard Debian arm64 distro and uses upstream packages with a small handful modified by Mobian with patches for mobile. They have an installer image now to support a full disk encrypted OS and comes with tons of default apps that work great. Mobian's wiki has lots of advice how to personalize and secure your phone, from changing your username to installing the system with full disk encryption.

postmarketOS is based on Alpine Linux and doesn't use glibc like other common distros (Debian, Fedora, etc.), so has some binary incompatibility with arm64 apps built on other distros. But they have a great installer script where you can choose your username, set up full disk encrypted and default apps and generate a unique device image specific to you.

Favorite Apps

Email: Geary

Geary is basically the only mobile friendly email app so far, and it works well. I can read and reply to my emails.

Geary


Web Browser: Firefox

Desktop Firefox is actually a good web browser for mobile Linux, with the patches applied by distros like Mobian and postmarketOS to scale down the user interface. It runs well and mobile websites for Twitter and Reddit and such work. Plus, it's full-on desktop Firefox, so you can install uBlock Origin.

You can watch YouTube videos! Don't count on Netflix or Hulu though. The DRM drivers aren't there yet for ARM Linux.

Firefox

The GNOME Web browser has one advantage that you can install web applications to your home screen and they run in minimal windows, but the performance of GNOME Web isn't as good as Firefox as of yet.


Web Browser: Chromium (UPDATE)

Chromium early on did not run well at all on Mobian but I tried it again just now. I installed it via flatpak:

flatpak --user install flathub org.chromium.Chromium

Surprisingly this browser is very fast on Pinephone, like, Android fast. It has some kind of custom renderer so text looks a little more aliased than usual apps. Scrolling web pages is very slick and you can add uBlock Origin from the Chrome Web Store.

Chromium

Another plus: you can create web app shortcuts to your home screen. The usual menu -> "More tools" -> "Create shortcut..." works like on desktop Linux or Windows, and I added a Reddit app icon to my Pinephone's home screen. It runs in a minimal Chromium window:

Reddit webapp

I hate that it's Chromium, though, and Firefox's support for "single-site browsers" would provide equivalent webapp support, but Debian has missed that by just one Firefox version! You can run the newer Firefox on Mobian but you have to patch it up yourself to work well on mobile.


Reddit: Giara

Giara is a Reddit client designed for mobile Linux. Sometimes scrolling the frontpage of a subreddit will bug out the app; best to scroll by not touching any frames or widgets, i.e. along the left edge of the window. The mobile reddit.com site also works fine in a Firefox tab.

Giara


Twitter: Cawbird

Cawbird is a good Twitter client app for Linux. Of course, their regular twitter.com website works fine in a Firefox tab.

I can see tweets, post, check my notifications, send and receive DMs and all the basics.

Cawbird


Mastodon: Tootle

Mastodon is a decentralized microblogging platform. A mastodon client is a generic app that can connect to your Mastodon instance of choice. Tootle is a pretty good client app.

It has all the basic functions covered: see your Home, Local and Federated feeds, direct messages, posting, boosting, favoriting.

Tootle


Maps

GNOME Maps is a fairly okay maps application. You can search for addresses by name and find them easily, and pan and zoom the map and start navigation. The UI gets a little cramped during navigation. Good if you're not in a hurry to get somewhere.

Honorable mention: PureMaps is another good map application. On my phone it would show the street map but wasn't overlaying icons or navigation on top of it and was a bit awkward to use. GNOME Maps seems the better option right now, but check them both out as they're both getting better quickly.

Maps


Password vault (KeePass): GNOME Password Safe

GNOME Password Safe is a really good KeePass client. It doesn't have OTP generator support, though.

Password Safe

KeePassXC works as a backup if you need OTP codes. Run scale-to-fit org.keepassxc.KeePassXC and the app is workable if you squint your eyes. ;) And hey, KeePassXC is exactly the same app I run on my desktop Linux!


Weather

Mobian includes a ton of apps by default and they all work well on mobile Linux. Example of the default Weather app on Mobian:

Weather


Sleep sounds app: Blanket

Blanket is a white noise generator app that can create mixtures of rain, storm, wind, campfire and other sound effects. It runs a little slow currently, but works and is a neat concept!

Blanket


File Browser: Nemo

The default Files app on Mobian works as well as you need it to:

Nemo


Terminal: King's Cross

The terminal apps are great. The on-screen keyboard has a Terminal layout so you can get access to all kinds of control keys and special characters. Mobian and others ship with King's Cross but I hear the GNOME Terminal runs fine on mobile too!

I was able to git clone my .dotfiles repo and have my familiar zsh environment all set up, with my colorful shell prompt and syntax-highlighted commands:

Terminal


Misc Screenshots

App Switcher (Phosh)

The app switcher is pretty familiar like on Android devices. Swipe left and right between apps, swipe up to close the app. The Pinephone does really well with only 2GB of RAM, if you remember to not run too many apps at the same time. ;)

This screenshot is using the Phosh shell, which is like GNOME Shell but optimized for mobile. Your mileage may vary on other mobile shells (Plasma Mobile, etc.) which I have not tested out.

App switcher


Is it daily driver able?

If you really reign in your expectations that this is a replacement to your Android device... yes!

None of your Android apps are going to work well on GNU/Linux distros for Pinephone right now. There is Anbox as the most likely contender to run Android apps on Linux, but currently its performance isn't ideal and it needs a lot of RAM. As a last resort option it may work in a pinch, but I prefer to find alternatives in the mean time.

I'll usually install Anbox just before I'm ready to re-image my phone with a fresh OS anyway; I wasn't happy with Anbox's performance but I could install F-Droid and OpenBoard (Android keyboard) and, using that, interact with apps. Anbox clutters my app drawer with launchers for all of its apps (including the Android "Settings" app which looks a lot like the launcher for GNOME Settings) which I find inconvenient while the performance of Anbox is still poor (clicking the wrong app boots up the whole Android runtime environment!)

GNOME Online Accounts (used in most Linux distros for mobile) has built-in support for Nextcloud servers. If you stand up your own Nextcloud and upload your contact list and calendar there, you can use the Nextcloud server to sync these things to all of your devices and it works great. I just install Linux on my Pinephone, link my Nextcloud, and my Contacts and Calendar are filled out and I can browse my Nextcloud drive in the Files app.

Even if you don't have a Linux phone, Nextcloud can sync these for your Android and desktops via standard WebDAV protocols and you can break your reliance on Google to host your contact list anymore. (My current daily driver is a Pixel phone running de-googled Android).

Google, Outlook and Facebook accounts are also supported in GNOME Online Accounts, so (presumably) if you use Google to host your Contacts and Calendars that sync should work fine there too.

I hear from others that phone calls and SMS texts work reasonably well, but that MMS picture messaging still doesn't work. Some people have shell scripts to get these that are carrier-specific. I'm fine to wait a little while until these are "just working"; not that I receive MMS messages often, but if somebody starts a group chat with me or sends a picture I wanna make sure I receive it!

And, for power management the Pinephone distros go into deep sleep when you lock the screen to conserve power and it waking up in time for incoming phone calls would be a concern.

The Pinephone is more "a full-on Linux device the size of a phone" and less of a "smartphone" and for what it is, it's great! The terminal environment is fully functional and it does everything I'd hope for a portable Linux PC. And for smartphone functions... I can still order on DoorDash using their mobile website on Firefox!

What Android apps would I miss?

My current daily driver is a de-googled Android phone (which is a solid alternative) and without Google apps and services my app selection there is already a tad narrower than usual. What Android apps do I currently have installed which I would miss on the Pinephone?

Turns out there's only a few:

  • Slack: there's no way to use Slack on a Linux smartphone, as their mobile website just directs you to the Android/iOS app stores.
  • Discord: they have a mobile website but it is NOT mobile friendly and basically unusable.
  • Kik and other miscellaneous proprietary messenger apps. I only have a few contacts on these so maybe I can tell them to switch to Telegram or Matrix or something open source-friendly and which works on a Linux phone (Telegram Desktop works great on Mobian!)
  • Venmo: their mobile website works but you can't actually perform any transactions (sending or receiving money from friends). Oh well, I could always use this via an Android virtual machine on a desktop computer, Venmo rarely needs to be used "right now" anyway.

Matrix is an open source federated messenger protocol and I hear there are bridges for Slack and things if you stand up a Matrix server. There are mobile Linux apps for Matrix as well as Android and iOS (Element, formerly Riot.im) and may solve my Slack (and possibly Discord) problem.

Tags:

Comments

There are 2 comments on this page. Add yours.

Avatar image
silver posted on January 24, 2021 @ 18:58 UTC

I used slack in firefox on an unsupported android phone by setting my user agent to a desktop browser like safari. I wonder if that would still work in firefox on a pinephone.

Avatar image
Noah (@kirsle) posted on January 25, 2021 @ 00:16 UTC

@silver: good hint, actually. I successfully got Slack to work by creating a "desktop profile" in Firefox with a user-agent copied from my desktop Firefox:

Slack 1

It tried to use an awkward mobile UI that looked buggy, so I zoomed out the page to 50% via the Firefox menu and took a screenshot. And then I uploaded the screenshot in a message saying Slack works on Pinephone.

For details:

  • From the terminal emulator run firefox --ProfileManager to create a separate profile for "desktop Firefox". Thankfully, the Profile Manager UI is completely mobile-friendly.
  • In its about:config create the key named general.useragent.override with a value like Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0
  • Create application launchers so each profile (mobile vs. desktop) is easily runnable from your app menu.
    • Copy the firefox-esr.desktop launcher from /usr/share/applications into ~/.local/share/applications, one with the same filename (to override the default launcher), and one for your Desktop version.
    • In firefox-esr.desktop make the Exec= line run firefox -P default-esr to use the default (mobile-friendly) profile.
    • In the firefox-desktop.desktop make the Exec= line run firefox -P 'Desktop' (or w/e you named the profile as).
    • I set the Name= to say "Desktop" or "Mobile" instead of "Firefox" so I could distinguish the two.

Add a Comment

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