Na versão Android Canary, que substituiu o Android Developer Preview e é utilizada para testar funcionalidades para futuras versões do Android, foi adicionada a capacidade de executar aplicativos gráficos construídos para Linux. A execução é feita por meio do aplicativo Terminal Linux, que permite iniciar uma máquina virtual com Debian GNU/Linux no ambiente Android, na qual é possível executar aplicativos Linux comuns.
Para iniciar o ambiente gráfico no aplicativo Terminal Linux, foi adicionando um botão ‘Display’, que ativa o redirecionamento gráfico através de componentes do ambiente Android principal. Após ativar o botão 'Display', é possível iniciar o servidor compositor Weston no terminal, fornecendo uma sessão de janelas minimalista, e então usá-lo para executar quaisquer aplicativos gráficos, como demonstrado com o editor de texto Gedit.
O desenvolvimento do aplicativo Terminal Linux está sendo realizado no repositório AOSP (Android Open Source Project) como parte principal da plataforma Android. A funcionalidade da máquina virtual com Linux está sendo desenvolvida no âmbito do projeto Ferrochrome. No ambiente convidado, é executado o Debian GNU/Linux 12. Para virtualização, é utilizado o framework AVF (Android Virtualization Framework), implementado com base no hypervisor. KVM e na ferramenta crosvm. O ambiente gráfico utiliza o protocolo Wayland e é baseado no compositor servidor Weston. A execução de aplicativos construídos para X11 é feita através do componente DDX XWayland.
No ambiente criado, existe a possibilidade de utilizar aceleração de hardware gráfico, permitindo a execução de aplicativos gráficos que utilizam muitos recursos, como jogos. Para a aceleração gráfica, é utilizado o VirGL — GPU virtual Virgil3D para QEMU/KVM. Por padrão, a aceleração de hardware está desativada, e para ativá-la é necessário criar um arquivo vazio chamado ‘virglrenderer’ no diretório /sdcard/linux, depois observar a mensagem ‘VirGL enabled’ ao abrir o terminal.
Fonte: opennet.ru
