The first Android 13 developer preview may have felt a bit underwhelming, but there’s a hidden gem with full virtualization possible on hardware such as the Google Pixel 6 smartphone.
What that means is that it is now possible to run virtually any operating system including Windows 11, Linux distributions such as Ubuntu or Arch Linux Arm on the Google Tensor-powered phone, and do so at near-native speed.
Android & web developer “kdrag0n” tested several Linux distributions compiled for Aarch64 on the Pixel 6 with Ubuntu 21.10, Arch Linux Arm, Void Linux, and Alpine Linux using “the KVM hypervisor on Pixel 6 + Android 13 DP1”. He/she further explains:
As far as I can tell, we can pretty much get full EL2 on production devices now. Protected KVM is optional and can be enabled on a per-VM basis, but for non-protected VMs, it looks like full KVM functionality is available.
EL2 refers to Arm Exception levels as explained on Arm developer website. kdrag0n did not stop here and managed to get Windows 11 running on the Pixel 6 as well through the same Android 13 virtualization.
The Windows phone is back! More seriously, we’ll have to see if everything is working as expected, but this does look promising.
But why did Google enable virtualization in Android? It’s unlikely they just wanted to let users install Linux or Windows on the phone. Mishaal Rahman addressed this issue about two months ago:
… This is because hypervisors may or may not be present on a device, and when they are, they’re often not even used for their intended purpose, which is to run an operating system in a virtual machine! Instead, they’re used for things like enhancing the security of the kernel (or at least trying to) and running miscellaneous code (such as third-party code for DRM, cryptography, and other closed-source binaries) outside of the Android OS.
So that’s mostly for security and binaries like DRM. Mishaal’s article also points to the Virtualization module source code and a guide explaining how to get started with Protected Virtual Machines.
Via Liliputing
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.