Tech
Exclusive first look: Here’s Chrome OS running on an Android phone
TL;DR
- We got Google’s Chrome OS up and running alongside Android on a Pixel phone.
- This is possible thanks to a special build of Chromium OS — the open-source version of Chrome OS — made for running in a virtual machine.
- It’s not clear whether Google plans to release this to the public.
Earlier today, we broke the news that Google got Chrome OS running on a Pixel phone. The company created a special build of Chromium OS — the open-source version of Chrome OS — that’s designed to run in a virtual machine. A demo of this project, known internally as “ferrochrome,” was privately shown off to other companies at a recent Google event. With a bit of effort, we managed to compile and run our own build of “ferrochrome” on an Android phone. In the video embedded above, you can get a first look at Chrome OS running in a VM on a Pixel phone.
You’ll notice in the video that the phone I chose for this demo is my Pixel 7 Pro, Google’s flagship phone for 2022. This also could’ve worked on any other Tensor-powered Pixel device, and in fact, my first choice for this demo was my Pixel 8 Pro. Unfortunately, even though the Chromium OS build we compiled successfully booted up on my Pixel 8 Pro, there was a bug preventing it from getting into the setup wizard. The reason I wanted to demo this on my Pixel 8 Pro in particular is because it’s the only phone I have in the Pixel lineup that supports display output. Alas, since we couldn’t get this immediately working on my Pixel 8 Pro, we settled on demoing “ferrochrome” on my Pixel 7 Pro instead.
Another thing you’ll notice from the video is that my Pixel 7 Pro isn’t running Google’s latest official stable or beta build. Instead, it’s running a custom build of Android compiled from AOSP. The reason for this is that I needed to use Google’s VM launcher app. VM launcher is an Android app made by Google that calls APIs in Android’s Virtualization Framework (AVF) to create and launch a virtual machine using the configuration specified in a JSON file. It then creates a SurfaceView to display the VM when the app is showing.
As you can see in the video, Chromium OS boots up quite quickly on my Pixel 7 Pro. Since Chromium OS builds lack Google sign-in support by default, I had to sign into a guest profile. Networking didn’t work out of the box, but this was a known issue that was fixed after I ran a script and adjusted some settings in Chromium OS’ settings. Fortunately, USB peripherals like a mouse and keyboard were recognized immediately. Audio didn’t work, but that’s something I know that Google is actively working to fix. I didn’t get much time to play around with this before I had to catch a flight, but performance generally seemed pretty snappy from the brief time I had with it.
Samsung Dex or Chrome OS on Android, which would you prefer?
1351 votes
In case you’re wondering, the only reason we had to compile our own build of AOSP is because the VM launcher app isn’t included yet in any of the Android builds Google offers for its Pixel devices. Fortunately, the VM launcher app is now included in the Virtualization APEX module thanks to a patch that was merged on April 9, so upcoming Android builds should have this app by default. Unfortunately, you’ll still need to root Android to try this right now. That’s because the VM launcher app is disabled by default, which you could get around by recompiling and changing the package name. That might work because the permissions it needs can theoretically be granted via ADB, but unfortunately, the script to set up network access currently requires root access. Fortunately, Google’s documentation notes that the script won’t be necessary in the future, which hopefully means we’ll be able to run Chromium OS on any Android phone that supports AVF without needing root!
If you’re wondering whether running other operating systems will be possible, theoretically, they should be. However, Google’s official, public documentation notes that Chromium OS is the “only officially supported guest payload” as of April 2024. But it does also say that Google will be adding support for running more operating systems with graphics support in the future.