Thoughts on using a Chromebook as primary machine

I have always been intrigued of the chromebook solution. Zero maintenance to the operating system and very decent hardware at an affordable pricepoint. But my concern always was "will this also work as a primary personal laptop?" Every time I reviewed the Chromebook option the answer was Not yet because the only way to gain access to a terminal was to configure the device in Developer Mode effectively rooting the device. But lately there have been two major improvements in ChromeOS:

  • The feature to install and use Android Apps;
  • The feature to enable first-class terminal access without having to jailbreak the device.

So I decided the proof is in eating the pudding and bought a Chromebook.

Which device to buy

There are three big concerns in choosing the right Chromebook:

  • Storage - Most devices only have 32/64gb SSD internal storage
  • CPU - Basic Chromebook usage does not require a hefty CPU as development would require
  • Compatibility with Crostini (terminal) since not all chipsets support this

If you have money to spend the Google Pixelbook is the way to go. It has enough storage, is the primary target for Crostini and a fast i7 processor. Current price is ~$1000

Since I was a bit more on a budget I choose the Lenovo Yoga C630 (touchscreen, 64gb SSD & decent i5 processor).

So how did I fare?

The trivial stuff just works(tm). You can use the GSuite for your documents and Google Drive for storing files. I was able to mount my Dropbox as another datasource in ChromeOS which made cross-device much easier. For a lot of applications you can either use their Chrome extension, website of Android application.

Let us dig into some more advanced usecases.

Web Development

The terminal is bliss. It works as expected for doing software development using Visual Studio Code. A delighter for me was that software that you install in the Terminal gets a shortcut in ChromeOS automatically.

Code signing using pgp also works and is as easy as:

  • gpg --gen-key
  • gpg --armor --export
  • Upload the gpg public key to github.
  • Configure git to utilise the signing key: git config --global commit.gpgsign true

Even though the terminal runs in a separate sandbox you are able to proxy-pass localhost from chrome to this sandbox environment to reach your web application.

Downloading torrents

You can use JSTorrent as an extension in Chrome to download torrent files. It even works with magnet links too. Downsides are the download speed which was underwhelming.

Alternative route which I have tried is to install Deluge (or any other popular Torrent client) in the terminal but found that the terminal currently has no access to USB connected storage. So you are stuck downloading to the Downloads folder of your chromebook which can contain not much data. USB support is being worked on so expect this to be resolved in the upcoming months.

Cryptocurrency

Unfortunately I have not found any chromeOS compatible wallet. I tried to use my physical wallet in the form of an USB device called Nano S The android app for this device called Ledger Live is not able to detect the key once plugged in; most likely this is an issue with USB pass-through to Android applications from chromeOS.

Luckily I can trade using my phone using Android with OTG support so for now there is no urgent need to have this fixed.

Gaming

You can install Steam using the Unix support via the terminal. But at the moment hardware acceleration is not supported so playing games is not really feasible for now. This might change in the future ofcourse.

Flashing SD Cards

You can use the Chrome OS Recovery Utility and instead of flashing a backup of ChromeOS to an SD card you can flash any arbitrary image. This allows you for instance to flash a Raspberry PI image for your own needs.

3D Printing, IoT Development

Unfortunately since USB support of the terminal is currently not working (ChromeOS 74) a lot of applications are not useable yet. On the bright side; ChromeOS 75 should have this fixed (https://www.androidheadlines.com/2019/04/usb-support-chrome-os-75-versatile.html)

E-Book management

Previously I relied on Calibre to manage my Ebook collection and the books on my reader. I have not found a way to do so with my Chromebook for now.

In conclusion

Using a Chromebook as primary laptop has not been an easy decision. But it has paid of tremendously. For now I enjoy what works and have not come across a lot of usecases which I use with high frequency and are not able to do so. With the imminent release of USB support via Unix/the terminal a lot of goodness will also come to make the Chromebook offering much more versatile.