Android 13 DP1 on Google Pixel 6 allows running full Windows 11 and Doom in a VM with near-native performance
Google just released Android 13 Developer Preview 1 (DP1) for developers to test out on eligible Google Pixel phones. Apart from features such as enhanced privacy and themeable app icons, Android 13 may have one cool trick up its sleeves — the ability to run kernel-based virtual machines (KVMs).
XDA Senior Member Danny Lin (@kdrag0n on Twitter) demonstrated that it is indeed possible to run entire virtual machines with near-native performance on a Google Pixel 6 running Android 13 DP1. What's more, the developer could even get Windows 11 on ARM and Doom running on the Pixel 6 as well!
With Android 13, Google is extending the KVM functionality in Linux to something called protected KVM (pKVM) that allows for data confidentiality even if the base OS is compromised. pKVM works on a per-VM basis but with the ability to expose the Exception Level 2 hypervisor privilege in the bootloader and Tensor firmware, it is possible to use full KVM functionality for non-protected virtual machines. Due to this, @kdrag0n could boot multiple Linux distros and run them at near-native speed.
While the current KVM access on Android 13 requires root access, it is theoretically possible to have a non-root method by implementing a service such as crosvm, QEMU, or Firecracker in a Microdroid VM. For those not in the know, Microdroid is a stripped-down version of the Android generic system image (GSI) that allows isolating apps and even OSs on the same hardware. So technically, you can use one OS copy for work and another for personal stuff without the two ever talking to each other and that too, without performance penalties.
@kdrag0n could get Linux distros such as Ubuntu 21.10, Arch Linux ARM, Void Linux, and Alpine Linux running on the Pixel 6. Soon, Windows 11 on ARM was also up and running with relative ease. The developer notes that even though there's no GPU acceleration just yet, the CPU, I/O, and memory seem to be working fine. By connecting the phone's VM to a computer, the developer could also play the original Doom.
From running Android apps on Windows 11 via the Windows Subsystem for Android to running the full Windows 11 OS itself on Android, it looks we have come a full circle. It will be interesting to see what other projects developers can come with as Android 13 matures.
Yes, it runs Doom (connecting to the phone's Windows VM from my computer for keyboard input) pic.twitter.com/6PORUnJk8m— kdrag0n (@kdrag0n) February 14, 2022
Full-blown virtual machines with the KVM hypervisor (near-native performance) on Pixel 6 + Android 13 DP1 pic.twitter.com/4tgtJTPRyO— kdrag0n (@kdrag0n) February 13, 2022