PinePhone: Community Edition (CE) Review

By

Following hot on the heels of my Pinebook Pro review come my impressions of the PinePhone: Community Edition (CE); a phone made by the same company, Pine64. This particular edition of the PinePhone is an updated version of their 1.1 Braveheart Edition phone, while still carrying the same $150 price tag.

Why did I decide to buy this even though I’ve already got one? Well, this new CE PinePhone has some enhancements to the printed circuit board (PCB). I wanted to see if, after buying this, I can use it as my day-to-day driver.

I ordered both the PBP and the PinePhone on the same day. Both devices suffered from delivery delay due to the COVID-19 crisis, so I upgraded my PinePhone shipping from Ascendia to DHL. I then got the phone in the mail a week after my PBP (the PBP already had DHL shipping). In all the shipping costed $30…a bit uglier than I expected, but if anything it’s probably because of the pandemic we’re in.

Before I go on ahead with my review, you may want to first skim through my original Braveheart Edition review from four months ago, as I will be skipping some of the details of the unit I’m reviewing here, since it is almost exactly the same, at least in terms of hardware.

Hardware

The 1.2 unit I’m reviewing has the same specs as the Braveheart Edition I reviewed back in February: 2 GB of RAM, the Allwinner A64 SoC clocked at 1.2 GHz, 5.95 inch touch screen, 16 GB of eMMC storage, killswitches, the like. The difference with this unit is the design of the back cover and a few enhancements to the PCB. The PCB includes the following changes (pasted from the Pine64 Wiki):

The v1.2 mainboard revision changes the routing of several GPIOs to fix bugs and to improve power management. Therefore, it needs an updated device tree. The state of PL6 at boot can be used to distinguish between v1.1 (it can be pulled high) and v1.2 (it will remain low).

  1. The WiFi module’s CHIP_EN input (connected to the kill switch) is now pulled down, so the WiFi will turn off reliably when the switch is off.
  2. PL2 is now connected to the WiFi module’s reset pin, allowing the WiFi to be turned off or reset in software.
  3. The magnetometer’s DRDY pin is now connected to PB1, allowing interrupt-driven periodic sensor readings.
  4. LINEOUTP is again connected to the speaker amplifier’s INP input (like in v1.0), increasing the SNR of the rear speaker.
  5. PH7 is now connected to the modem’s AP_READY input (instead of WAKEUP_IN), allowing the modem to buffer URCs (interrupts) while the phone is asleep.
  6. The modem’s RI output and DTR input had their GPIOs swapped between PL6 and PB2, so the RI signal can be detected without powering the main pin controller.
  7. Both PL9 and VBUS_CTRL (from the ANX7688) are now connected to N_VBUSEN on the PMIC. This causes the PMIC to automatically stop drawing power from the USB port when supplying power to a USB-OTG peripheral. It also allows the ANX7688 to automatically control the direction of current flowing through the USB port.
  8. As part of the previous change, the ANX7688’s reset input was moved to PD6; this pin previously controlled the USB OTG power.
  9. Some of the regulators supplying the ANX7688 were rearranged, to reduce power consumption when the USB port is not connected and not being used to transmit video.
  10. As part of the previous change, PD11 now controls the ANX7688’s 1v0 digital power domain.
  11. The modem’s STATUS output is now connected to PH9, allowing the modem on/off state to be visible in software (note: this only works while the modem is powered). Since it is no longer connected to PB3, reading STATUS no longer turns the modem on.
  12. The modem no longer has access to the I2C bus containing the sensors.
  13. HBIAS is now connected to the headphone jack.

In basic English, that means the killswitches should properly work now, Wi-Fi can be turned on or off on-the-fly now within the operating system itself, enhanced audio output, the modem can detect more signals while the phone is asleep, and, uh, some other things listed that even I don’t quite understand. But it all sounds like good stuff!

This particular edition also ships with Ubuntu Touch out of the box. The removable back cover has the head of the UBports mascot just a little under the camera, and under that has the text, “UBports Edition”:

Back cover

The box itself has also been updated to better reflect that this is the UBports edition of the PinePhone:

Box

