O Tuxnator roda programas e jogos Linux no Android: Debian arm64 com PRoot, Box64 para programas x86_64 e Mesa Turnip/Zink para Vulkan e OpenGL em GPUs Adreno. Ele nasceu de um fork do Winlator Ludashi e continua rodando programas Windows com Wine como o Winlator.
Beta. Funciona no aparelho em que foi desenvolvido (Snapdragon 8 Gen 1). Em outros aparelhos ainda é pouco testado: relatos em Issues ajudam muito.
- Android 8 ou mais novo, arm64
- GPU Adreno (Snapdragon) para os drivers Turnip. Outras GPUs só têm o driver do sistema, mais lento.
- Cerca de 1,2 GB livres para o sistema Debian, além do espaço dos jogos
- Baixe o
Tuxnator-<versão>.apkem Releases e instale. Ele não substitui o Winlator: os dois podem ficar instalados juntos. - Abra o app e espere a preparação inicial terminar.
- Em Configurações > Contêiner Linux, toque em Instalar. O app baixa o sistema Debian (cerca de 200 MB), confere o hash SHA-256 e instala.
- Área de trabalho Linux (Configurações > Contêiner Linux): gerenciador de arquivos, barra de tarefas e terminal. Dali dá para abrir AppImages e programas Linux com dois toques.
- Pastas compartilhadas: o Linux só acessa os arquivos do próprio app e as pastas que você escolher nessa
mesma tela. Elas aparecem em
Androidna área de trabalho. - Atalhos: um atalho
.desktopcujoExec=aponta para um programa Linux roda no modo Linux, com os controles virtuais e perfis de teclado do Winlator. - Renderizador (Vulkan ou OpenGL), driver Turnip e precisão do Box64 ficam na mesma tela.
Já testados: SuperTuxKart (jogável com toque, controle virtual e som), apps GTK3/GTK4 e AppImages x86_64.
- O servidor X é o do Winlator, em Java. Ainda faltam as extensões RENDER, SHAPE e XKB: programas que exigem alguma delas podem não abrir.
- Atualizar o sistema Debian troca ele inteiro: pacotes instalados com
aptse perdem. A pasta pessoal fica. - Jogos x86_64 pesados esquentam o aparelho; jogue com o celular carregado.
- APK:
./gradlew assembleRelease(veja .github/workflows/build.yml para as dependências nativas). Releases são assinadas com a chave do projeto, guardada nos secrets do GitHub. - Sistema Debian: .github/workflows/linux-rootfs.yml. As versões de Debian, Box64 e Mesa ficam em tools/linux-rootfs/config.env.
- Debian: cada release
linux-rootfs-Ntraz a lista de pacotes e o código-fonte Debian correspondente (linux-rootfs-N-sources.tar.part-*; junte comcat linux-rootfs-N-sources.tar.part-* | tar -x). - Box64 e Mesa: o
manifest.jsonde cada releaselinux-rootfs-Ntraz o commit usado. Os patches estão em tools/linux-rootfs/build-components.sh. - PRoot: compilado de app/src/main/cpp/proot.
- Winlator de brunodev85 e Winlator Ludashi de StevenMX e pipetto-crypto
- Box86 e Box64 de ptitSeb: rodam os programas x86 e x86_64
- FEX-Emu: emulador x86 e x86_64 usado no modo Windows
- Mesa: drivers Turnip (Vulkan para Adreno), de Danylo Piliaiev e da equipe do Freedreno, e Zink (OpenGL sobre Vulkan)
- PRoot
- Debian
- Ícone: o Tux num kart, imagem no estilo do kart do Tux do SuperTuxKart (arte do SuperTuxKart sob CC BY-SA). O Tux, mascote do Linux, foi criado por Larry Ewing (lewing@isc.tamu.edu) com o GIMP
- Wine, DXVK, VKD3D, D8VK, CNC DDraw, dxwrapper e libadrenotools, usados no modo Windows
Licença MIT (veja LICENSE). Os componentes de terceiros seguem as próprias licenças.