If you are familiar with Windows 11, you have almost certainly heard of Windows Subsystem of Android. Microsoft constructed its Android compatibility layer on the foundation of Windows Subsystem for Linux, which is based on the company's Hyper-V virtualization platform. Google took a similar approach while designing the Linux app functionality in Chrome OS, but they relied on the Kernel-based Virtual Machine (KVM) of the Linux kernel as the hypervisor. Due to the fact that Android is built on top of the Linux kernel, the question may arise: Wouldn't it be technically possible to utilize KVM to run a virtual machine with another OS on any Android device? Well, if you have a Google Pixel 6/6 Pro and you are willing to flash the first Developer Preview build of Android 13, you can certainly achieve that feat.

What's the secret sauce in Android 13 for the Google Pixel 6? According to XDA Senior Member kdrag0n, in the Android 13 bootloader and firmware for the Tensor platform, Google added the ability to expose the Exception Level 2 hypervisor privilege level to the kernel for its protected KVM feature (pKVM). While pKVM is optional and meant to be enabled on a per-VM basis, one can easily exploit the full KVM functionality on non-protected VMs. This is the reason why the developer could boot multiple Linux distributions and run them nearly at native speed. Google had plans to ship pKVM with Android 13, and even though this is only the first Preview build of next major release of Android, the current implementation looks quite stable.

Google Pixel 6 XDA Forums ||| Google Pixel 6 Pro XDA Forums

Keep in mind that at this stage, direct KVM access on Android 13 requires root access. Having said that, a non-root implementation is possible by writing a VM management app and request a special permission to run a native service in a MicroDroid VM. There exist a number of such virtualization monitor like Google's own crosvm, QEMU, or Firecracker, so an Android port of them should fill the void. Imagine running Windows 11 on your Android smartphone without messing with the underlying partitions, thanks to Android's native virtualization support.

Best of all? It can run DOOM!


What are your thoughts on having full virtualization support on Android? Let us know in the comments below!