The box comes with the same contents as before: the phone itself with a screen protector pre-applied, a sticker to prevent the phone from turning on during shipping, a red USB A-to-C cable, and a welcome letter. But in addition, the box also includes a MicroSIM adapter, with a spare taped on the plastic casing inside, and a brief, multilingual Quick Start guide. $10 of the proceeds go to the UBports foundation.

Strangely, the letter I received is exactly the same as the one I got with my Braveheart edition. I would’ve figured I would get an updated card to let me know that the phone is a lot better now, but it still warns me that this is a Braveheart phone. Pine64 probably accidentally put the wrong card in.

The Pine Store now sells parts for the PinePhone, including cases. You can now replace your screen for $30, or get a new battery for $10. Shipping is from Hong Kong; there are no other distributors. I was going to buy a case, but when I learned shipping was going to double the cost, I turned down the offer.

Software

Ubuntu Touch

Ubuntu Touch (UT) is pre-flashed to the eMMC. In just the short four months since I reviewed UT, it’s come a hell of a long way. Expect:

  • Phone calling and texting support
  • A much snappier, stable general experience, with apps crashing far less often
  • Better software management for extended battery life; charging and the charging indicator actually works now
  • Automatic rotation of the screen in portrait and landscape mode depending on how the phone is oriented. Most apps are properly designed for landscape mode as well
  • Automatic brightness; screen turns off when the phone is close to your ear when making calls
  • Bluetooth support. I think this wasn’t working in the Braveheart days
  • All of the pre-installed apps except for the camera to work
  • Being able to change your time zone and the time shown will reflect accordingly
  • No longer needing to re-flash your device or SD card whenever there’s a new update out for Ubuntu Touch; updates can now be done over the air in the Settings app
  • No more distorted loading screen
  • Modem AND sound already configured out of the box: no need to run commands from the terminal
  • Some other enhancements I’m probably forgetting to mention

Huge shoutout to Marius Gripsgard, Dalton Durst, and Danct12 – three of the developers behind UT, particularly for the PinePhone, and everyone else who has contributed to making this operating system a whole lot better. I’m really impressed with the changes so far.

The Unity desktop lives on with UT. Except UBports renamed it to Lomiri back in late February, due to the confusion it was causing with the name conflict with the Unity game engine, as well as other reasons.

One gesture that I forgot to mention from my original review (or maybe it’s a new feature since then), is that switching between two open applications is possible by doing a short swipe from the right side of the screen to the center. This allows you to get to your apps faster without having to do a long swipe and then scrolling to find the application you want to resume.

For the longest time, I couldn’t figure out why UT would not make calls. It finally turns out that UT doesn’t seem to fare well with 4G. You can’t make calls on a 4G network. You can receive calls, but you won’t be able to hear any sound. Texts can still be sent and received; web browsing will also work, but on my end it was incredibly slow. So if you have a SIM card that’s capable of 4G, you’re going to have to force it to use 2G or 3G in order to use VoLTE.

The strange thing is, with the other operating systems that I’ve tested, everything 4G works fine. So this issue is limited in scope to UT and I’ve no idea why. When I asked UBports about it via Twitter, I was told that this might be a device and possibly a carrier issue, and was asked to file a bug report. I know it’s not a carrier issue, as I’ve tried three different SIM cards: SpeedTalk, Google Fi, and Red Pocket. The former two wouldn’t make calls until I forced 3G on them, yet, they worked on other distros. Red Pocket was already working as it doesn’t support 4G.

I really dig the ringtone. Unfortunately I could not find a link to the sound file, but needless to say it sounds original, soothing.

Texting works, as expected, even while the device is asleep:

Texting

However, MMS is not yet supported, as you’ll see in UT’s GitLab list.

One can do basic web browsing with the included Morph browser. Per the GitHub page, it is a “lightweight web browser tailored for Ubuntu, based on the Qt WebEngine and using the Ubuntu UI components.” I believe it’s a custom-made browser that isn’t a fork of Firefox or Chromium. It’s pretty functional; I can browse our web site just fine, the page automatically adjusted to fit on the screen. Playing videos on YouTube is possible by forcing the browser to use Desktop mode. The downside here is we can’t install add-ons, so you’re going to have ads bleed out wherever they are (no options to disable them either).

