Skip to content
I guess now it's a FuchsiaBook?

Google’s Fuchsia OS on the Pixelbook: It works! It actually works!

We take a look at what Google's experimental, secret OS is up to in early 2018.

Ron Amadeo | 191
An external monitor sits next to a laptop computer.
Credit: Ron Amadeo
Credit: Ron Amadeo


Google currently has two OSes on the market: Android and Chrome OS. The company is never one to leave a successful product alone in the marketplace, though, so it's also developing a third operating system called "Fuchsia." When we last checked in on the experimental OS in May 2017, calling it an "OS" was a bit of a stretch. We only got the system UI up and running on top of Android, where it then functioned like an app. The UI offered a neat multi-window system, but mostly it was just a bunch of placeholder graphics. Nothing worked.

It has been hard to check in on Fuchsia since. The Fuchsia system UI, which was written with a cross-platform SDK called "Flutter," quickly shut down the Android (and iOS) compatible builds. Fuchsia has a Vulkan-based graphics stack, and no emulator supports the new-ish graphics API. The only way to get Fuchsia up and running again was with actual hardware, and the only supported devices were Intel NUC PCs from 2015 and the Acer Switch Alpha 12 laptop.

So after the recent news that the Fuchsia team picked the Chrome OS-powered Google Pixelbook as a supported device, we jumped at the chance to get it up and running. And after a little elbow grease, it actually booted. Now, we're not just running the system UI on top of Android like last time, we're running Fuchsia directly on a piece of hardware!

Ars Video

 

This means it's finally time for a deep dive on what Fuchsia looks like in early 2018. Our usual in-development OS testing caveats apply: Fuchsia only started development in 2016 and probably has several years of development time ahead of it. Everything can—and probably will—change between now and release (if a release ever even happens). Google won't even officially acknowledge the OS exists—Fuchsia is a bunch of code sitting on fuchsia.googlesource.com.

Installation: Streamed over a network!

It will send around 1GB of data split across several files, and eventually Fuchsia will boot up.
An external monitor sits next to a laptop computer.
Google's Fuchsia OS, circa 2018, running on a Pixelbook.

Getting Fuchsia up and running on a piece of hardware is a strange and interesting project. You'd expect to download and compile the OS, put it on a USB stick, and either live-boot directly from the USB stick or run some kind of Fuchsia OS installer. Instead, you load a bootable USB stick up with "Zedboot"—a basic bootloader that will get you connected to a network. On the host machine, you compile Fuchsia and send the system files over the network to a machine currently running Zedboot. That's all done in a process the Fuchsia docs call "paving." Once the 1.1GB worth of files is downloaded, the system boots up, and eventually you'll be looking at a lock screen.

The Pixelbook doesn't feel like the best device for this, since it doesn't have the wired network port needed for Zedboot. You'll somehow need to go from USB-C to Ethernet, and the Pixelbook under Zedboot is picky about what Ethernet adapters it wants to support. The one I had lying around didn't work, but after picking up a native USB-C ethernet adapter, things started working. You'll also need your USB stick in the other port to boot Zedboot from, which means you've filled both USB-C ports. All of a sudden, there's no room for power. Luckily, the USB stick isn't needed once the OS starts up; a hub would work, too.

It's not just me; this process is a bit weird, right? The network-based installation does make it easy to stream a fresh version of Fuchsia to the device, but it seems like a lot of work for purely development purposes. Plus, if you want to repeatedly put software on a piece of hardware, the transmission medium of choice is usually USB. This is pure speculation, but does Fuchsia have a network-based install process because eventually the data won't come from a local source? Maybe someday, the goal will be to replace the "host" computer with Google's cloud. Maybe, if Fuchsia ever becomes a real product, a device could boot into Zedboot, connect to a network, and download the latest version of Fuchsia directly from Google.

The basics

Tap the Fuchsia button to switch to phone mode.
You can rotate with the white button at the bottom right.

