Acer Spin 1 (SP111–32N) and Chromium OS

So my trusty MacBook Pro 13" (Early 2011) is getting old. While it’s a great computer that went through a lot with me, it’s hardware is dying, with the battery buldging so that the touchpad can no longer be clicked on, USB ports randomly disconnecting and the Bluetooth randomly dying. Plus, it won’t be getting updated to the next version of macOS.

I need a replacement, but my requirement has changed. I no longer require a powerful computer for coding as I mostly only code for work now and work provides a powerful computer to do that. So I just need one for casual computing and browsing website. None of Apple’s current MacBook line-up meets my requirements, plus they haven’t been updated in a while now. The non-pro MacBook looks good, but the only port available being the one USB-C port is a deal-breaker for me.

So I decided to get a cheap laptop to use in the meantime. At first, I was going to get the Acer Swift 1 with the N5000 CPU, but while browsing around, I saw the Spin 1 whose screen is very gorgeous and decided to get it instead.

The Hardware

It’s a really good laptop for it’s 14,990 Baht price tag. Full HD IPS screen, touch screen, pressure-sensitive stylus, convertible to tablet mode. What more can you ask for? Well, there are a few downsides:

  • Entry level CPU (N4200) plus limited to 4 GB of RAM.
  • The touchpad is really wonky, when it works, but often it freezes for no reason and you’d have to wipe or touch around to get it to work again.
  • The top row of the keyboard is mapped to function keys by default and you have to press Fn to use the F-keys. This is not configurable. It is really annoying on Windows as you basically have the shortcuts on muscle memory.

The CPU might not actually be too big of a downside. Userbenchmark says that it is actually a bit faster than my old i5 when it comes to quad-core speed though it is still quite slower in single core. I’ve verified this by trying to compile Grub on both machine (both using Ubuntu). The MacBook Pro took 3 m 6 s while the Spin 1 took only 2 m 57 s. Note that I’ve only ran the compile once, but at least it means that the performance is not so much different. If you’re interested, this is my Userbenchmark run.

The touchpad issue can also be worked around by using the touchscreen intead. Actually, I found the touchscreen so convenient that I try to touch the screen without thinking when I use other laptops.

BIOS

The machine is a pure-EFI machine with no BIOS compatibility layer (CSM), so it cannot boot OSes that do not support EFI. It has Secure Boot enabled, which can be disabled after setting an supervisor password in the BIOS configuration. You can also mark other EFI executables as “trusted” in order to boot third party OSes while still keeping Secure Boot on.

Note: The Fn issue also applies to the BIOS. If you want to enter BIOS setup, you’ll have to mash Fn+F2 instead of just F2. In addition, F12 (boot menu) is disabled by default, so you’ll have to enable it in the BIOS setup.

Battery Life

The sticker on the laptop advertises up to 8 hours of battery life. A quick anecdotal test of one hour of moderate use writing this post, using git in crouton, listening to Spotify and answering Facebook messages dropped the battery from 84% to 70%, another hour of usage dropped that to 56%. Extrapolating that would give me around 7 hours of battery use, not bad at all.

What OS to Run?

Now the big question, which OS should I run.

Windows

The laptop comes with Windows 10 Home pre-installed. While it has a bit of bloatware, those can be easily removed. The experience is pretty good actually. Boots in 15 seconds and it’s optimized for touch-screen usage with touchpad and touch screen gestures. HiDPI is enabled by default and switches to tablet mode automatically when I “spin” the screen the other way.

The bad points are:

  • I have to deal with Windows update. (Hey, right out of the box, it wants to perform a “feature upgrade” which takes quite some times.)
  • Windows Home does not support encryption (BitLocker). Hey, this is 2018 where everyone encrypts everything. This is a deal-breaker for me as I don’t want to worry about getting my data and credentials stolen if I lose my laptop. You can use VeraCrypt, but it interferes with Windows feature upgrades, requiring you to decrypt before performing them.
  • I might not be able to resist the urge to install software and bloat the laptop. And with Windows easily allowing applications to start themselves on startup, it can easily slow down the computer.
  • No native Unix environment. Well, there is Windows Subsystem for Linux (WSL, a.k.a. Ubuntu on Windows), but I’m not a fan of limited features in Windows’ terminal emulator (cmd.exe) either.

Ubuntu

Next choice up is Ubuntu, one of the most popular Linux desktop environment. Unfortunately, to me, this year is still not “the year of Linux desktop”, at least in the traditional meaning. While Ubuntu boots and most hardware works fine, the accelerometer is misconfigured by default, causing the screen to rotate 90 degree by default, which doesn’t make for a good experience. HiDPI scaling support in GNOME is horrendous — it doesn’t support floating point scaling, so your only choice is to scale it 2 times, which is way too large. In addition, touchscreen scrolling isn’t supported by default.

The final straw for me was that Chrome does not support hardware-accelerated video decoding on Linux (despite supporting it on Chromium OS) which isn’t good since I don’t want to kill my battery life while watching YouTube.

For the record, in order to solve the 90 degree rotation issue, you can either:

Chromium OS

Finally, Chromium OS. I originally wanted a Chromebook, but they don’t really sell them here in Thailand. These days, there are basically two builds of Chromium OS available:

Initially, I couldn’t get both builds to boot due to a bug in Grub. After replacing Grub with a working version (more info), they booted fine with most hardware working. I found that CloudReady has better hardware compatibility, specifically, it works better with my Bluetooth mouse. In Arnoldthebat’s build, connection was hard to establish and the mouse wouldn’t automatically reconnect after a reboot. Other than that most hardware works fine and there is even special support for the stylus.

Performance was fine. Boot was a bit slower than in Windows at 16 seconds, but is still very acceptable. From the little testing I did, the battery life is comparable to that of Windows’, but I don’t know for sure since I did not use Windows seriously.

Nothing is perfect though, there are still the following issues:

  • “Touch to click” on the touchpad doesn’t work. You have to click for it to register a click. Switching to libinput per Neverware’s instruction fixes this, but you instead lose inertial scrolling support which is way more important.
  • If you “spin” the screen into tablet mode, the keyboard and touchpad disables automatically, which is fine. But when you put it back in laptop mode, they don’t re-enable. This occurs on Ubuntu as well, but interestingly, it works fine if you reboot from Windows into Linux!
  • The default Thai font is not the most easily to read since it is “circle-less” (ไม่มีหัว) which is a quite popular style for decoration nowadays but I prefer a more traditional look for reading a large amount of text. Chromium OS doesn’t have a good font control either. I’ll have to find out what Thai font Android uses and hack the OS to switch to that.
  • No global music control shortcut. If you want to pause music, you’d have to go to the tab playing the music. Other OS support pressing the pause button from anywhere.

Conclusion

I decided to stick with Chromium OS and try out the “cloud” life-style. I can also gain more powerful Linux utilities using crouton. My MacBook Pro’s not going anywhere though as I still need it for the heavier tasks such as:

  • Viewing my large photo archive
  • Backing up important files using Arq
  • Heavy coding (e.g. Android/Java)
  • Updating my 1Password database
  • Buying music on iTunes
  • (Actually, I can’t really think of that many I would need it for.)

I will probably write a follow up post regarding how I am doing with Chromium OS. One major thing I need to work on right now is migrating my password collection. Right now, I am using 1Password on Mac (using standalone license, which I have just paid for recently…) and I need to either switch to 1Password Membership, Lastpass or maintain a copy of the password database locally. Still deliberating on the price, convenience and security.

P.S. Remember what I have earlier said about “the year of Linux desktop”? I see Chromebook and Chromium OS as the successful implementation of “Linux desktop”.

Software Engineer