UT doesn’t have Firefox; nor can we install Firefox from OpenStore. The reason for this, per my response from UBports, is:

There are many ways to answer why Firefox should not be installed. On the surface level, the root filesystem is read-only and updates are performed via image-based upgrades, not via apt. Changes, including things like installing Firefox into the root filesystem, will be overwritten when an image-based upgrade is performed.

We use image-based upgrades to ensure that every device is running the same software, reducing our support overhead. This also allows upgrades to be performed more safely and easily than the traditional Ubuntu model with apt. Finally, it avoids the potential security issue of giving package maintainers root access to your system every time you install a package. Given our model is allowing developers, not blessed package maintainers, to host software in the OpenStore, this is extremely important.

It may be possible to build Firefox so that it can be included in the OpenStore. However, no one has yet attempted this to our knowledge.

It is possible to install Firefox in Libertine, the containerized solution that allows you to install packages from the Ubuntu repository on your Ubuntu Touch device. However, on other devices Firefox tends not to scale well and it has poor touch support, leading to a poor user experience. And on the PinePhone in particular, Libertine is not currently functional.

No email apps come pre-installed, but there’s a few webapps you can get from the OpenStore. I downloaded a webapp for ProtonMail, and I was able to login and check my email, with no hiccups whatsoever. No freezes, no crashes, the app screen size fit perfectly with my PinePhone screen. There’s also a Gmail webapp if you use that. In addition there’s a whole bunch of webapps for communication and social media: Discord, Twitter, Reddit, Facebook, Instagram, Skype, etc. Neither Discord or Reddit work, but I successfully managed to send out a Tweet from one of the Twitter apps.

For listening to podcasts, a great app I found is Podbird. Podcast episodes can even be downloaded for offline enjoyment. For RSS feeds, you can use RSSreader (though, for the strangest reason, my PinePhone unexpectedly shut off while I was trying to enter the RSS URL. Tried again and it worked).

Bluetooth is a bit iffy; I could connect both to my Bluetooth adapter for my car and my wireless headset, and sound was transmitting through said devices, albeit stuttering a little. My headset eventually disconnected and even after reconnecting, I couldn’t hear any sound.

Marius had supposedly gotten the camera to work a few months back…but bear in mind, it may very well be an April Fools’ Day joke, as the Tweet was tweeted on April 1. Camera discussion can be found over on GitLab; here we can find what the potential root cause is that’s keeping the camera from working. Martijn Braam from the postmarketOS team has got the camera working on postmarketOS with a script; we may be able to alter the script so that we can get other OSes to work with it.

Supposedly there’s video acceleration that’s working on UT, but your resolutions are going to be very limited. Playing videos at 1080p on one of the few YouTube webapps will introduce a lot of stutter and buffering. 720p isn’t as bad, but the microstuttering is still there.

Gaming? There’s no OpenGL ES support. So no SuperTuxKart unfortunately, at least on UT anyway. Danct12 has a video showing STK gameplay on the PinePhone, though I don’t know what distro he’s using. Most of the games in the OpenStore are 2D anyway, and the only emulator that exists is a GBC app called Gearboy Color. UBports touched on this after I had asked about it: “The performance of Ubuntu Touch on the PinePhone is not what we want it to be, and we hope we’ll be able to improve it.”

To test the battery life, I charged the device to full capacity (although, bear in mind UT will list the percentage as 98% at the highest for some reason) and tried to see how long it would last on a single charge. It took about nine hours for the battery to fully deplete. Now, this is a general number: your results are more than likely going to differ. My circumstances were as follows:

  • I was testing on the latest development channel, which at the time of writing this is version 59
  • I was constantly switching back and forth from UT to Mobian (more on Mobian later on), which meant constantly turning the device off then back on
  • Most of the time, while the battery percentage was above 50%, the screen was on, with automatic brightness. While under 50%, I mostly had the screen off
  • Most of the time I was only using one or two applications at a time
  • I had only tested this once

