Chromebook — a productivity beast and a price-to-value champion via its opt-in feature.

Kris Kamil Jacewicz
13 min readApr 5, 2022
Photo from Tada Images via Shutterstock

Just bought a 2nd hand HP Chromebook 13 G1. Beautiful aluminum case, high resolution screen, comfortable backlit keyboard, whooping 16G of memory. The storage on this thing is just a tiny 32G eMMC solid state drive soldered into the motherboard, with no possibility of an upgrade. But it’s fine, because I only paid NT $5000 for it, that’s USD $175!

My actual Chromebook, a 2017’s HP Chromebook 13 G1, 16G RAM model.

Design-wise it’s one of best looking Chromebooks on the market, despite it’s a 2017 model. Spec-wise, my model boosts m7 processor. Besides the tiny storage, the only major limitation, everything else about this device is truly spectacular for it’s price. Except it’s a Chromebook, which obliterates all the potential of this hardware, and turns my investment worthless. Or does it?

This story has to start on a low note. The picture I will paint first will be a bit daunting, to be honest. But I promise that the story develops into a game-changing opportunity and a superb value proposition.

THE FAILED PROMISE

A Chromebook by itself is a futile property and a gimmick. It’s a false promise of a radically cheap modern hardware married with a terrifically lightweight operating system (the Chrome OS) targeted at harvesting the potential of the web-based software — the in-browser webapps. A story of netbooks retold with a twist of html5, praised by many as the future of the Personal Computing.

It’s not.

Well not in the original concept which preaches that a Chromebook is a completely online experience. That’s why storage is least of a concern, because you use cloud storage. And no, not like elsewhere on the market where you might be getting hundreds of GB of space plus some quota of storage on the vendor’s cloud for syncing selfies. Here you get an equivalent of a tiny USB pendrive kind of storage built-in, and you store basically everything on a cloud storage, always online by default. I mean everything, and I mean by default. Even screenshots that you take end up on a cloud storage by default. Or let’s say you are browsing the Internet and you want to download a file or an image. Where does it get downloaded to by default? To your cloud storage. Wait, is that still a download, or is it already an upload… how fun.

People buy into it, then their purchase ends up collecting dust, because it is no good for anything but web-browsing. Indeed on a Chromebook the Chrome web browser is the operating system. Technically speaking, the operating system’s objective is to just run the web browser, which in turn can run anything else within it. It sounds cool, but really, it’s not.

Then, there is added support for Android apps. A second promise to leverage Android’s potential on your Chromebook adding immensely to the usability and productivity. But that is a tricky promise as well, at least for the time being. Android apps do run mostly smoothly on a Chromebook. However, they are 2nd class citizens and in a very evident way too. Android apps are rarely adopted for a PC/laptop form factor. Even supporting tablet form factor optimally is still not common. While consuming a smartphone intended app on a tablet is still somewhat practical, it is seriously disappointing and quickly turns downright irritating on a laptop device. Especially on one without a touchscreen, like my Chromebook.

There is another problem with Android support. You do get access to Google Play full of apps. But the apps still have to match your CPU. Overwhelming majority of Android apps are only available for ARM processors. My Chromebook has an Intel CPU, and so is a number of other models. Only few of apps that I have installed on my Android smartphone are also available for the Intel CPU. The Google proprietary apps are generally all available. Not so much for the rest. My mobile banking, IP camera and other Smart Home apps, the really important and useful ones, only come in ARM version. You might be unaffected by this limitation if you buy an ARM based Chromebook, that’s a given. But even then, these apps will all be uncomfortable to use on a laptop because they are designed for being used and interacted with using a smartphone’s screen orientation and touch input.

Finally, while Chromebooks are great for consuming webapps, and rich media content, including 4k streaming video, they are just not meant to consume innately local/offline software, including the productivity kind. Also generally forget about application labelled as “intensive on processing” such as image/photo or video editing. Not that you can even find any of such available for the Chrome OS or Android platform that could even remotely support the UX and features of the similar software for PC. That’s why the 32G storage on my Chromebook feels bizarre and almost absurd in comparison to all other specs. It was never meant for anything other than webapps.

I think that spending less than USD $200 for just a portable typing machine for my writing and with a built-in web browser is already a great deal. I suspected there was a hidden potential to unleash but I was also fine if there wasn’t. Long story short, I hit a jackpot. And so can you.

THE GAME-CHANGING POTENTIAL OF AN OPT-IN FEATURE

Chrome OS supports GNU/Linux. And that in itself unlocks a Chromebook into a beast mode. And yes, It unlocks a host of expert computing capabilities for advanced back-end, client-server programmers and sysadmins. But that’s not what really sells it. Not to most anyways. Except few of us programmers and sysadmins. Cheers!

While Linux support does get mentioned on portals and blogs, it often misses a big point. It generally fails to mention that once you enable Linux on your Chromebook, it then unlocks a complete, modern and powerful DESKTOP experience where sky is the limit. A command line terminal? Yeas please! But that’s just the tip of an iceberg, and the fun does not end there. It’s 2022 and most of people still don’t realize that about Linux .We’re talking graphical windowed desktop applications and software suits, closing the gap between a Chromebook and regular laptop entirely!

