This $200 Linux laptop is surprisingly capable, but not for everyone.
Adventures with the Pinebook Pro
The Pinebook Pro, created by
Pine64, is a $200 Linux laptop. If your familiar with the Raspberry
Pi, the $35 mini-computer adored by
makers and tech enthusiasts, a good way to think of the Pinebook is
“like a Raspberry Pi, in that it’s an inexpensive enthusiast device, but
in a laptop form factor.”
It is challenging to say if I recommend the Pinebook Pro, since this is
not a consumer device. While the hardware is surprisingly good for the
price, and the system is quite functional, the rough edges around
software (most of which have to do with Linux on ARM) make the system
tricky to recommend as a primary device to do work (even compared to a
Still, I like the device, even with the rough edges. If you’re
interested in learning more about Linux, and don’t mind fixing problems
yourself, it’s a sold, interesting system.
As a note before we begin – this isn’t a review, as much as a journal
of my experience with the device, some things that went wrong, and how I
fixed a few of them.
Keyboard and Trackpad Oddities
The build quality is surprisingly nice - $200 nets you a sturdy metal
body, which prevents the laptop from feeling cheap. There’s no branding
of any kind on the outside of the device, something I personally liked.
The keyboard was comfortable to type on – keys had decent travel and
feedback. Though I hate that they put the power button on the keyboard
– it’s right where the delete key is on my other keyboards and I’ve
struck it more than once by mistake.
I feel like the touchpad is one of those places where they tried to cut
cost. It’s not bad in the way early touchpads were, but it feels
imprecise compared to more modern systems. Palm rejection is effectively
non-existent, so it’s incredibly easy to brush the touchpad (and
move/click the mouse) while typing.
The Pinebook offers hardware kill switches for the WiFi, camera, and
microphones, allowing you to disable those components using a keyboard
command to cut power (this means, even if someone hacked into your
system, it would be exceptionally challenging to turn on the
microphones/cameras to spy on you). The kill switches are engaged by
entering specific key-chords on the device (when you turn a component on
or off using one of the chords, the caps lock or num lock lights will
blink to acknowledge the new command).
Unfortunately, my unit arrived with the WiFi kill switch engaged,
causing a bit of confusion when I first got the device (since it
wouldn’t connect to the internet, and there’s no indication if the kill
switches are engaged). Thankfully a few minutes on the Pinebook Pro
wiki helped and I
was able to get internet back up easily.
The keyboard firmware itself had some quirks on its own: the default
keyboard firmware would not process key chords with the Pine Key (the
Windows Key) and the arrow keys, which is frustrating if you use that
combination to move windows around the screen (as I do). Also, the Num
Lock function was triggered by the Print Screen key (not the Num Lock
key). That said, I was able to download new keyboard
and it fixed both problems.
Similarly, I was able to make the trackpad much more pleasant by using
tool, which allows you to have the trackpad shut off while typing.
But… this is a good sample of what it’s like using the Pinebook: “yes,
I can get it working (sometimes without too much effort), but it doesn’t
work from the start.” Nothing, while using the Pinebook, caused me to
stop using it. However, this isn’t my work machine – if it acts up, it’s
not blocking me from completing my job (again,
to keep hammering in the point, this isn’t a consumer device).
Distros and Installation
Many of the oddities with the Pinebook Pro’s software are not really
the Pinebook’s fault. Running Linux desktop software on low-power ARM
chips (often used in cellphones and tablets) is not nearly as mature as
running a Linux desktop on Intel/AMD x86 chips. Additionally, variations between
ARM chips make it harder to grab an off-the-shelf build of a major Linux
distribution (this variation is why Debian Linux, which supports ARM
processors, has three different ARM
versions, depending on the type of
ARM chip you want to run on).
The Pinebook Wiki does offer a solid list of images that work with the
but it’s worth noting a lot of these builds were contributed by members
of the community, so you are often going to a contributor’s GitHub page
to download an installer, instead of going from the distribution’s own
The installation process is also different than what I’ve come to expect
for most Linux distributions. If I was going to install Ubuntu on a
normal, x86, computer, I’d write a bootable flash drive, place it in the
computer where I wanted to install Linux, boot from the flash drive, and
I’d be greeted with a nice, friendly installer screen.
Pinebook Pro images aren’t installers – they’re working, bootable
copies of the operating system. If you place a Pinebook Pro image on a
SD card, and boot the system, you will be prompted for a username,
password, and then you’re booted into a ‘installed’, normal environment.
So, to install to the internal storage (the EMMC), you’d image a SD card
with a Pinebook Pro image, boot from SD, and enter a name and password.
At this point, you have a working install on the SD card, which, if you
wanted, you could keep using to boot the system. But, to install to
internal storage, you’d download the image again (or move it from your
previous machine) onto the SD card you’re using to boot, and then use dd
to transfer the image onto the EMMC.
This isn’t bad as much as different – even by Linux install
standards, this process is unusual.
Manjaro is a reasonable distribution for Linux enthusiasts — it’s a
fast-moving, rolling distribution that frequently incorporates newer
software, so users will be closer to the bleeding edge compared to more
conservative distributions like Ubuntu (which will favor stability over
newness). It is based on Arch Linux, which I used for many years as my
primary OS and still like.
But I found the choice of KDE as a default desktop environment odd. KDE
is visually appealing, don’t get me wrong, but you don’t choose KDE for
speed. On the Pinebook’s lightweight ARM processor, KDE felt sluggish
– launching Firefox took several, painful seconds.
Like many things on the Pinebook, though – you can change this. There are other
distributions (if you’d prefer something with a slower update cadence) and
Manjaro offers other desktop environments for their Pinebook images.
I ended up using Manjaro with the i3 window
manager. i3 is a tiling window
the more common ‘floating’ window managers, where you drag and drop
windows, tiling windows are arranged like non-overlapping frames. This
is very much not for everyone, but i3 (like other tiling window
managers) has the benefit of being incredibly lightweight and fast, even
on anemic hardware.
After switching to i3, performance improved considerably (Firefox
launching was <= 1 second).
Note: If you don’t want a tiling window manager, but you still want
something faster than KDE, Manjaro offers an XFCE build as another
option. XFCE is much closer to a ‘normal’ desktop experience, and it is
significantly faster than KDE.
Software and Experience
The software that is available for you to install will depend on which
distribution you choose, so keep in mind I’m using Manjaro on my Pinebook (your
mileage may vary on another distro).
Overall, I was impressed with what packages were available for Manjaro
on ARM – while there were
Arch/Manjaro packages for x86 that hadn’t been ported yet (Extreme Tux
Racer, for example, was not available), most software I tried to install
was readily available.
Also, this is less of a problem with open source software, since, if there isn’t
a provided ARM package, you can always try grab the source code and compile it
yourself for the Pinebook. Now, this won’t always work (since ARM has a
different memory model than Intel, so you might need to modify things), and
compiling non-trivial software on the Pinebook’s not-very-fast processor isn’t
fun, but my point is you’re not limited by what’s already been packaged by your
distribution. For example, I couldn’t install the official builds of Visual
Studio Code (since they don’t package it for Linux on ARM), but there was a
contributed package within the Arch User
Repository (the user
submitted packages listing) for Visual Studio Code that ran just fine.
Overall the system worked fine for most things I wanted to do – I was
able to browse the web, access network shares, and use my Yubikey to
sign into websites. Video conferencing was a bit iffy – while the system
was able to (mostly) keep up with a video chat on Google Hangouts, the
speakers were weak and the video from the built in camera wasn’t
perfectly smooth, leading to a usable, though imperfect, experience.
At the same time, there are things that don’t work – playing Netflix
video, for example, is a pain. While it is theoretically possible, the
solution is brittle (it involves downloading Chrome OS, extracting the
Widevine DRM libraries, plugging them into your current browser, and
hoping nothing changes). It’s doable, but not necessarily easy (or
If you’re new to running Linux as a desktop operating system – you have
to remember you’re a minority (like a Mac user in the early 1990s and
early 2000s, most software isn’t written for you). As an ARM Linux user,
you’re a minority within a minority, and even stuff that might be
advertised as working on Linux (like Steam) has a good chance of not
being compatible with Linux on ARM.
There are also things that don’t work well now, but might later,
like sleep. Using Manjaro on a Pinebook, suspending the system (or
closing the lid) triggers a type of sleep called
Unlike traditional sleep/suspend (ACPI
s2idle keeps the CPU awake. The benefit is that this kind of sleep is
supported on pretty much every system that runs Linux, and the time it
takes to put the system to sleep/wake it up is negligible. The downside
is that the system will burn power, even when sleeping (to the tune of
several percent per hour). From the forum threads I’ve read, there is
some work to improve sleep by replacing the bootloader in some
distributions, but, again, not necessarily easy or convenient.
If I was to try to review this as a consumer device – this would fail
miserably. It has plenty of rough edges, often requires you work around
bizarre edge cases or dig into system internals, and it’s far from user
friendly. The store even warns that there may be dead pixels on some
and they won’t accept returns for them.
But, that’s not what this device is. This isn’t designed to be your
primary system – it’s designed for enthusiasts to play with and learn
(similar to how the original Raspberry Pi was designed as a teaching
And that’s a good thing. I’m good with computers, and I attribute much
of that to having a Linux system growing up, and learning how to debug
and solve problems on my own. I learned about how sound worked on
computers by having to debug ALSA (Linux’s sound system), I learned
about graphics (and VESA) handling driver glitches. There’s value in a
Pinebook, especially as a tool to experiment and play.
I probably would not have tried i3, the tiling window manager I’m using
right now, were it not for the Pinebook forcing me to experiment and
figure out what ran fastest on this hardware.
There’s an old proverb: “necessity is the mother of invention.” There
will be things on the Pinebook that will not work the way you want.
But, a small part of me says, if this isn’t your primary device, if
something not working isn’t going to ruin your day, then, if you’re
willing to learn how to fix it, you might just be better off for it.