Not bad. You, though, my friend, will likely get at least 10 hours – thanks to recent CRUST implementations to UT – if, unlike me, you actually stay on one OS and only have the screen on when you need to use the phone. And a nice touch here, is that unlike my Braveheart phone, the battery charge will stay the same after you’ve turned the device off. For some reason, the battery’s juice was still being used in the previous iteration, even after it had been turned off.

The screen being on, of course, is going to be the biggest culprit to battery consumption, so if you have this on all the time, you may very well only get four-to-six hours, whereas if you have the display off most of the time, you could get up to 14 hours.

Pine64 may release a larger capacity battery for the PinePhone – 5,000 mAH in contrast to the current 3,000 mAh – that, as the company’s May update notes, should more than double the battery’s average life span. The blog post goes on to mention though, that as the software gets more optimized, so will the battery charge, to reach approximately 16 to 20 hours. So, if the battery life right now isn’t good enough for you, Pine64 is already aware of the problem and you can contact them to send in your vote to make 5,000 mAH batteries. Or you could wait another few months or so and the battery will likely last longer via software optimization. It will be interesting to see if Pine64 will actually be able to make the battery fit inside the case, and if not, what they will do about it. Be prepared to also lug around a device that will likely be a bit heavier.

Now let’s talk about GPS. As a pizza delivery driver, I heavily depend on GPS to work to ensure I deliver to the right address. From the OpenStore, we can install a few map apps. I tried the following:

  • a webapp for Google Maps
  • uNav
  • OpenStreetMap
  • PureMaps
  • Here maps

None of them could get my precise location. Google Maps was pretty close, but since it’s a webapp it just opens the Morph browser and I can only get directions; it won’t update dynamically as I’m driving. So I’m kinda screwed there unless I took the time to write the directions down and direct myself from that. UBports let me know of a temporary workaround, but after running those commands, all my GPS apps crash when they’re trying to get my location. I’ve yet to try GPS on other distros; I will update my review if any of them actually work.

Some of you depend a lot on music. Maybe you’re a premium subscriber to Spotify like myself and have your tunes downloaded to your phone so you can nod your head while you’re listening to hard rock in the car. No Spotify apps in the OpenStore yet. There’s a beta app of Spotify called “Futify” on the UBports forums, but I’m getting an error trying to install the “click” with UT Tweak Tool. If you have your tracks available as files, you can transfer them to an SD card and play them via the Music app.

Wait. No. You actually can’t. I tried to do this: format a MicroSD card that UT would understand, put some OGG/MP3 files in the root folder, put it into the PinePhone, and the Music app couldn’t detect anything. The app will even say, “Connect your device to any computer and simply drag files to the Music folder or insert removable media with music.” When connecting my PinePhone to my PC via a USB-C cable, it wouldn’t show up in my file manager. There’s no options in the Settings app that allows USB file transfer or the like. UBports let me know MTP is not quite there yet. For now, I can’t play any sort of music whatsoever, not even through Spotify’s web player via the Morph browser.

As for USB-C video output, naturally nothing happened when connecting a USB-C-to-HDMI adapter. Martijn Braam was able to do it with his USB-C dock, so it’s a work-in-progress. I doubt if there’s Chromecast support; there’s no app for it in the OpenStore. Pine64 filled me in on this, and told me:

Video out will be possible with a slight hardware fix. We’ll give all users, including Braveheart users, a chance to fix this minor design flaw in the coming months. More information about this will follow in the coming weeks.

As this version of the PinePhone came with Ubuntu Touch, I mostly wanted to report my impressions for this distro in particular. But for testing purposes, I tried a few other distros out by flashing them onto a MicroSD card. My brief impressions are reviewed below. (OSes can also now be installed to the eMMC with JumpDrive.)

Debian (now known as Mobian)

Inbound and outbound calls and texts work with Mobian on 4G. Mobian comes with the Phosh (phone shell – built on top of GNOME) desktop environment (why are we calling these “desktop” environments when they should be called “mobile”?) – the same DE that powers PureOS for the Librem 5.

