Pinebook Pro: ARMazing or one-ARMed bandit?

PINE64 Pinebook Pro

With the Pinebook Pro PINE64 offers a very interesting notebook based on an ARM SoC. Because of its price below 200 USD the notebook is a good Chromebook alternative that offers more freedom because of its Open Source designs. All components and even the operating system can be switched easily - that sounds amazing!

But, how well performs the device as daily driver?

Why?

Why choose an alternative architecture at all when there are market-proven processors by Intel and AMD?

And that's the problem in my opinion. The CPU market became totally boring. Yes, we have AMD as great competitor against Intel but basically both vendor's products are based on a very old design with lots of legacy bricks. The last years have shown that simple web and office tasks are more and more performed on smartphones or tablets. Those devices are way cheaper than full-features notebooks or computer.

If you compare last years ARM designs you will see that mobile chips are becoming more powerful. A good example is the popular Raspberry Pi single-board computer. While the first model was significantly limited in performance, the current Pi 4B is able to control two 4K screens and more complex applications by leveraing a quadcore CPU and up to 8 GB memory. For hardware  vendors, the ARM design is interesting because manageable ARM license costs enable cheaper production.

Hybrid designs - that are often called big.LITTLE - are big advantages of current ARM SoCs. Here, efficient and powerful cores are combined. Depending on the application profile, appropriate cores are selected. If the software is able to leverage all the hardware features this is a good combination between power and battery lifetime. In smartphones and tablets, this technique has been used for a long time. As a result easy background tasks (e.g. checking mails) are performed by efficient cores, while demanding tasks (such as running games) are done by powerful cores. Comparable and well-proven designs like this don't exist in x86 world, yet. With the i5-L16G7, Intel implemented such a design for the very first time, AMD filed a comparable patent in June 2020.

It should also be mentioned that both Intel and AMD are criticised for their ME (Management Engine) and PSP (Platform Security Processor) extensions. Both are - in easy words - responsible for protecting the system against malicious code by using and checking code signatures (which is especially needed for UEFI and Secure Boot). Additionally, Intel ME can be used for remote controlling the system; because of frequent security breaches this technology has a low acceptance. Both systems are implemented in dedicated small processors with the processor (sic!), disabling them is not intended. For the very first time, new AMD Epyc processors allow locking interoperability with other hardware components which might heavily influence the second-hand market. As an example, CPUs might only be used in combination with a specific mainboard type. Both Intel and AMD deny releasing their code. Comparable technolgies don't exist for ARM - the design is more open and can be licensed easily.

I have been following the ARM market development for a couple of years and find it fascinating. Especially Intel has been resting on their monopole way too long and I highly disagree with the forced management extensions. I think that cheaper ARM designs will replace classical x86 machines for easy every tasks (office, internet) in medium-term. Consumers want cheap devices with a long battery lifetime and that is hard to achieve with the x86. After Apple is the first vendor that performs a bold move, I'm interested to see which vendors will invest in ARM in the feature (not talking about Nvidia).

I had no big expectations when buying the Pinebook - I was hoping to perform the following tasks with it:

  • Simple web and office tasks
  • Listening to music
  • Programming Arduino and ESP micro-controllers
  • Running simple Docker containers

In addition to the Pinebook Pro, I also ordered a eMMC-USB and - for later experiments - NVMe adapter.

Keep in mind that you will need to calculate roughly 45 EUR for customs charges when buying the device in Germany. So, in summary the device costs roughly 220 EUR depending on the exchange rate.

Overview

Unexpectedly, the Pinebook Pro is high-quality for the low price. The case outside is made from magnesium, while the inside is made from plastic. High pressure is needed to bend  the case - so the exterior seems to do a great job with stabilizing the device. Unfortunately, the case also magically attracts finger prints - so get used to clean the device more often.

Also, the screen is rather unusual for this price class - a matte IPS panel with a 1080p resolution and moderate 250 nits brightness. As a result, you might also use the device outside unless you're sitting in strong sunlight. Competitor devices often save costs for the display - e.g. the 100 EUR more expensive Acer Chromebook 314 (1366x768 Pixel, 190 nits).

I appreciate that the device has no fans, the SoC uses the magnesium case as heatpipe. Even during high load, the device can still be used on your lap.

Here a little overview about the particular hardware components:

Component Features
CPU Rockchip RK3399 SoC
Memory 4 GB LPDDR4 RAM
GPU Mali T860 MP4 GPU
Screen 14" 1080p IPS-Panel, 250 nits, 1000:1 contrast radio, 60 Hz refresh rate
Storage 64 GB eMMC (replaceable)
PCIe x4 to m.2 NVMe (optional)
16 MB SPI Flash for bootloader
Network AMPAK AP6256 (802.11ac WLAN, Bluetooth 5.0)
Camera 1080p webcam
Ports 1x USB 2.0, 1x USB 3.0, 1x USB-C (power, data and video), headphones, microSD card reader
Battery Lithium Polymer, 10.000mAh
Input ANSI or UK ISO keyboard and touchpad

