Pinebook Review Part 2: Electric Boogaloo

Unboxing:

To get my opinions on the Pinebook out of the box and after the first few hour or so of use, check out my previous post here. The following pictures are the contents of the package I received from Hong Kong, as stated before, it's an extremely compact package.


Contents of the Pinebook package that came in the mail

Contents of the Pinebook package that came in the mail

The Pinebook sitting on top of the blue plastic case it ships in

The Pinebook sitting on top of the blue plastic case it ships in

Open Pinebook in all its glory, here you can see the slightly strange keyboard layout, which is why xmodmap(1) would be a very useful tool

Open Pinebook in all its glory, here you can see the slightly strange keyboard layout, which is why xmodmap(1) would be a very useful tool

To the review bits:

So spending some more time with this nice little Chromebook replacement, I was able to run a few tests, see how things worked when it was actually being used. The first thing to note, is that even without any particular power saving steps or other modifications, this battery lasts a LONG time. The shortest I was able to get it to last was 5.5hrs on a full charge. When allowed to sleep, it ran for 7.5hrs only hitting 15% battery life remaining, so you can generally expect this to get through a day without needing to be recharged. Unless, of course, you do a lot of CPU/GPU intensive work on it locally, but this is better suited to being your remote workstation. Allowing you to ssh into a more powerful machine to get your work done from anywhere.

wifi Performance:

As requested, I tested out the Wi-Fi performance of the Pinebook. I'm lucky enough to have a gigabit connection at home, so there's plenty of bandwidth to play with.

I was only able to connect to the 2.4GHz bands in my tests, so there was more interference than I would've liked, but less than there would be in a usual metropolitan area. In my house I was able to keep a pretty constant 25-30Mbps symmetrical connection, with a latency not exceeding 30ms.

To test some greater distances than around 50 feet at most, I decided to take the laptop outside. Once outside, and across the street, putting me somewhere around 70-75 feet, the performance dropped off to around 10-20Mbps symmetrical, still with decent latency.

Walking down the street, to a point of roughly 125-150 feet away from the router, the performance dropped off again to only around 5Mbps with a latency still around 20-30ms.

I walked a bit further down the street, to roughly 200 feet away and the performance degraded to the point of being only about 1Mbps symmetrical, with latency up to around 50ms. Going a bit further down the street, the signal dropped off, and was no longer a reliable connection. At the same time, my phone lost the wifi signal and switched to cell service as well.

All things considered, the Wifi performance depends much more on your access point than the Pinebook. The 2.4GHz limitation is a bit annoying, but very much usable, and it's unlikely that you'll need to be connecting to an access point several hundred feet away from you. I should note that I'm using a consumer grade Linksys 1900ac router, so an enterprise router or a router using something like a semi-parabolic antenna would allow you to get a better signal further away. The phone being used as a reference point is a Motorola Nexus 6, so the Pinebook performance is pretty much on par with other consumer wifi devices.

General System Performance:

I've been doing some general tinkering on the system, and it's nicely responsive when doing work locally, though the trackpad can be a bit on the touchy side. While this could just be a Firefox or MATE quirk, it's a bit too easy to accidentally zoom in or out of a webpage instead of scrolling up or down. This can likely be overridden in:

/etc/X11/xorg.conf.d/10-synaptics.conf

But it's not such big problem that it can't be worked around.

There's also a strange issue with troff(1) that prevents man(1) from working correctly, though this could be fixed in other available systems or in a future update. This only really impacts the users that would use them, so if this is just a Chromebook replacement for you, allowing you to access media on the go, you'll be fine.

It ships with gcc(1) ready to use, so you can build programs locally, and use suckless tools like dwm and st, or as I found recently, even just have fun playing with writing arbitrary C code like so:

$ cc -x c - -o hello
#include <stdio.h>
int main(void) {
printf("Hello, World\n");
return 0;
}

You can prototype things directly from stdin! But that's more of a fun side effect of me playing around than an endorsement of the Pinebook.

Fortunately, the system's also sporting one of the more powerful SoCs available on the market, so if you're into it, you can run retro games for everything from the Atari2600 to at least the Playstation (original). It would likely be able to handle up to PSP/PS Vita games, but would require a well written emulator to prevent the emulation from consuming too many resources and perform at a playable level.

And for you developers/hackers out there, you can absolutely use this as a mobile build system, just be aware it's ARM64 (AARCH64), and may not really match the intended build target.

Final Thoughts (for now at least):

