Review: UBports 20.04 on PinePhone
I've said it before and want to underline again that this build of UBports 20.04 for the PinePhone is a community effort and not official. As such, it does a number of things differently. The focus of this port has been to get the operating system to boot and perform some low-level functions on the PinePhone. It hasn't introduced much hardware functionality yet, such as GPS, screen rotation, and flashlight activation. These will come with time, probably before the port is declared officially supported.
I mention this because other devices which run UBports typically have a full range of working hardware and most of the bugs have been corrected. However, I didn't have a supported device on hand, so I went with this unofficial port of UBports 20.04. It mostly works the same as version 16.04, but with some key improvements. It's faster, responds more quickly, and it looks like the time sync issue has been fixed. The regressions all seem to be specific to hardware support/drivers which I suspect will be fixed in the coming months.
I wouldn't recommend the PinePhone as a daily driver as a phone, probably with any operating system. However, I will say that with it running a full GNU/Linux platform, it works pretty well as an ARM-powered testing device and as a small home server. It's silent, it has a built-in battery, it has a touch screen for times when we need local access, and it has a slot for SD cards, giving it expanded disk space. I'm quite content using mine as a backup and test server at home. Plus it fits in my pocket if I want to relocate the device.
In this way, I think of the PinePhone as a flexible single-board computer, such as a Raspberry Pi, more than as a phone. And, while running UBports 20.04, it feels well suited to this niche role.