Mobian has gotten even better since the last time I tried; there’s a welcome screen on initial startup, more apps come pre-installed, including:

  • Firefox Extended Support Release (ESR)
  • Lollypop media player
  • Geary email client
  • Fractal Matrix client
  • Map
  • Sound recorder
  • Telegram

Pretty smooth sailing with Firefox, though it seems I can’t install add-ons, as the loading circle will loop indefintely when trying to install. Trying to install other add-ons produced the same result.

Fractal was seriously slow, and I stopped bothering trying to log in when I had the incorrect password. Lollypop was functional at least by not having any clipped windows; I was really hoping to get some music playing from YouTube but it was just not working and too slow.

Otherwise, besides the slow experience, it’s been pretty stable. Additional software can be installed from the Software app. Time doesn’t need to be manually set. There are plenty of wallpapers to choose from, including a beautiful sunset:

Sunset wallpaper

Over 90 updates were available to install from the terminal. Reboot later, and I discover the automatic brightness is causing the screen to be nearly black. I had to turn the brightness back up and disable automatic brightness, but I was relieved to know I didn’t break the OS by downloading those updates.

Landscape mode can be a bit iffy at times; it has to be manually set by sliding down from the top screen and sometimes the app you’re using may appear a bit clipped. Try to stay in portrait mode if you can.

The Map app is not quite there yet, as the app is not proportionately sized to the size of the screen.

KDE Neon with Plasma Mobile

This OS is pretty functional out of the box. It includes KDE Connect and a web browser called Angelfish. Texts and phone calls work, although the screen doesn’t automatically turn off when the phone is to your ear. More software can be installed through the Discover app than OpenStore. I was able to install Pithos, but sadly the on-screen keyboard wouldn’t show up so I couldn’t try logging in to jam to Pandora tunes.

There was a massive list of updates to install, which I got notified of. Happily they all installed nicely; no hiccups there.

It doesn’t quite compare to Ubuntu Touch in terms of functionality, but I’m certain it’ll get better over time.

postmarketOS

The nice thing about postmarketOS is you have the choice of what mobile environment you want before installing with pmbootstrap. You can choose between phosh, Plasma mobile, mate, xfce, along with a few other options. postmarketOS is based on Alpine Linux – the goal is to try and make the OS take as little space on the phone’s storage as possible, while still being lightweight on other resources.

First I tried with Plasma Mobile. I couldn’t even launch the Settings app. I couldn’t make calls either (probably because how awful my service is; it’s got nothing to do with the software).

As for phosh, it’s very barebones for pre-installed software (as expected since they’re trying to make the image size small). No additional backgrounds can be chosen from. Landscape mode actually works. You’re going to have a hard time adding contacts for people you want to text, as there’s no address book app.

Speaking of postmarketOS, Pine64 has announced that they will ship yet another PinePhone: CE with postmarketOS pre-installed with phosh. There may be some changes to the circuit board by then, but we don’t know for sure right now. I know I probably won’t upgrade by then unless there’s some pretty big changes, as I’ve already got two PinePhones.

Fedora

Yet another distro that uses the phosh interface. It’s based on Fedora 33 Rawhide. A bit barebones for pre-installed software, but includes Cheese and the Evolution email client. Calls and texts work, like most distros that I’m reviewing here. One thing that I’ll note, is that not enough space gets partitioned during the flashing procedure. If you try to install updates, you’ll quickly run out of space on your SD card. You’ll need to expand the partition on your PC, like so:

sudo parted /dev/your_sd_card_devic
* (parted) resizepart 2 100%
* (parted) quit
sudo resize.f2fs /dev/the_second_sd_card_PARTITION

openSUSE

openSUSE was ported to the PinePhone just a little over a week ago and uses Phosh. Naturally, as it’s coming fresh out of the gate, it’s pretty buggy. The Settings app will often freeze depending on what option is tapped. There’s no texting app here. Landscape mode is very bugged. Good news though, is that calls work.

One thing I want to make clear here, is Pine64 doesn’t do any of the software development for their products. The software that runs on them is entirely done by the community. Still, with the way most of the operating systems have come so far, the PinePhone is really now a work of art!

