Pinebook Pro Improved Trackpad Firmware With Manjaro Linux

I wouldn’t typically do back-to-back Pinebook Pro posts, but there’s been some exciting work happening in the community lately. My biggest gripe with the device has always been the trackpad. Back in my original impressions post I said:

The trackpad is unfortunately not quite as solid as the keyboard. It doesn’t feel particular sensitive and the pointer come across as “floaty”. Hitting big buttons is fine, but it can be annoying to make more precise movements like grabbing the corner of an application to resize it. If I’m using the device for something that’s mouse-intensive, I’ll typically reach for my Logitech MX Ergo trackball, but the trackpad is still workable in a pinch.

https://unusually.pink/unusually-pink-impressions-pinebook-pro/

While that was written over a year ago, the same still held true. I still recall with excitement last fall seeing a post on Mastodon of a new Pinebook Pro someone I followed had received where the trackpad looked different. I had been hopeful that maybe they were using completely different hardware, only to find out that the photo was taken before the protective film had been removed. In Pine64’s latest update, though, which announced the extremely exciting PineNote e-ink tablet, they also shared news of updated trackpad firmware.

Details on the new firmware can be found in a post on the official forums. This in turn links to the project’s GitHub page where the instructions can be found. There are a few slightly different paths to opt for which will ultimately get you to the same end result, so I figured I’d share what I did.

WARNING: There is a very small yet non-zero chance that flashing new firmware could fail, leaving your device without a functioning keyboard or trackpad. Proceed at your own risk.

As the title of the post says, I’m running Manjaro ARM on my device. If you run a different operating system, then you may need slightly different steps. I also have a Pinebook Pro with an ANSI keyboard. If you too have an ANSI keyboard, be aware that after beginning this process both the keyboard and trackpad will be temporarily unusable. You will want to have an external keyboard and mouse connected prior to beginning. A mouse isn’t strictly necessary if you have a keyboard shortcut set up to pop a terminal after you log in, but an external keyboard is an absolute requirement.

The first thing I did was install the pinebook-pro-keyboard-updater utility. That can be done with:

sudo pacman -S pinebook-pro-keyboard-updater

Be sure that this has been updated to include the new firmware. At the time of this writing, the version was: 0.0.3-4

After the installation, you should find the pbp-fwupdate tool in your PATH. You can confirm that via:

which pbp-fwupdate

On my system this was found in: /usr/bin/pbp-fwupdate

The firmware update happens in 2 steps. I’m not going to pretend like I know the specifics of what happens in each step. From a user-facing perspective, though, it seems as if the first step clears out the firmware while the second step applies the new firmware. Just another warning… after running the first step, the Pinebook Pro keyboard and trackpad will not work. You need to have an external keyboard and mouse connected to proceed with step 2.

In order to kick off step 1, simply run:

sudo pbp-fwupdate step-1

Give it a minute while a couple of screens of output scroll by. Once the command has finished, shut down the device via:

sudo poweroff

After the device powers off, hit the power button to bring it back to life. The boot sequence will be normal and leave you at the login screen just like you’d expect, only the keyboard won’t work. Log back in with the external keyboard and pop a fresh terminal. Then kick off the second step with the following command.

WARNING: Be sure to include the keyboard type after step-2:

sudo pbp-fwupdate step-2 ansi

A few screens of output will once again scroll by. After the command completes, shut down the device a second time by again typing:

sudo poweroff

Once again, power it on with the power button and log in normally. This time, the keyboard and trackpad should both work. While the keyboard will be the same, the trackpad will be much snappier.

It’s actually improved to an almost absurd degree. I run XFCE as my window manager, and clicking on the small icons in the bottom-right corner of the screen to do things like check my battery life or change WiFi networks went from being frustrating to seamless. Along with the terrific work that went in to creating this firmware, it’s also a shining example of what makes the Pinebook Pro community so cool. It’s firmware created by someone in the community and subsequently promoted by Pine64. Huge kudos!