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:
- 15/12 2023 Started counting weird bugs. Updated security section.
- 27/10 2023 Added a set of processed photos to the Camera section.
- 21/10 2023 Initial text.
My current skill and knowledge level: total noob.
Daily driver usability status: it's fine.
Weird bugs occurrence counter:
- Modem randomly turned off for a few seconds: 20+
- Phone had to be hard restarted after suspending with the camera on and not waking up: 4
- Phone had to be hard restarted after getting stuck with the phonecall UI after a finished phonecall: 2
- Phone had to be hard restarted after simply refusing to turn the screen on and open the passcode prompt: 1
Contents:
- Resources
- Operating systems
- Battery, suspending
- Calls, SMS
- Internet
- Alarm clock
- Camera, photos
- Dock
- Security
Resources
- Community chat - my main source of information, tech support and more is the IRC/Matrix/Telegram/Discord group "Pinephone" that you can find linked on the wiki or by browsing public Matrix/Telegram rooms.
- PMOS wiki - Find it here. Often affectionately called "Pinephone's Arch wiki", it provides useful information regardless of your phone's operating system.
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:
You can automate this by turning the two commands into an executable script and putting it in
sudo rmmod 8723cs
sudo modprobe 8723cs
/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...