The system boots in about 30s from POST to login, which is certainly nice in a mobile platform like this, as it's actually faster than my Nexus 6 boot speed. At this point, I'm not sure what else I can really say about the Pinebook that would encourage people to buy it, especially since they were sold out to the point that I had to cancel my original order of the 11" version for the 14" version just to be able to make these pages a possibility. Odds are if you're reading this it's because you're either waiting for yours to show up or are the perfect demographic and just want to be sure it's not too good to be true.

Well, the Pinebook's an amazing little budget machine for hacking and general use on the go, with a battery ranging anywhere from around 8.5-5.5hrs on a single charge. It's very real, and a fantastic price for what you get. It really shows off just how inexpensive technology is right now, it's never been kinder on your wallet to get into RISC hardware. "RISC is good." and it's only getting better with the rise of RISC-V, hopefully it won't be too long before I can share thoughts on a similar device with RISC-V powering it!

If you, like me, are wanting to put an alternative operating system on it, you just need to use their install system to install an approved image or build a compatible AARCH64 image of your preferred system. You just need to ensure you have the right compatibility using the device tree that should be located under /sys, and of course, get U-boot set up. I'm not familiar with how to do these, but will likely have another post about it when I've figured it out. I'm sure there will be other users posting about their personal experiences, but I'm a pretty spartan guy, so long as I can get suckless tools, openssh, mksh, tmux, a serial console tool, and at least a C compiler, I'll be happy. So at least that much works for the most part. The serial connections aren't all that great though, would much rather Linux had tip(1) or cu(1). But that's why a goal of mine is to get some version of BSD on it instead of Ubuntu MATE. More on that as I gather the required information.

Pinebook First Impressions

Unboxing the Pinebook

Today I was wonderfully surprised to recieve my Pinebook, it came in a rather simple package, with minimal packaging. In fact is was fairly surprising to see a whole 14 inch laptop come sliding out of such a small shipping container! I'll have to see if I can get the pictures pulled off my phone, but I currently don't have an easy way to do that.
To get an idea of exactly how small this package was, imagine getting mailed a couple of T-shirts or a hoodie, but instead finding a laptop inside. The Pinebook guys have done a fantastic job of utilizing minimalist designs.


Decided to pull up my own site in a fit of vanity, loaded nice and fast!

Decided to pull up my own site in a fit of vanity, loaded nice and fast!


Yeah that's great, but what's the Pinebook actually like?

To start with, the Pinebook boots relatively quickly, only about 16s to login from a "cold" boot. It's running a recent version of Ubuntu MATE, which I'm sure some people will enjoy. But I'm the kind of user that's been using dwm and herbstluftwm exclusively for the past 2 years, so having to click on things to get them to run is a bit foreign to me, and I'm really not sure which things I'm supposed to click on to "fix" the keymap (since I use dvorak).
Additionally, the preinstalled package list was just ridiculous with 1587 packages reported by:
$ apt list --installed
This amount of preinstalled packages just seems like madness to me, but even on the relatively limited amount of space on the internal eMMC (compared to modern HDDs and SSDs), there's plenty of leftover space for you to use in whatever way you see fit.
The last bit of nitpicking on the out-of-the-box experience is that $EDITOR is set to nano(1) instead of something like vi(1), ed(1), or even vim(1). This is fine for new users, and likely a large amount of people that will end up using this particular device, and of course is trivial to "correct", but it lead to some minor confusion when trying to add my VPS to the hosts file with sudo -e /etc/hosts.


Gotta show off the usual terminal fun with screenfetch

Gotta show off the usual terminal fun with screenfetch


Onto the slightly more interesting stuff

