Pinephone notes

This page serves as a collection of my notes, tips, ideas and plans regarding the Pinephone. Mine is a non-pro Pinephone beta edition with 3GB RAM running PostmarketOS with Phosh, keep that in mind, some of the information here will be specific to that setup.

Changelog:

My current skill and knowledge level: total noob.

Daily driver usability status: it's fine.

Weird bugs occurrence counter:

Contents:

  1. Resources
  2. Operating systems
  3. Battery, suspending
  4. Calls, SMS
  5. Internet
  6. Alarm clock
  7. Camera, photos
  8. Dock
  9. Security

Resources

Operating systems

Manjaro

The Manjaro that the Pinephone arrived with sucks. I suppose that this is due to the fact that it ships hopelessly outdated. However, attempting to update it left me with a "Failed to read Who-Am-I register" error after boot. No idea what that means. The agreed upon solution to this problem is to flash a new OS. One interesting thing I found in Manjaro was its included Angelfish web browser that was noticably faster than Firefox and included its own ad blocker. I will have to find out more about it.

PostmarketOS

PostmarketOS is very good, it just works.

Installation was simple enough, make sure to download the image with the -installer.img.xz extension for a nice graphical install. You can even enable full disk encryption, but more on that later. Make sure to flash to /dev/sdX instead of /dev/sdX1 or something. I did that initially and wondered why it wouldn't boot. I tried holding all sorts of key combinations while booting to try to boot from the microSD, but it turns out that the non-pro PP always boots from the microSD first if it's possible.

I installed it with the Phosh desktop environment which looks like what you would expect a phone desktop environment to look like. One alternative that I wish to try is Sxmo which is based on i3wm and uses the physical volume and power keys as the main means of controlling the phone. Looks awesome.

With Phosh, you get pretty much what you would expect - programs for phone functions, the camera, calendar, music player... More on those later. The UI is just fine. Popup windows are a bit wonky because they get opened as a new window so you will have to close them from the program switcher.

Regarding settings, since it is fairly glued together like any other mobile distro, you get three sets of settings programs - "Settings", "Mobile settings" and "Tweaks". If you're going to do any sort of configuration of the phone while looking at your computer, I recommend that you temporarily turn off the timed screen lock in "Privacy/Screen Lock" in "Settings". In "Experimental features" in "Mobile Settings" you can enable manual suspend which you will then be able to find in the drop down quick settings menu on the top, you will find that useful when testing if various events wake your phone up.

Battery, suspending

Battery life

The battery life is just fine as long as you let your phone suspend. If you install PMOS+Phosh, you will experience a critical bug that would prevent your phone from going to sleep in a very funny way - when the phone is about to fall asleep, it sends out a notification that it's going to sleep, and this notification prevents it from going to sleep. There's a simple fix which you will need to do, simply open your terminal and run gsettings set sm.puri.phosh.notifications wakeup-screen-triggers '[]'. You only need to do this once. Other notifications may prevent the phone from going to sleep but I'm not sure how exactly that works. The fix was merged into stable recently so you may not have to even do this.

The actual time depends on a million things and the displayed percentage number is not very telling because the charging/discharging process is not linear and the percentage indicator doesn't attempt to convert it into a linear representation either. The following numbers are extremely rough: the suspended drain rate seems to be under 2% per hour. A full night's sleep drains something between 10% to 15%. A 20 minute call drained about 10%. An hour long compilation of Mongolian throat singing viewed on Youtube from Firefox using wifi dropped the battery by 40%. Browsing the internet to read the news and whatnot drains the battery to an acceptable level, if that's what you use your phone's browser for, you'll be totally fine. I didn't need to charge more than once a day when carrying it for normal use. Like with a regular phone, keep wifi off when not using it.

Charging

The phone supports those 3A fast chargers, which is nice. In "Power" in "Tweaks", you are supposed to be able to limit the maximum charge level to protect your battery, but I found that it didn't work. I will have to keep an eye on my phone when it's charging.

I bought a magnetic charging kit to protect the phone's female USB C port, it came with a USB C plug into the phone and a USB A cable and these two connect with a magnet. For charging it works very well. Sadly a male USB A cable was all that was available in my area, an adapter ending with female USB C would have been better because then I could test it with the dock as well. I will have to likely obtain multiple adapters to try a magnetic connection to the dock.

Power button, LED