The best thing is, that this is actually a supported feature on Chrome OS. Not a tinkering hack that voids your warranty. It’s not like rooting or jailbreaking your phone. It’s legit.

It is an opt-in feature, but one that’s natively available nonetheless. You need to go into your settings, scroll into advanced section, then into the section called “Developers”, and there you have it.

The way it works, is through LXC+KVM. So there is a confinement, the Linux is running in a sandboxed guest environment mostly isolated from the host, and somewhat integrated with it. And integrate it does!! Google has so far done a tremendous degree of integration, that’s a sheer pleasure to experience:

  • GPU acceleration: I can play 3D Linux games. I can smoothly play video content up to 4k (Youtube, Netflix, Prime, Disney+ all play smoothly in my Linux Brave browser). I can even reach usable rendering speeds in my video editing software.
  • Display tweaks for high resolution screens: Since lots of Chromebook have high resolution and high dpi screens, which would render traditional Linux apps very tiny on the screen, Chrome OS by default tweaks the scaling for a better experience in HiDPI. It can be easily configured and on a per-app basis.
  • File sharing: you can use Chrome OS, Android and Linux apps simultaneously on your Chromebook and they all can share files.
  • Full audio integration in and out: Not only you can play audio from your Linux apps onto your Chromebook speakers/headset, but you can even use microphone and record audio using Linux recording software !!
  • Application shortcuts: Once you launch a Linux app from a command line, it will remain accessible from your Chromebooks main apps spread view, and you can also pin them to your main icon dock.
  • USB forwarding: you can make any usb device connected to your Chromebook available to your Linux and its apps. This can be easily managed in your Chromebooks settings.
  • Networking: a given really, off course networking works flawlessly. Your Linux will have it’s own IP on a virtual sub-network, but Chrome OS settings allow for port forwarding, so you can run servers.

There are still some remaining aspect of integration that I am looking forward to have added. Some are just nice-to have, like using any input method from the host automatically also on the guest. I use Chinese Pinyin input for example, which I have to enable independently on the Chrome OS and on Linux.

But there is that one major integration missing that is absolutely crucial for anyone: the webcam access.

Currently I can run Teams Linux version flawlessly for calls, but I cannot access the webcam of my Chromebook. I will need to use Chrome OS or Android apps to do video calls. Not a deal breaker. But the webcam support is definitely the last mile to go for Google on the roadmap for optimally supporting Linux desktop apps on Chromebooks.

I only have one Chromebook, it’s the only one I have ever used, and it’s an Intel CPU based model. I don’t know if the ARM based Chromebooks have the same level of integration between Chrome OS and Linux, but I would expect it to be the case. Linux is fully mature on ARM, including desktop applications. That said, it’s entirely up to software publishers whether or not they also support ARM. Some Linux applications will be available on both Intel and ARM, some will only be available exclusively on one of the architectures but not on the other. It’s also the case with Android.

On my Chromebook I have Libre Office suite with word processor, slides and spreadsheets.

I have GIMP — a complete photoshop-like photo editing software and for vector graphics I am using Inkscape.

GIMP 2.10 runs smoothly on my Chromebook. Photo editing is a breeze.
Inkscape allows me for an unconstrained work with vector graphics on my Chromebook.

I can edit and render videos on my Chromebook with Shotcut, and it’s just good enough on an Intel m7 for creating video content for my publishing.

Shotcut version 22.03 does run, does render. Not a speed demon, but it gets the job done. On a Chromebook.

And here is a silly-simple video quickly edited and rendered out on my Chromebook just as a proof of concept that video editing is possible on a Chromebook thanks to support for Linux apps:

I can even play 3D games, and 0 A.D. runs smoothly, except that I won’t keep it because I’ve a small storage problem. Otherwise I would install Steam and with it at least a bunch of titles, including Vallheim. 0 A.D takes 2G of space, so I removed it to make space for other applications. I forgot to take a screenshot, but it works flawlessly with GPU acceleration. Maybe I will make some space on my Chromebook in the future and re-install it again just to add a screenshot or a screen recording.

Steam installed, and running. Downloading Witcher 2 into a locally mounted network share (sshfs).

I can even do 3D modeling and rendering with Blender, which is kind of mind-blowing when you think about it — a Hollywood grade software capable of rendering scenes out of MCU on a Chromebook. Well, rendering isn’t fast, I will keep using Blender on my Dell XPS, but if I ever needed to edit a 3D mesh on a Chromebook, I could.

I can edit audio with Audacity when it’s just simple stuff and with Ardour if I’m in mood for mixing and creating production grade electronic music.

Audacity v2.4 works great, and I can record audio using my Chromebook’s built-in microphone.