Once all the downloading is done, Fuchsia will boot up, and you'll be presented with the lockscreen. Let's stop for a minute and just admire what a big deal this is. Remember, this is Fuchsia running on actual hardware without any Linux code under the hood. Right now, Google's built-from-scratch kernel and operating system will actually boot on the Pixelbook, and some things even work. The touchscreen, trackpad, and keyboard work and so do the USB ports. You can even plug in a mouse and get a second mouse cursor. The battery readout is accurate, and plugging in the Pixelbook produces the expected lightning bolt. So much works that it's kind of amazing—the only hardware feature that didn't work was Wi-Fi, but the USB Ethernet adapter worked just fine for Internet.

About halfway through writing this article I learned that, by default, Fuchsia compiles in debug mode. This puts the "slow mode" banner on the top-right corner of the UI, and, well, it makes everything really slow. Adding a "--release" to the end of the build command disables all the debug stuff, making the OS run much faster and disabling the banner. I still wouldn't say Fuchsia works particularly well right now on the Pixelbook, though. The Pixelbook is always hot when you're running Fuchsia. Even just sitting on the home screen, it's a fireball. Things crash a lot, a lot of things don't work. There is still lots of work to do.

Your first Fuchsia impressions will come via the lock screen. The time is front and center, but there are a few controls here, too. In the bottom right is a plus button that will bring up options for Wi-Fi, a login page, and the Guest login. The Wi-Fi window told me "No WLAN interface found" in debug mode and was totally blank in release mode, so it seems the Pixelbook's Wi-Fi just doesn't work currently. The "Login" button will actually bring up a Google login page and will take your email, password, and 2FA challenge before displaying a blank screen and freezing. The "Guest" button is a guest login and is an easy way to start up the OS without logging in.

There are a few features that seem specifically focused on development. The blue Fuchsia logo in the top-left corner will switch between what clearly seems to be "laptop" and "phone" modes. The most official description of Fuchsia we've ever gotten from Google is from the Fuchsia kernel documentation, which says it "targets modern phones and modern personal computers with fast processors." With that in mind, the phone and laptop modes make sense. Remember, this isn't an emulator, though, so the phone mode is a bit odd. The Pixelbook is pulling double-duty as both a native laptop device and a stand-in for a phone device.

The lock screen also has a few hardware button commands for development. Caps Lock (which is technically called the "launcher" button on the Pixelbook keyboard) will switch between the GUI and a command line interface. In the command line mode, volume down will switch between multiple command line instances, one of which is a debug readout. In the GUI, volume down will make the display render upside-down, which is nice for the Pixelbook's tent mode.

The home screen

Close-up photograph of electronic screen showing an unfinished operating system struggle to function.
The home screen in laptop mode.
Close-up photograph of electronic screen showing an unfinished operating system struggle to function.
Pressing the center Fuchsia button opens up a quick-settings panel. The only control here that actually works is "logout."

The home screen is still the "Armadillo" user shell we loaded on Android several months ago. The difference this time is that a lot of things actually work instead of being placeholders.

In the center of the screen there's a status readout showing the time, date, Fuchsia button, Wi-Fi connectivity, and battery. And just like when we last saw Fuchsia, the Fuchsia button will bring up a non-functional quick settings panel, and the Wi-Fi readout is a placeholder that always reads "Google Guest."

The Google bar at the bottom kind of works now. By default it will show some placeholder suggestions, which will each launch a placeholder picture of an app. The Google bar doesn't actually search through Google's search engine, but it will do a local search and come up with launchable apps results, some of which are useful and some of which open a blank, white window. There are a ton of search results. You can also type in a URL like arstechnica.com and get a "Go to arstechnica.com" search result, which you can tap on to launch a Chromeless Web browser.

The browser is unfinished and can't even render Ars Technica fully; Google.com loads fine, though. The user agent for this Fuchsia browser only comes up as "Mozilla/5.0 (Fuchsia; Intel Fuchsia)." Unless someone wants to show me something that says Intel is heavily involved in Fuchsia, I'm going to assume "Intel" is just a way of denoting the platform as being an x86 PC.

The recent apps feature actually works now. As you open apps and go back to the home screen, thumbnails will start to pile up in the top half of the screen. You can scroll up to see more of the recent apps, which will fade out the rest of the UI. These thumbnails are live—if an animation is happening in the app, it will continue to happen in the thumbnail.