I want to modify the behavior of the power button. Currently, pressing it just turns the screen off. To suspend, I have to either go into the drop down menu and do it manually or lock the screen and leave the phone alone for a while. I want to be able make the phone instantly go to sleep. Perhaps just by pressing the power button? Or leave the single press to turn the screen off and use a double press it to suspend? Hold it for a while? Maybe suspension not being instant is intentional and there's a reason why I would want to keep it this way, please contact me if that's the case. While we're at it, I'd like to be able to toggle the virtual keyboard with the power button somehow, perhaps a short hold? The toggle button on the touchscreen is easy to miss but I'd be wasting screen space if I made it bigger.

It'd be nice to modify the RGB LED behavior to indicate that the phone is suspended. Playing around with the LED is documented on the PMOS wiki. Currently, the LED slowly flashes blue on and off when you have a notification and the flashing is controlled by the CPU which sleeps during suspension. As a consequence, when your phone is sleeping and you have had a notification, there's a 1:1 coin flip whether your LED will either statically glow blue or will be turned off. Making it orange when suspended would be neat.

Calls, SMS

Calls and SMS work out of the box on my further unspecified European carrier. The sound quality is good. The top speaker for calls is loud enough. After a call, your volume buttons might be set to manipulate the top speaker instead of the rear main speaker. Just open sound settings in "Settings" and switch from the earpiece to the speaker.

Both calls and incoming SMS correctly wake the phone up from suspend. The incoming call sound should be modifiable in "Sound" in "Tweaks" but I haven't tested it. I like the default one.

Internet

Mobile data

4G works out of the box on my further unspecified European carrier, not much to say. It doesn't consume too much energy.

Wifi

Since this is Linux, there are bound to be wifi problems. It does work out of the box, but being suspended can sometimes break the driver, as described on the wiki. You will then have to fix it by:
 sudo rmmod 8723cs
 sudo modprobe 8723cs

You can automate this by turning the two commands into an executable script and putting it in /usr/libexec/elogind/system-sleep/ similarly to what's described here.

Alarm clock

It's possible to use the Pinephone as an alarm clock even when the phone is not charging. The default clock program correctly tells the RTC to wake the phone up from suspend when it's time to wake you up. Make sure the phone is actually suspended before going to sleep or you will wake up late with a drained battery. Make sure that you have run the bugfix from the battery section and when in doubt, suspend manually.

The default alarm clock sound can't be heard from the phone's speakers very well and would definitely not wake me up. There's a "Custom Profile" option in the "Sound" section in "Tweaks" but it did not work for me. I ended up just replacing /usr/share/sounds/freedesktop/stereo/alarm-clock-elapsed.oga with something more proper. You can just rename an "ogg" file to "oga", it will work.

Apparently, you can make it possible to stop/snooze the alarm from the lockscreen by adding X-Phosh-Lockscreen-Actions=app.stop-alarm::;app.snooze-alarm::; to the gnome-clocks desktop file. Just hearsay, I didn't try it.

Camera, photos

The default camera application is called "Megapixels". You can use both cameras and you can configure the ISO and shutter, or let the program try to calculate them. I found that setting the values manually often produced better results but it was obviously slower. After taking a photo, it will start getting processed in another thread. You can take photos while a photo is processing. Processing takes a lot of time, using a Polaroid and letting the photo develop would probably be quicker.

The camera is unburdened by today's omnipresent AI photo manipulation and will not enhance your face or the Moon. As a result, the photos look somewhat primitive yet soulful. They feel as if they were taken by the digital equivalent of an old Soviet camera. Be careful, EXIF data about the camera is saved!

Oh yes, the camera application sometimes freezes the phone so hard that it requires a hard reset. I haven't been able to find out the exact steps to reproduce the issue yet. The common denominator was letting the phone suspend after taking photos and letting them get processed. After that, the phone wouldn't wake up.

Please enjoy this short gallery of photo samples. This batch was processed with the builtin script which pretty much just saves the raw camera data:

Here are the same photos after being processed with included postprocessd-single script:

A stacked version of postprocessd is also available which uses several raw photo files as an input.

Dock

My Pinephone arrived with a nice dock that has two USB ports, an HDMI port and an Ethernet port. It accepts USB-C as its power source. I highly recommend that you obtain a 3A source if you wish to use fancier peripherals with LED backlights and such.

The USB ports work out of the box, if a mouse or a keyboard is plugged in, you will see a mouse cursor on the phone's screen. You can power the peripherals with the phone alone but according to this source, you can only squeeze out 500mA at 5V (2.5W) out of the Pinephone itself. You might need to buy a new keyboard with no backlight if you intend to use it on the go.

HDMI did not work out of the box and I did not test Ethernet.

Security

This guy says it best. I'll settle for restarting the phone after a few failed login attempts. I'll just hope that no one does a cold boot attack.

Home...