Do větve Android Canary, která nahradila Android Developer Preview a používá se k testování funkcionality pro budoucí verze Android, byla přidána možnost spouštět grafické aplikace sestavené pro Linux. Spuštění probíhá prostřednictvím aplikace Linux Terminal, která umožňuje spustit v prostředí Android virtuální stroj s Debianem GNU/Linux, ve kterém můžete spouštět běžné linuxové aplikace.
Pro spuštění grafického prostředí byla do aplikace Linux Terminal přidána tlačítko „Display“, které aktivuje přesměrování grafiky přes komponenty v hlavním prostředí Android. Po aktivaci tlačítka „Display“ v terminálu můžete spustit kompozitní server Weston, který poskytuje minimalistickou okenní relaci, a poté ho použít ke spuštění jakýchkoli grafických aplikací, například byl demonstrován koncept spuštění textového editoru Gedit.
Vývoj aplikace Linux Terminal probíhá v repozitáři AOSP (Android Open Source Project) jako součást platformy Android. Funkcionalita virtuálního stroje s Linuxem se vyvíjí v rámci projektu Ferrochrome. V hostitelském prostředí běží Debian GNU/Linux 12. Pro virtualizaci se používá rámec AVF (Android Virtualization Framework), implementovaný na základě hypervisoru Weston. KVM a nástroje crosvm. Grafické prostředí využívá protokol Wayland a je založeno na kompozitním serveru Spouštění aplikací, které byly sestaveny pro X11, se provádí pomocí DDX komponentu XWayland.
Ve vytvářeném prostředí je implementována možnost využití hardwarového urychlení grafiky, což umožňuje spouštět náročné grafické aplikace, jako jsou hry. Pro urychlení grafiky je použit VirGL — virtuální GPU Virgil3D pro QEMU/KVM. Hardwarové urychlení je ve výchozím nastavení vypnuto a pro jeho aktivaci je nutné vytvořit prázdný soubor s názvem „virglrenderer“ v adresáři /sdcard/linux, a poté zkontrolovat, zda se při otevření terminálu objeví zpráva „VirGL enabled“.
Zdroj: opennet.ru
