В Android встроена возможность запуска графических Linux-приложений
В ветку 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» при открытии терминала.
Источник: http://www.opennet.ru/opennews/art.shtml? num=63626
© OpenNet