Privacy switches

A very great feature is the ability to disable particular components on the hardware level. This ensure that not even attackers can query them. The behavior can be controlled using three key combinations:

Hot key Description Notes
SUPER + F10 microphone CAPS blinks; 2x = disabled, 3x = enabled
SUPER + F11 WLAN NUM blinks; 2x = disabled, 3x = enabled (Reboot)
SUPER + F12 webcam CAPS and NUM blinking; 2x = disabled, 3x = enabled

To use WLAN again without rebooting the device, the forum mentions running the following two commands:

1$ echo 'fe310000.dwmmc' | sudo tee /sys/bus/platform/drivers/dwmmc_rockchip/unbind
2$ echo 'fe310000.dwmmc' | sudo tee /sys/bus/platform/drivers/dwmmc_rockchip/bind

Operating systems

The list of available operating systems is already comprehensive. Popular distributions (such as Debian, Ubuntu, CentOS,...) already supported the device at an early stage, some time later also NetBSD ("Of course it runs NetBSD!") and OpenBSD were available. elementary OS announced that they plan to port the next major version to the device. For some time, PINE64 pre-installs ArchLinux-based Manjaro with the KDE Plasma desktop on the Pinebook Pro, previous charges still had a Debian Buster with a MATE desktop.

I had a look at some of the available distributions, here's a list of my experiences:

Distribution Version Link Notes
Manjaro ARM KDE Plasma (20.08) [click!] hardware-accelerated effects, best experience
XFCE (20.08) [click!] screen tearing
Debian Buster (MATE) [click!] functional, sometimes laggy
Ubuntu 20.04 MATE (0.10.12-1184) [click!] doesn't seem to be optimized for the device
20.04 XFCE (0.10.12-1184) screen tearing
20.04 LXDE (0.10.10-1181) missing symbols and applications
Fedora 32 Cinnamon [click!] non-disappearing artefacts when moving windows
32 XFCE [click!] screen tearing