Can The PinePhone Really Replace Your Phone?

A few months ago, had you asked me the same question, it would have been a resounding no. However, nowadays, I don’t want to deliver an overly-optimistic “yes” either. It really depends on what you use your phone for and what you do in your day-to-day life. The essentials are there: calling, texting, basic web browsing. If you won’t lose sleep over the following:

  • lack of 4G calling on Ubuntu Touch
  • having the patience to write down directions to get to your destination
  • lack of music
  • intermittent issues with Bluetooth headphones
  • no camera support yet
  • use horizontal scrolling in your web browser to play YouTube videos since you have to use desktop mode

Then you very likely will be able to use the PinePhone: CE or even the original PinePhone as your daily driver. For myself, I could easily fix my issues by doing the following:

  • use another distro for 4G calling
  • get a dedicated GPS device for navigation (think Garmin)
  • get an iPod Touch for Spotify playback or otherwise generic MP3 player for local music
  • keep using my Pixel XL for photos

As I think about it, playing around with the PinePhone has made me realize just how spoiled I am with modern smartphones and how capable they are at multitasking. 15 to 20 years ago, we were all using “dumbphones”; you know, those flip phones where you had to raise the antenna for 2G or 3G connectivity, and if you wanted to text with a numpad, you had to tap one of the numbers several times until you got the character you wanted, nevermind the word. And we lived just fine back then: we had our iPods for music, cameras for our photos, Garmin for our GPS (or perhaps you actually had a physical map book and took the time to study it before you drove)… and our phones just did the essentials.

My point? It kind of feels as if the PinePhone is re-entering that phase of dumbphones (not that the PinePhone is “dumb” by any stretch of the imagination – it’s brilliant as a matter of fact), where it does the essentials, but later on, as the developers work tirelessly on the software, it will become an increasingly reliable product, up until the point that it does what flagship smartphones do and we will no longer need separate devices for GPS, music, etc. And besides some of the broken, outdated apps on the OpenStore, we can already use things like Twitter, email, YouTube. So it’s getting there.

Proprietary apps may be a hurdle, however. My biggest problem is the lack of Spotify support and no GPS. Will these ever see the light of day? For GPS, definitely. For Spotify or other proprietary services, hopefully Futify and other third-party apps will get there. I’d imagine it’s possible, seeing as we’ve already got webapps for Discord, Facebook, Twitter, and the like.

This is where Anbox – a containerized solution for running Android apps on other platforms – becomes a huge benefit. UBports doesn’t know when we’ll see a beta release of Anbox for Ubuntu Touch specifically for the PinePhone; installing Anbox on other Ubuntu Touch devices is possible, but the PinePhone is not currently on that list. Anbox support for Ubuntu Touch was announced way back in 2017; I’m looking forward to Anbox making it’s way to the PinePhone. That way, depending on how the apps work, we may very well have the essential apps that we need, like banking (though I personally prefer to do my banking on a desktop rather than on mobile). On the other hand, there may be a lot of apps that won’t work from the get-go and we may have to wait a while for the software compatibility to mature.

But the PinePhone has the added benefit of being a mostly open device (check out Martijn’s blog post of the comparison between the PinePhone and the Librem 5 over at Tuxphones to see what parts of the phone are open- and closed-source), driven by open-source software. Say goodbye to locked-down hardware, and hello to a much more privacy-conscious world – provided that you’re not signing into your Google account at any point in time while using your phone and you’re not using the web browser much, due to ad tracking, unless you’re using an OS that gives you better options for web browsing – with the added plus of updates coming indefinitely as long as you own the device.

For the best out of the box experience, I highly recommend Ubuntu Touch. A close second would be Mobian. Other OSes may require some additional tweaking for a better experience. But it’s pretty much there. It’s. Actually. There. Or close, anyway.

Again, a big thanks to all the open-source developers out there for making this possible, and thanks to Pine64 as well, for making this somewhat-open-source, privacy-oriented device at a great price. Another thanks to UBports for reaching out to me on Twitter and providing the answers to the dozens of questions that I had. Here’s to more truly Linux smartphones in the future (where are you, Librem 5?)!