In a day and age where our phones can be remotely accessed by Google — through the screen itself, the camera, the microphone, our location, among many other ways — the time for a new device to enter the market to strip all that spyware and bloatware away has never been better.
Enter the PinePhone: a handset created by Pine64, the makers of the single board computers PineA64 and Rock64. At a fraction of the cost of most flagship smartphones, this phone embraces a radical change both in terms of software and hardware: a phone that runs something other than Android or iOS. A phone that’s designed to run the mainline Linux kernel, with most proprietary software and hardware stripped out. A phone that’s got killswitches for privacy of mind. A phone that’s truly hackable and easy to tinker with.
Not only this, but so long as the community stays behind such projects as Ubuntu Touch, Plasma Mobile, postmarketOS, and LuneOS, your phone will continue to run just as great — if not, better — three years from now. You could have the same phone ten years later and it won’t get bogged down with unnecessary bloatware. The thing will still run, with continued security updates, without hiccups or slowdowns, without you having to upgrade your device — unless, of course, you had the misfortune of physically breaking it.
Such is the beauty that the PinePhone offers. Now, there is another smartphone out there designed to be de-Googlized — that would be the Librem 5 by Purism. There’s also supposedly the Necunos NC_1, but that project seems to have experienced some serious delays, so, there’s not much to say about it for the time being.
When I was deciding to get either the PinePhone or the Librem 5, the PinePhone was a clear winner for me, mainly because it’s less than one-fifth of the cost of the Librem 5. It might have less, slightly slower memory, a more outdated system on a chip, half the internal storage, lower quality cameras, among a few other disadvantages (I’m making these comparisons based on Martijn Braam’s blogpost), but these factors didn’t bother me much. A (mostly) open-source smartphone for $150 with $15 shipping? I couldn’t go wrong with that. I’m sure if you’re a Librem 5 owner, however, there’s other disadvantages that I didn’t mention here that you’d be eager to point out to me. If so, let me know your thoughts in the comments.
A Few Disclaimers
Before I go ahead with my review, my answer to the question of this article is (spoiler ahead) a definite no. That being said, however, the PinePhone that I’m reviewing is dubbed the “Braveheart Edition.” As the name implies, this edition is the release ahead of the official one in March (update: will be April or May now due to the coronavirus and the software needing to be in a more stable state), and may be different than the final product. What changes will be made between now and then, that obviously no one knows yet, but I’m sure it will incorporate some of the suggestions of end users. (Edit 2/16: the list of known issues with the Braveheart Edition are listed on the Pine64 Wiki.)
Another thing to add here is, the software lineup for Linux phones right now is very, very much in its early stages. Bugs, glitches, crashing, freezing, and inconsistencies are to be expected. There are features — depending on the operating system — that just aren’t working right now, like calling, GPS, Bluetooth, and cameras, even though these have already been implemented on the hardware side. And this wouldn’t matter if I was reviewing the PinePhone or the Librem 5; the software will be nearly one-hundred percent comparable between the two, unless we’re talking about PureOS — that which us PinePhone owners can’t use for the time being, until someone ports it over.
With that out of the way, let’s go on ahead to see what the PinePhone is currently capable of.
When I finally got my PinePhone in the mail about a week ago (it was shipped from Hong Kong two weeks prior), I was surprised to see that it was actually about a quarter-inch taller than my 2016 Google Pixel XL.
It came in a white box with a screen protector pre-applied and included was a red USB-A-to-C cable, as well as a cute little note that read:
Congratulations on receiving your Brave Heart edition PinePhone!
You are one of the very first to have a PinePhone. We hope you’ll help us and our partner projects by contributing to its development.
Your input is valuable, so it is important that you report whatever problems you encounter. Please, include relevant logs and/or UART outputs.
Join the conversation on whichever platform suits you. You can report non-OS specific (kernel) issues you encounter on: https://gitlab.com/pine64-org. OS specific problems should be reported on the PINE64 Wiki (wiki.pine64.org/PinePhone#Software Support) as well as directly to developers in the pinephone chats (Forums and Chats tab on https://pine64.org), on PINE64 forums (forum.pine64.org) or on the relevant partner-project forums (see Partner Projects tab on https://pine64.org).
Brave Heart phones come preloaded with factory test software and nothing else. So you’ll have to seek out the OSs that interest you on your own. Keep in mind that all the OSs are presently pre-release and vary in functionality, even from one pre-release to another. Most mobile distribution OS images are linked on the PinePhone subsection of the PINE64 Wiki. Obtaining OS builds absent from the Wiki may require talking to their developers directly.
The PinePhone Wiki subsection also contains schematics, instructions, hardware configuration details, and other useful information about your device. You can edit and contribute to the Wiki by logging in with your forum credentials.
Brave Heart is meant for early-adopters — developers and enthusiasts — so we expect and encourage you to experiment with the software and hardware by pushing the envelope. That said, please keep in mind that the device is under standard warranty, so breaking components during disassembly or tampering with eFUSEs will void that warranty.
Now, have fun with your PinePhone!
PINE64 Community Team
The LCD touchscreen measures 5.95 inches and has a resolution of 1440×720. It has a 64-bit, quad-core, 1.2 GHz ARM system-on-a-chip (SoC) dubbed the Allwinner A64, with MALI-400 governing the GPU; 2 GB of LPDDR3 RAM; 16GB of eMMC storage; a 2MP selfie camera and a 5MP main camera; and a 3,000mAh battery. Wi-Fi is single-band (only connects to 2.4 GHz networks. The Librem 5 can connect to both bands) and capable of connecting to b, g, and n networks, while the Bluetooth works with devices up to version 4.0. The modem is a Quectel EG25-G — the good news with this, is this modem in particular supports many bands and should be able to be used anywhere in the world.
The PinePhone uses USB-C for charging, as well as video out if the user desires. Cellular connectivity is supported via a microSIM card, and up to 2TB of external storage can be added with a MicroSD card. Of course, like most smartphones, the PinePhone additionally has a gyro sensor; GPS; vibration; volume up/down and power keys; and an RGB LED that sits on the top-left for activity.
All of this is enclosed in a plastic black matte finish, the device a little less than half-an-inch thick. Embezzled next to the back camera is the Pine64 logo, and towards the bottom of the back of the phone lays the speaker. The back cover can easily be taken off by applying a bit of pressure on the lower-right corner. This will give us access to six killswitches, the battery, and the Micro SIM/SD card slots. While the hardware may be a little outdated by today’s standards (the SoC itself is about five years old at the time of this writing), this is probably what makes the PinePhone so affordable.
Unfortunately, but realistically, the PinePhone is not completely open, at least in terms of hardware. There are some proprietary blobs at work here, namely: the modem — and, obviously, whatever carrier you are using to transmit texts and phone calls — the Wi-Fi, and the bootloader. But the great thing included with the PinePhone that you don’t see in most other phones? Killswitches.
While some users may be content running an open-source operating system that should (theoretically) be free from the massive surveillance of Google, Apple, or the NSA, others can go even further with the use of the killswitches that are included in the PinePhone. By taking off the back cover, six physical switches can be located towards the top-right. In order, they kill the following services:
- Wi-Fi and Bluetooth
- Rear camera
- Selfie camera
The headphone switch in particular, when turned off, will activate serial mode. By connecting the phone to a computer via a serial port adapter, the bootloader (u-boot) logs can be viewed, and perhaps even kernel logs depending on how the operating system is configured.
As of the time of writing this, the Pine Store is not selling parts for the PinePhone. So, if you wanted a bigger capacity battery, or you wanted to replace a cracked screen, you’d have to look for a third-party alternative elsewhere.
The Braveheart Edition of the PinePhone does not ship with any OS. You can, however, test various features of the phone upon powering it on. I had to take the plastic tab off from the back of the phone where the battery connects — this is to prevent the phone from accidentally turning on during shipping — in order to use it. A postmarketOS splash screen will appear, then the screen turns white, with various buttons to test different features. You can test things like:
- The touchscreen
- RGB LED
Among others. This comes in handy for making sure everything works on your phone. As for running an operating system? That requires a MicroSD card, a distribution of your choice, and a computer that has the software necessary to flash images to the SD card.
The beauty of the open-source nature of the Linux kernel, is that we have various distributions to choose from to fit our needs. Even though most mobile Linux OSs right now are in a beta or even an alpha state, we have our options here too. So far supported on the PinePhone are (according to the Pine64 Wiki):
- Ubuntu Touch
- Plasma Mobile (Neon)
- Nemo Mobile (open-source SailfishOS build)
- Maemo Leste
Since I’m familiar with Ubuntu, I wanted to take the safe route first and started with Ubuntu Touch. Ubuntu Touch also supports Anbox, so having compatibility with certain Android apps is a definite plus. Thirdly, based on what I’ve read from various forums across the Internet, users have mentioned Ubuntu Touch as one of the most polished mobile distros out there at the time being.
After downloading the latest image from UBPorts (the community behind Ubuntu Touch. Unfortunately Canonical dropped the ball with Ubuntu Touch a few years ago), I downloaded balenaEtcher, inserted a 128GB Samsung MicroSD into my desktop, then flashed the image onto it. Putting the card into the back of my PinePhone, I hold the power button and low and behold, I see a few Tux penguins across the top of the black screen, the rest of the screen filled with console text that looks similar to the text one might find upon booting any Linux-powered PC.
After a distorted Ubuntu loading screen appears, a welcome screen follows, with that familiar orangeish-purple background found on a typical Ubuntu distro’s wallpaper. The same screen asks me for my language. No text is clipped so far, and scrolling up and down the list of languages seems to be working fine. So far so good. I tap English, then tap Next.
What happens next? My SIM card apparently isn’t inserted into the phone. That’s what the OS is saying to me, even though I double-checked to make sure the microSIM was put in properly. Later on I learn that this isn’t actually a physical problem — the modem has to be activated via the terminal — but for now I tap Skip.
The Wi-Fi screen seemed to work fine — I was able to select my network, enter the passphrase with the on-screen keyboard, and the phone connected. Then I was met with just the background.
Some users are agnostic to Unity’s interface, but that’s what you’ll get here. The app drawer looks very similar to the sidebar you’ll find in Ubuntu prior to their using GNOME. Slide your finger from the left side of the screen and the app drawer will be revealed. Slide your finger from the right and you’ll be presented with the apps that are running. Closing an application is just like in Android — slide the application window upwards and it’ll disappear. Slide from the top, and you’ll have various options to choose from, like turning the Wi-Fi/Bluetooth on or off, or shut the phone down or restart it. You can also check the battery level here. All of this was a mostly smooth experience.
Speaking of battery, the life of it seemed pretty good to me. Though I only briefly tested Ubuntu Touch, the battery went from 65% to 55% in an hour or two, with the screen mostly on, the brightness about 40%. Strangely, charging didn’t seem to work. By using the provided USB cable in the box, connecting my phone to my desktop produced no results. It could be a faulty cable, or something might have to be activated in the terminal to enable charging. Or I might need a higher amperage connection.
Half of the built-in apps didn’t work. They would crash immediately upon startup, stay on the screen for a second then crash, or, as in the case of the Camera app, the screen stays black, because the cameras simply aren’t implemented yet. The weather and clock apps are examples of these.
Sound has to be manually set with the terminal app with a few commands. I couldn’t even change the volume with the physical buttons; volume has to be set in the terminal itself. A user in the forum I just linked brought out that these sound settings can be saved with another command — if you don’t, you’ll have to reissue the commands again if you want sound the next time the phone reboots.
This is the same problem with the modem. The modem has to be activated as follows:
sudo /usr/share/ofono/scripts/enable-modem sudo /usr/share/ofono/scripts/online-modem
Don’t want to have to enter that again upon reboot? You’ll have to write a bash script for that.
Now here’s another problem: I had to type these commands with the on-screen keyboard. I couldn’t SSH into the phone with my desktop for whatever reason, even though SSH is pre-installed with the OS. So, unless I can find a way to SSH into my phone, issuing commands in the terminal is going to be a painstaking, laborious process.
Once I got the modem up and running, the Speedtalk service worked, to my surprise, with little to no configuration afterwards. I was able to text my Pixel, and my Pixel got the text with the new number I got with the SIM. Phone calls though? That’s still a work in progress with UBPorts.
Some apps, even though they appear to work, can be a bit finicky at times. For instance, trying to check for updates for my phone via the Settings app made the app hang in a loading loop. I guess updates have to be done through the terminal for now. I couldn’t change the time zone or the time itself, because tapping on Okay simply did nothing.
Ubuntu Touch includes an app store, aptly named OpenStore. There’s a couple hundred apps there, each fitting into a certain category, like music or video. I tried to install Pandora. Instant crash on startup. Then I tried YouTube Music. Hey, this one actually works! But the app hasn’t been updated since 2018, and I still I get a little popup at the lower left of the screen asking me to get the YouTube Music app. I thought I…oh, nevermind.
I didn’t try messing around with rotating the screen too much, but at the times when I did, the screen remained in portrait mode. Could be a limitation with the app itself, might be one of those things that has to be activated in the command line, or it’s just not implemented yet in the software.
Out of curiosity, I went ahead and tried Plasma Mobile as well. This distro looks nice out of the box, and you’ll feel right at home if you’ve used KDE before. The bottom part of the screen has three buttons, similar to Android: the first on the left manages your windows, the center brings the interface back to the home screen, and the third will close whatever application you’re using. Like Ubuntu Touch, this OS features an app store called “Discover.”
Trying to download SuperTuxKart from Discover failed. But I had success with SuperTux 2. There wasn’t much I could do afterwards — all I could do was select different options in the main menu with the touchscreen; I couldn’t even advance from one menu to the next. Once Bluetooth is working in the future, it will be nice to connect a wireless gamepad to the phone and actually have it work in the game.
Some windows will appear a bit clipped, and they look much the same to the windows on KDE, so, while the buttons work, it doesn’t look very mobile-friendly for the time being. And forget about texting or calling; I couldn’t even check the box to enable mobile service even though I repeatedly tapped it. There are no scripts to activate the modem in the terminal either.
Sound didn’t work, and trying to issue the same commands from Ubuntu Touch onto here yielded an error. The good news, though, was I was able to SSH into my phone from my desktop, so I got to save some time typing the commands.
One other thing I’d like to mention with this OS, is that the screen flickers when it’s dimmed. It’ll be dark, then briefly flash a brighter backlight, and then repeats back and forth.
It’s The Software, Not The Hardware
In terms of the PinePhone itself, I honestly find no complaints with it. It’s even bigger than my Pixel XL, the same thickness, and runs Linux software. I’ve never felt it getting too hot on me. Everything on it is there; it’s just that some parts have to be manually activated from the command line interface or are not supported by the software yet. I’m sure this hassle will be fixed in a matter of months from the software developers. So, I’m pretty content having the Braveheart Edition of the PinePhone; I see no reason to get the official version unless there’s been a groundbreaking fix that I’m not aware of right now. An extra gig or two of RAM would likely help too, but again I’m certain the software can consolidate the resources to fit inside the two gigs already in the phone with space still left over.
Will I be able to replace my Pixel, which received its last security update in December, though? Of course not. The software has got a long, long way to go before the PinePhone can be reliably used as a day-to-day driver. As you’ll be warned when downloading any mobile Linux OS, these distributions are in a beta state and should really only be used for testing purposes. While I suppose if you only use your phone for texting, you could probably get away with Ubuntu Touch, but even then, if your car breaks down and you need to call AAA, you’re going to be stuck.
Give it by the end of this year, though, and I think the software will be at a point where most Linux users will be comfortable using it — for texting, calling, and using any Android apps that a lot of us depend on. One thing I like to keep in mind too, is that most of these distributions are being developed by volunteers who generously give their coding time to these. So, they don’t have the financial backing of bigger corporations.
I’d like to thank UBPorts, the Plasma Mobile devs, the postmarketOS devs, as well as everyone else who’s contributing to true Linux mobile development. May 2020 be the year of a new de-Googleized smartphone!
Did you get a PinePhone yourself? Or a Librem 5 for that matter? How’s your experience been with it so far? Do let me know in the comments.