So, not that it's a particularly high bar at this point, but this sub 100 USD computer still has more I/O than those Macbooks that were "top of the line" until this most recent WWDC, though I'm not sure that they've actually added any more ports or not since I don't follow Apple that closely.
Both Firefox and Chromium come preinstalled, so you can pick whichever browser you prefer on that front. I'm more of a Firefox guy, so that's what I checked out. It performed roughly how one would expect on an SBC inside a laptop case, a little bit of lag, but everything worked well. Due to the limited amount of resources, I highly recommend running with noscript or some other sort of content blocker such as ublock_origin or umatrix, to help keep your browser from eating all the resources on the poor little device.
More along the lines of using the Pinebook itself as a hardware platform, the keyboard's surprisingly similar to that of my Macbook Air, just with stiffer keys and a trackpad that I'm personally happier with. I know that Apple's kinda been the crown ruler of trackpad makers, but I've really enjoyed using the one on the Pinebook more. It's got a bit of texturing to it, and isn't really in the way of me being able to type, so I don't really risk clicking on things accidentally like I do on my Macbook.
The only real shortcomings that I've come across are that the '\' and the 'delete' keys are in a bit of an odd place. This just leads to me wanting to remap them with xmodmap and have it loaded when starting X, since 'delete' is located where '\' is on a normal keyboard, and '\' is located down by Right-Alt.
One thing that may be frustrating for users of certain desktop environments or window managers is that as far as I can tell going off the keylabels, there's no Super key (Windows key, for those unfamiliar with the term). I'm actually happy to not have a Super key, as the only keymap where I've ever found it useful is on the old Sun keyboards (which also have Caps Lock and Left Control swapped).
The last minor issue is that the stereo volume isn't very good, so you'll want to use bluetooth speakers, or a bluetooth headset if you're looking for the best portability. Fortunately, there's also a 3.5mm jack, so those of you out there with a trusty pair of wired headphones won't be left out either when enjoying your media playback.


So Newnix, is this thing worth buying?

I don't want to pretend that I'm some sort of greybeard authority or anything like that, but at this price point, and with the features of this particular machine, you'd be pretty hard-pressed to find many good reasons to not buy a Pinebook when you need a lightweight, endurance device. There's a few small points that I'd love to see improved, like using USB-C instead of a barrel plug for charging, or at least providing a longer cable to provide some flexibility in where you charge it.
Honestly, my biggest issue with this product is that it came with Linux instead of something like FreeBSD, HardenedBSD, OpenBSD, or NetBSD. I don't have much faith in the abilities of EXT4 to hold onto my data, and would rather be using ZFS, HAMMER (unfortunately only available on DragonFly BSD and thus limited to AMD64 machines), or even UFS to store my data, even on a Pinebook.
Filesystems aside, I use serial connections a lot in my day job, and Linux doesn't seem to have an easy way to connect to serial consoles, unlike *BSD where you have tip(1) and cu(1) to connect to serial consoles through definitions in /etc/remote. It'd also be nice to have an Ethernet port, but getting a USB -> Ethernet adaptor isn't such a big deal.
So all in all, this is far and away better than any (bastardised) Gentoo powered Chromebook that I've tried using in the past, since there's nothing to unlock, all that needs to be done is verify that you can boot the OS image you want to use, and actually install it to the internal eMMC.
If you're in the market for a low powered machine, this is probably the best bang for your buck, so go sign up, tell your nerdy friends about it, all that cool stuff to spread the word, because not only is RISC good, but so is a nicely put together RISC laptop. You can sign up for one here if you feel so inclined.


And a shot of me being told to get screenshots by one of the IRC channels I hang out in, so I happily obliged

And a shot of me being told to get screenshots by one of the IRC channels I hang out in, so I happily obliged


Pinebook System Info

Just to give you a peek under the hood, so you know what sort of equipment you'd be working with:

$ cat /proc/cpuinfo
Processor : AArch64 Processor rev 4 (aarch64)
processor : 0
processor : 1
processor : 2
processor : 3
Features : fp asimd aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: AArch64
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
Hardware : sun50iw1p1

$ lsblk NAME MAJ:MIN LABEL MODEL FSTYPE PHY-SEC LOG-SEC TYPE SIZE
zram0 253:0 4096 4096 disk 248.7M
zram1 253:1 4096 4096 disk 248.7M
zram2 253:2 4096 4096 disk 248.7M
zram3 253:3 4096 4096 disk 248.7M
mmcblk0boot0 179:8 512 512 disk 4M
mmcblk0boot1 179:16 512 512 disk 4M
mmcblk0 179:0 512 512 disk 14.5G
├─mmcblk0p1 179:1 BOOT vfat 512 512 part 50M
└─mmcblk0p2 179:2 rootfs ext4 512 512 part 14.4G

I'd include the full package list, but I don't think that adding a few thousand lines to this post for no significant reason does anyone any good. The default image is Ubuntu MATE with some theming for the Pinebook project.


Closing Thoughts

I'm going to be looking into how U-boot works, and what steps are necessary to get *BSD running on this delightful little device, so if that's the sort of thing you'd be into as well, feel free to shoot me some links with documentation on U-boot that would be helpful in setting up a new system install or just keep an eye out for the inevitable follow up toots on https://linuxrocks.online where I'm either really happy about things or venting my frustration in trying to get everything to work. Assuming everything goes well, I'll get a writeup posted here as well on the process of switching to whichever BSD I'm able to be happy with first.