Just like on Android, you can swipe away recent app thumbnails to close the app. You can also long-press on the thumbnails and drag them on top of each other, which will launch several split-screen modes. There's a horizontal and vertical split screen, plus a tabbed mode.

There are also a few hidden settings on the home screen. Tapping on the time will allow you to pick a timezone, although this list tends to freeze up. Tapping on the date seems to cycle through some kind of profile. Each time you tap, Fuchsia will change the wallpaper and the suggestions at the bottom. There are three sets of these profiles.

Apps: some barely work; others don't at all

Suggestions for the first profile.
Profile #2, a city block.

Tapping on the date seems to switch between three different profiles. I'm sure this won't be something that would make it to a final build, but for now it seems to be an easy way to switch between different user setup examples. Above you can see the three profiles; each has a different background showing a field, a city block, and a cat, respectively. Each profile has a different list of suggestions in the Google search bar, and each suggestion will launch a different "app."

We get a bit more system UI when we're inside an app. A bottom navigation bar pops up, just like Android. Here you'll find a centered home button and a right-aligned battery icon. Both of these work—the home button takes you home, and the battery icon displays the current battery level. You can long-press on the home button to bring up the non-functional quick settings panel, and you can swipe up from the bottom to bring up the Google search bar.

The apps launched from suggestions are totally non-functional—they're mock-up images of websites and Android apps, or sometimes they're even just random images. There are so many of them, and they seem so unrelated to Fuchsia, that it doesn't seem worth it to post them all.

There's also a collection of ugly, barely working apps that we can play with. There's an infinite scrolling demo, which will just show green and blue blocks whizzing by. Minimize this to a recent apps thumbnail by going to the home screen, and you'll see the blocks continue to scroll in the recent apps thumbnail. There's a video player that tries and fails to play video (probably because I don't have Internet), the beginnings of a chat app, a spinning cube demo, and a music player that crashes with a scary red screen. The one app that is legitimately useful today is a basic file manager. It's just white on black text, and it looks like a command line interface, but it lists all of the files that make up Fuchsia, including a full list of all of these apps.

A long way to go, but we'll keep an eye on it

It's worth mentioning, once again, that Fuchsia probably has a long way to go. Android took five years at Google to become a consumer operating system, while Fuchsia has only been in development for about two years. For a few reasons, Fuchsia might even take longer than Android to hit version 1.0. By all accounts Android's initial development was a rush job at Google, as the company hurriedly tried to whip together an answer to the headline-grabbing first-gen iPhone. Today, Google has more than 80 percent of the smartphone OS marketshare, so it has no reason to rush Fuchsia out the door.

Android also had the benefit of being built off the Linux kernel, which was approaching 20 years of history at the time. Fuchsia is starting over from scratch with its own "Zircon" kernel, so there is probably a lot more work to do. Right now Fuchsia's "Armadillo" interface seems like a pure placeholder and doesn't seem like something that could possibly work on a production device. For starters, there's no mechanism for notifications, no way to see an app list, and no system settings.

Android 0.3, Android 0.5, and Fuchsia. Just like how these first Android interfaces were thrown out, I think Fuchsia's current interface won't make it to retail. Credit: Ron Amadeo

When Android was in development, it first looked like a BlackBerry clone and then had a crazy dock-style interface. Android threw out two totally different interface styles before it settled on the "home screen/app drawer/pull down notification" combo, and I think that's what we're looking at right now with Fuchsia. If Fuchsia ever becomes a real product, I don't think this interface will make it. It doesn't even have app icons, something that has become a standard OS component on Android, iOS, Windows, Mac OS, Desktop Linux, and basically every other OS ever.

After a few days of tinkering, that's about it for this round of Fuchsia updates. We ran every app and looked at just about every nook and cranny of the UI we could find—and a lot of stuff is still very much to be determined. So if Fuchsia ever becomes a real product in the future, hopefully this will serve as a fun time capsule for where it was after about two years into development. Rest assured, we'll keep checking on the OS every few months in the interim.

Photo of Ron Amadeo
Ron Amadeo Reviews Editor
Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. He loves to tinker and always seems to be working on a new project.
191 Comments