I can develop software (my thing is Object Pascal) using Lazarus IDE or Geany when I’m lazy. But whatever tickles your fancy: Eclipse, Atom, Sublime, Visual Studio Code. Or seriously, you could go for Android Studio and develop Android apps on your Chromebook — if you had more storage than me ;)

Lazarus IDE 2.0 with FPC compiler v3.2, from Debian’s repos, with support for both gtk2 and qt5.
For quick edits of shell script including InstaFPC scripts I use Geany, which also supports FPC compiler.

And I get all the usual tools for distributed work : Slack, Skype, Telegram, Spotify, Teams — not mobile apps, but desktop flavors of those.

All the things that a Chromebook is not designed for, and not meant to be used for. Or is it?

With an opt-in support for Linux on Chromebooks and its deep level of integration Google has liberated its platform from its original limitation. Now it’s on hardware vendors to catch up and disillusion themselves from a naive belief in a small storage Chromebook. Yes, the 5G and the WiFi 6 are currently bringing us to a more connected world of an ever-growing bandwidth. But even smartphones come with hundreds of Gigabytes of storage and going into Terabyte territory as we speak. How is 32G or even 64B justifiable on a laptop form factor? Well, it isn’t, period.

That said, I cannot emphasize on this more: my 32G Chromebook 13 by HP, designed back in 2017, which I bought second hand in 2022 for less than $180 USD is an amazing and beautiful typing machine with an integrated web browser capable of 4k media consumption and a solid value for the price. And after having it leverage Linux support and integration, the value to price ratio has me gone bananas. It’s a ridiculously, shockingly incredible and unbelievable value for the buck. To put it mildly.

And this article has been entirely produced on my Chromebook, including all the photo editing, and running all the applications that I included screenshots of, as well as most of what I’ve just mentioned.

WHERE THINGS GET SLIGHTLY CRAZY

What if I told you that enabling Linux unlocks your Chromebook to the point where you can even run Windows software on it? Because it does !!

Forget about running a vm under Linux under Chrome OS. Yes, you can install and fire up Virtualbox, but you won’t be able to create a vm with it, because the virtualization is not enabled, and dedicated kernel modules aren’t installable in from within a container. That was to expect, but off course I tried it for just the sake of it, because reasons.

Linux version of VirtualBox running on a Chromebook
Although VirtualBox starts, VMs cannot be created due to lack of virtualization support

You probably will be able to use plain Qemu without KVM to create virtual machines, because it supports it even without VTx, but it would be really slow. I didn’t try it, but I see no reason why it wouldn’t work in principle.

But Linux has another way of running Windows software, which does not require virtualization. Wine. Not the grape kind. It does work, and I tested it, with the single most worthwhile Windows application to run on Linux, which got killed off by its own parent, the excellent Google Picasa (aka the ultimate photo manager on Linux, despite being a Windows application):

Google Picasa v3.9 on a Chromebook via Linux+Wine
Wine applications are tiny on a HiDPI screen. In the background a Nautilus app automatically upscaled.

The installer and the program work, and they do work flawlessly. The problem out of the box is the scaling. Linux apps will be scaled up, but not Windows apps running through Wine. Not by default. You can see on my screenshots how tiny Picasa window, controls and text all are. This can be resolved by some manual customization of settings. It probably has a ready solutions on the Internet anyways. I am truly excited that Wine works this well on my Chromebook, but I won’t be keeping it. Not worth it on the very limited storage space of my Chromebook. If only I could upgrade my storage capacity, I would exploit this potential to the fullest. But for those of you out there with different Chromebook models, with larger or upgraded storage, this is what you want on your box! Did I mention all the gaming you can have with it? You get the point ;)

WHERE THINGS GET RIDICULOUSLY INSANE

Debootstrap and architectural chroot. Yeah, I said it! Now, depending on your background, you’re either confused, or aroused.

So what is that architectural chroot, how is it different from a normal chroot? Well, you can run a container with a different CPU architecture than the one where you run the container on. And you can just chroot into it, and use it, all business as usual. It sounds crazy magic, but that’s exactly what you get. Without any virtualization. It is magic. Without actual magic.

Okay, but why? Well it’s up to you, really. I use it to write software for ARM Linux natively, without cross-compiling, on an Intel computer. I can install and run full fledged ARM native RAD with compiler(s) and graphical IDE, and visually develop GUI apps that then I can directly run, or copy/deploy to an ARM based single-board computer like a Raspberry Pi, or a Linux phone like a Meziu Pro 5 or a Nexus 5 running UBports (formerly Ubuntu Touch). I used to write about this few years back:

If you aren’t fired up yet, it’s because you’re thinking small about endless possibilities. Picture this for example: an ARM Chromebook/Android, inside an ARM Linux, inside an x64 Linux, inside an x64 Chromebook, boom!

And I now can do this kind of things with my Chromebook when at a coffee shop or out in the woods camping without my main laptop. What‘s your excuse ;)

--

--

Kris Kamil Jacewicz

Expert in Product Planning and Execution. Software Development Veteran. Polish expat in Taiwan. My profile: www.linkedin.com/in/krzysztofjacewicz/