My Pinebook Pro has been riding the struggle bus lately. It's at the point where I'm starting to think that I need to drop Manjaro XFCE on it and start considering a different operating system in the hopes that what I'm experiencing are OS issues rather than device or firmware issues. This wouldn't exactly be new territory for me, as just a couple of months ago I finally gave up on using Manjaro XFCE on my Star Lite laptop. I simply ran into too many bugs with Manjaro and swapped to Xubuntu, where things have been going much more smoothly for me. I'm not confident that an OS swap will fix what I'm experiencing now, though.
Initially, Manjaro was a significant step up for my Pinebook Pro, which is old enough that I received it running the old Debian image that was so highly customized that a sizable number of software packages on it couldn't be updated, making it a security breach waiting to happen. After seeing the amount of love that Manjaro was getting in the Pine64 community, though, and how invested the Manjaro folks seemed to be in working well with the Pinebook Pro hardware, it seemed like a smart move. When Manjaro KDE became the default OS on new Pinebook Pro units, I decided to flash Manjaro XFCE onto my device's eMMC. It was exciting to go from not being able to update anything to having updates available constantly. I'd typically only use my device once or twice a week, and basically every time I fired it up there would be a significant number of updates available.
The honeymoon didn't last forever, though. One of the initial issues I saw was with respect to the battery. Unlike Debian, Manjaro features both a "Suspend" and "Hibernate" mode for sleeping the device. To my understanding, Suspend is supposed to remove power from most of the hardware but keeps the RAM warm to facilitate waking seamlessly and rapidly, though this obviously comes at the cost of draining the battery more to keep the RAM powered up. When using Suspend, I could let the device sit for about a day and half before it would be completely drained. Hibernate, on the other hand, writes the content of RAM to the swap space -- enabling Hibernate will actually fail if you've forgotten to create a swap space -- to save on power but still allow for the state of the device to be saved. That being said, if you don't have any applications waiting between sessions, the time to return from Hibernate and to boot from being fully powered off is, to the best that I can tell, exactly the same. As a result, I'm better off simply shutting my device down between uses.
While the battery can cause annoyance, I've since discovered far more significant issues. One is that the wireless NIC is periodically not recognized by the operating system when I either boot or wake the device. It'll simply show that no network devices are available, and using the XFCE UI to toggle networking off and back on makes no difference. If I was more savvy in the realm of Manjaro/Arch, I may be able to do some further troubleshooting via the CLI. Given that Debian-based distros are my forte, though, I typically just reboot and hope for the best since that's faster than grabbing another device which is connected to the Internet in order to start looking up solutions. A reboot will typically fix the issue, but not always. Earlier this week, I had the exact same behavior after a reboot. At that point I just shut down my Pinebook Pro and used another device for what I wanted to do. I left the device off until I decided to write this post, and I was happy that after a few days of sitting in the corner my laptop was able to connect to WiFi once again.
The firmware woes don't end there, unfortunately. The trackpad on the Pinebook Pro has always been a bit of an issue, with a very noticeable latency when using it that made precise movements very difficult. Clicking large buttons on web pages was simple, for example, while clicking the small x buttons in XFCE to close application was a struggle... especially for applications which weren't fullscreen, meaning that the button wasn't forced into the top-right corner of the screen. I had hoped that this problem was about to be solved a few months ago when new firmware was released that dramatically reduced the latency. After following the well-written community documentation to go through the slightly nerve wracking process of flashing the new firmware -- which included a small but non-zero chance that the ability to use the trackpad could be completely bricked -- things were working much better for me... until they weren't.
While the new firmware worked great most of the time, I started to periodically see problems where touching the trackpad with my finger would cause the cursor to "jolt" as if simply touching the surface were registering that I moved my finger about an inch or so either up or down. This wouldn't typically manifest itself immediately after a wake or boot, but would randomly crop up after I had been using the device for some time. When it happened, though, it made using the device nearly impossible. While I could fight against it to move the cursor where I needed it to be, lifting my finger off the trackpad and then tapping down to register a click would cause the cursor to jump either up or down, meaning that I was clicking on either 1.) nothing or 2.) the wrong thing. At that point, I was back to struggling to interface with the device enough to reboot it and hoping for the best after that.
While trying to write this post the first time, I ran into yet another issue which may be related to the last problem and may be something entirely new. While using the Tumblr web UI to write the post, my device suddenly kicked me back to the login screen as if I had opted to lock the screen. Weird. I tried to enter my password in order to log in only to discover that the keyboard wasn't working. I could still use the trackpad to move the mouse cursor, but tapping on it would no longer register as a click. I eventually discovered that I could still physically press the trackpad to click and used that to just reboot the device rather than running off to dig up an external keyboard that I could connect. The reboot once again seems to have restored functionality, though I lost all of the blog content that I had written.
While I'd like to switch operating systems and get away from Manjaro since that made my life significantly better on my Star Lite, I'm at least a little concerned that my issues are mostly firmware related and may not be fixed by a different flavor of Linux. If I do switch to anything different, I'd prefer it to be Armbian since I'm most familiar with Debian-based distros.
It's also worth mentioning in closing that trying to use the device in the way that I am is explicitly not what the Pinebook Pro is designed for. It's meant to be used by people wanting to do things with the ARM processor, and bugs like this are something to be expected in a community effort this large. I definitely don't mean to throw shade at the work anyone in the Pine64 or Manjaro communities is doing; it's my issue for how I'm wanting to use the device. I'm still hoping, though, that I can find a configuration a bit more stable so that I can basically have a Linux laptop that amounts to a full POSIX-compliant terminal and a decent web browser.