В ветку Android Canary, пришедшую на смену Android Developer Preview и применяемую для тестирования функциональности для будущих выпусков Android, добавлена возможность запуска графических приложений, собранных для Linux. Запуск осуществляется через приложение Linux Terminal, позволяющее запустить в окружении Android виртуальную машину с Debian GNU/Linux, в которой можно выполнять обычные Linux-приложения.
Для запуска графического окружения в приложение Linux Terminal добавлена кнопка “Display”, включающая перенаправление графики через компоненты в основном окружении Android. После активации кнопки “Display” в терминале можно запустить композитный сервер Weston, предоставляющий минималистичный оконный сеанс, а затем использовать его для запуска любых графических приложений, например, продемонстрирован запуск текстового редактора Gedit.
Разработка приложения Linux Terminal ведётся в репозитории AOSP (Android Open Source Project) в основном составе платформы Android. Функциональность виртуальной машины c Linux развивается в рамках проекта Ferrochrome. В гостевом окружении запускается Debian GNU/Linux 12. Для виртуализации используется фреймворк AVF (Android Virtualization Framework), реализованный на базе гипервизора KVM и инструментария crosvm. Графическое окружение использует протокол Wayland и основано на композитном сервере Weston. Запуск приложений, собранных для X11, производится при помощи DDX-компонента XWayland.
В создаваемом окружении реализована возможность задействования аппаратного ускорения графики, что позволяет запускать ресурсоёмкие графические приложения, такие как игры. Для ускорения графики задействован VirGL – виртуальный GPU Virgil3D для QEMU/KVM. По умолчанию аппаратное ускорение отключено и для его активации необходимо в каталоге /sdcard/linux создать пустой файл с именем “virglrenderer“, после чего проследить за появлением сообщения “VirGL enabled” при открытии терминала.