PinePhone (+ keyboard add-on) Review

Published: 2024-10-19

This is not a thoroughly planned and structured review but a spontaneous reply to a comment of someone asking if I would recommend the PinePhone. The reply turned out a little too long, so I put it here instead. I’m sure I’ve forgotten some important things.

Well, that depends on how and what you want to use it for. It’s unfortunately not suited for “regular” people but it can be amazing if you’re willing to tinker and do things in unusual ways. Here’s a wall of text if you’re interested:

I’ve been using the PinePhone daily since late 2021, and the keyboard since it released in early 2022. I personally adore it and am so happy that a device like this exists, but it’s definitely not perfect. I don’t like smartphones and touchscreens and Android/iOS, the perfect “phone” for me is a pocket-sized computer with a full physical keyboard that just runs Linux. So in those aspects it’s exactly what I want.

The main downsides I can think of are slow hardware, low screen brightness and no push notifications when the phone sleeps aside from calls and SMS. The screen is bright enough for most cases except for outdoors on very sunny days, things on the screen are barely visible under those conditions. And while the hardware is slow, it can be enough depending on how you use it. If it’s not enough for you, the PinePhone Pro is probably going to solve that once it’s ready (I don’t really follow its progress so I can’t speak on that).

I use it daily, mainly to listen to stuff (mostly with Bluetooth earbuds), watch videos, take notes, chat via Matrix and as an alarm clock (but as one of two alarm clocks to be absolutely safe, I don’t trust it fully and it has not gone off a handful of times). In general, the more you use the terminal for things the better your experience will be because CLI programs are usually very fast and usually work fine even on a small screen. And incidentally the keyboard is perfect for using terminals. I use cmus for music, emacs for notes (both synchronised with my desktop via Syncthing) and gomuks for Matrix. Many GUI programs you use on your desktop computer won’t work on the PinePhone simply because they don’t support screens that small, but by now there is something usable for almost everything.

GUI web browsers unfortunately take at least 12 seconds to open, and website performance differs wildly. Heavy sites like YouTube or Twitch are unusable while lightweight sites are smooth and fast. But you can watch YouTube and Twitch perfectly fine if you use alternative clients. FreeTube works perfectly for YouTube. For Twitch I don’t know anything that works well and does what I want, so I made my own shell script to check live channels.

The PinePhone with its 720p screen can play 1080p60 perfectly fine with hardware acceleration, but so far I’ve not been able to get that to work. It should work, I just have to take the time and ask for help to figure out how. Without hardware acceleration it can play up to 720p30 smoothly, so that’s what I watch if possible. Web players and FreeTube’s player don’t have the best performance, I use mpv. With the extra battery from the keyboard I can watch videos for hours on a single charge. With hardware acceleration it’ll probably last even longer.

The battery of the phone itself doesn’t last that long but with the big extra keyboard battery it lasts almost always throughout an entire day with multiple hours of music and video watching. So the keyboard’s battery is just as amazing of an upgrade to the bare PinePhone as having physical keys.

The camera isn’t that great, it takes acceptable pictures but nothing more. And because of how slow it is it takes a bit to open the camera program and then depending on your selected post-processing quality another small bit or very long bit to process the photo before you can take another one. So it’s not suited for quickly taking photos, but it’s enough when you can take the time and quality isn’t that important. And so far nobody has implemented video recording, at least to my knowledge.

SMS has always worked without issues for me but my incoming calls have been broken for a while and I haven’t been able to figure out why yet. But they work for others, so it must be a software/config issue. Probably again something very simple I’ve overlooked. This is something you will have to deal with, things will break and you’ll have to spend time figuring out how to fix them. But I only need phone calls a few times a year and I still have my old phone that I can temporarily put the SIM card into, so fixing calls is not a high priority for me.

There are 3 main desktop environments: Phosh, Plasma Mobile and Sxmo. Phosh and Plasma Mobile are very similar to how Android and iOS work and Phosh does work great for people who like that sort of UI (so not me) while Plasma Mobile is known to be very unstable (but I’m sure it’s been improving since I last tested it). Sxmo uses Sway and the phone’s side buttons, touch screen gestures and/or physical keyboards to navigate and do things, so it’s a very different experience. But that makes it perfect for the keyboard add-on, and it’s what I use and love. I do almost everything with the keyboard, I have tons of custom shortcuts with the Pine (caps) key for stuff like opening programs, switching windows, volume and media keys, brightness, flashlight and so on – just like on regular-sized computers. And it’s absolutely amazing. I can do anything immediately with the press of a button instead of having to navigate through touch menus. Sxmo is basically just Sway with a bunch of Bash scripts, which has the upside of it being simple and easily customisable and the downside of Bash scripts being slow, so things like turning the screen on or off, using the volume/power buttons or doing touch gestures have a very big delay, a delay other desktop environments don’t have. I don’t like that but as I said I use keyboard shortcuts for almost everything and those don’t have delays, and I edited the script that turns the screen on and off to make it faster.

You can run Android apps with Waydroid which I tried once in the beginning (I don’t need Waydroid because I have everything I need on Linux), and depending on the app it can work very well, but at least when I tried it Waydroid apps couldn’t access things like Bluetooth. And of course apps that check for rooted phones or whatever you call that won’t work.

While the keyboard is amazing in general, it’s also not without its flaws. Its extra battery is by default not used very well by the phone, so I wrote a Bash script for that which you should use along with some other manual tweaks. The rubber-dome keyboard keys have to be pressed down in the center of the key, if you press down on their edges they won’t go down. So especially when you’re new to the keyboard and still getting used to hitting the keys right you will constantly feel keys not budging and therefore not typing anything. At least to me that just doesn’t feel very good and is frustrating. After almost 3 years of daily typing on it my typing has become quite confident and I mostly hit the keys in the middle, but it still happens to me. I heard you can improve that by lubing the keys but I haven’t tried that myself yet. And ghosting may happen depending on your use case, see https://lilyb.it/tech/pinephone-keyboard#ghost-key-presses.

So to conclude – it’s amazing if you treat it more like a phone-sized computer instead of a smartphone; if you’re willing to work around things like using FreeTube+mpv instead of the YouTube website, if you’re fine with not being able to use it for stuff like 2FA banking apps and if you can accept things breaking every once in a while.

If you’re interested in a device like this, the MNT Pocket Reform might also be interesting. It has a seemingly higher-quality backlit mechanical keyboard and faster hardware, but it’s a lot bulkier and more expensive. Other than that I don’t know anything about it and I’m fine with my smaller beloved PinePhone for now, but it looks interesting and especially the keyboard looks tempting.