Surprisingly, the pre-installed Manjaro ARM with KDE Plasma offers the best performance. This was a surprise for me because my previous KDE experiences were completely different; the desktop was rather ineffecient and overloaded. But it really seems that things have changed - the desktop is balanced and usable on the Pinebook Pro. 3D effects are generated by the GPU (which isn't always the case for other distributions) and also the memory usage with ~550 MB after booting is way lower than for GNOME or MATE. Sometimes you can feel that the software isn't able to leverage all the hardware features - once in a while there are lags or inputs takes some seconds longer than expected.

Especially, complex websites with numerous scripts and extensions - such as Twitter, Reddit or LinkedIn - can be a problem. But also bloated WordPress sites with heavy themes need some additional seconds in comparison with usual x86 hardware. Nervous power users will definitely be slowed down. Handling multiple tabs and also windows is no problem for the notebook - only talking about Firefox. Also multitasking with multiple applications is performed very well by the small SoC.

Impressions

Input devices

The keyboard is unexpectedly great for a device in this price classe - I remember having my hands on significantly more expensive devices with worse keyboards. The keys require a medium stroke, I was unable to spot wobbling or creaking keys. Writing longer documents is comfortable but I'm missing a German key layout.

The touchpad needs to be improved heavily. It has no dedicated keys so the whole touchpad needs to be pressed for clicking. This requires too much force in comparison with the keyboardsa. Additionally, at least for my model gap heights were not completely correct. Also, the touchpad often reacts too late or sensitive. Moving the cursor only for some pixels (e.g. when editing a screenshot) is nearly impossible. After a short time, I connected a bluetooth mouse and all the pain was gone.

With a weight of 1,2 kg the device is really light - it takes some time to get used to it when using it on the lap.

Sound

The built-in stereo speaker are really quiet and the sound is very tinny - listening to music is hard with the device. Thanks to the open-source design, you can replace the speakers. My device generates medium and high-frequent noises when playing sound on the integrated speakers - using headphones fixes the issue. If you connect a soundbox to both the headphone and USB jack to charge the battery you will hear noises, again. Looks like there is an issue with the internal shielding.

Network

In accordance with the PINE64 wiki the WLAN card maximum throughput is limited to max. 433 MBit/s due to a single antenna - stability issues might occur when using both Bluetooth and the 2.4 GHz frequency band. Using 5 GHz frequencies is no problem at all - when transmitting big files or loading multiple websites parallely you can see that the network card is definitely a bottleneck.

Data storage

Built-in eMMC storage is faster than a inserted microSDHC card but - of course - slower than conventional SSDs. On the other hand, eMMC storage consumes significantly less energy. I ran some sequential IO tests 3 to 5 times and calculated average values.

Data is read from eMMC with ~170 MB/s:

1# hdparm -t /dev/mmcblk2
2
3/dev/mmcblk2:
4Timing buffered disk reads: 522 MB in 3.01 seconds = 173.60 MB/sec

Single big files are written with ~115 MB/s:

1$ dd if=/dev/zero of=test.bin bs=1G count=1 oflag=dsync
21073741824 bytes (1.1 GB, 1.0 GiB) copied, 8.8808 s, 121 MB/s

For 512 byte blocks (latency test) throughput drops to ~175 kbyte/s:

1$ dd if=/dev/zero of=test.bin bs=512 count=1000 oflag=dsync
2512000 bytes (512 kB, 500 KiB) copied, 2.91748 s, 175 kB/s

Below you will find a comparison between eMMC, microSDHC and conventional NVMe:

Test eMMC SDHC-10 NVMe SSD
Reading data 170 MB/s 63 MB/s 2,355 MB/s
Write 1 GB file 115 MB/s 25 MB/s 1,365 MB/s
Write 512 bytes file 175 KB/s 65 KB/s 360 MB/s

The NVMe tests were executed on a x86 device.

Battery

The battery run-time is amazing. For simple office and web tasks the battery lasts 6 to 8 hours - a pretty good value for a device in this price class. When only 3% of battery capacity is left, the device turns off precautionary. Unfortunately, charging the battery takes long - when the battery is completely unloaded this process requires approximately 6 hours. Caution, the time extends when loading the battery via USB-C - even if you use a QuickCharge power supply. I both tested a USB-C docking station and the provided power supply.

Loading the battery takes long

After 4 or 6 hours the battery capacity builds to 90%. After one hour the battery capacity rises from 3% to 21% or 30% - depending on your load you can already use the device for roughly 2 to 3 hours. So basically it is possible to charge the battery partially before using it for a limited time. The device can also be charged and used parallely with a powerbank, so using the device on the way is possible. Having a function such as QuickCharge would be a great addition.

Software selection

The pre-installed KDE Plasma desktop is kept small. Some tools are missing such as a music library, a calculator, a camera application and a mail client. Some additional KDE utilities that are part of conventional desktops are not pre-installed - but that is fine as I would have uninstalled them anyway.

To install the missing tools mentioned above, run the following command:

1# pacman -S elisa kcalc kamera thunderbird

Additionally I installed some other programs I often use:

  • Arduino IDE
  • KeePassXC
  • MuseScore
  • Docker

When compiling code, Arduino takes ~50% longer than on my x86 notebook (i7-8565u, 32 GB RAM). Beside this, the application works like on other platforms. I couldn't figure out any differences when running the additional applications.

When running Docker containers I figured out that Java applications always crash with"Permission Denied" errors during startup. I couldn't figure out the reason for this yet. Other containers don't have any issues.

Summary

I'm amazed by the Pinebook Pro - you're getting pretty much for less than 200 USD. Working with the Pinebook is fun - even if it takes sometimes longer. The device is light and can be used for simple office and web tasks. Even smaller container can be executed on the device - a good companion for working on the way. The KDE Plasma desktop feels balanced - even if the system lags sometimes. There is still a lot of optimization potential.

But, who should use this device anyway?

Let's be provocative - I think that the device is also suitable for non-geeks if you're patient and only dealing with simple office and web tasks. After a short command-line assistant during the first boot the Pinebook can be used like any other notebook - the desktop is mostly self-explanatory. This makes the device a good alternative for more expensive Chromebooks that are also questionable from a data privacy standpoint.

Hobbyists and open-source enthusiasts will love the device. The community is big and the number of projects supporting the Pinebook still increases. If you want to, you can customize the device - the vendor wiki contains circuit diagrams and component manuals.

I'm excited to see how ARM notebooks will evolve in the future. After having Apple as big hardware vendor focussing on ARM it is hopefully only a question of time until other vendors also adapt the architecutre. It would finally turn the market upside down and hopefully result in cheaper devices with greater battery lifetime. The Pinebook is not perfect, but at this stage it is already a good device and there is still a lot of potential.

Of course, this article was composed on the Pinebook Pro. 🙂

Future wishes

Some ideas I have for future iterations of the device:

  • better Touchpad with lower stroke
  • better speaker without noise issues
  • battery that can be charged faster
  • system board with SoC and memory available separately (for cheaper upgrades)
  • 8 GB memory option
  • additional keyboard layouts or at least key labels

Translations: