tawc, композитор для запуска Linux-программ на Android без root, написанный с помощью Claude Code

tawc, опубликованный на GitHub проект, который запускает консольные и графические Linux-программы на Android без root-доступа. Графические приложения получают аппаратное ускорение через собственный графический стек телефона. Проект состоит из трёх частей: tawcroot (более производительная альтернатива PRoot), Wayland-композитор и общий пользовательский интерфейс, который связывает их воедино. В README указано, что tawc написан агентами, в основном с помощью Claude Code и «новейших моделей Anthropic» (какая именно модель, автор не уточняет). Внутри tawc работает так: приложение скачивает и распаковывает обычный дистрибутив Linux, Arch Linux ARM или Debian. Программы этого дистрибутива, включая его штатный пакетный менеджер, запускаются «внутри» корневой файловой системы дистрибутива с помощью tawcroot: он эмулирует chroot и другие системные вызовы, чтобы обойти ограничения Android без root-прав, по устройству это похоже на PRoot, но быстрее, потому что работает в один процесс. За интеграцию с Android, например, за передачу ввода со штатной Android-клавиатуры, отвечает Wayland-композитор на базе библиотеки Smithay. Форк библиотеки libhybris позволяет Linux-программам, собранным под glibc, использовать штатные графические драйверы Android; по словам автора, оригинальная версия libhybris на обычном Android не работает, а форк проекта, работает. Для аппаратно ускоренных X11-приложений в состав включён XWayland. В интерфейс встроен виджет терминала из Termux, привычный вид командной строки без необходимости ставить само приложение Termux. Установленные графические приложения запускаются из меню tawc, их можно закрепить на домашнем экране, и тогда они появляются в переключателе приложений наравне со штатными Android-программами. Есть встроенный диспетчер задач для просмотра и завершения запущенных Linux-процессов, а функция andocommand и привязки хранилища позволяют Linux-программам при необходимости обращаться к данным Android. Автор прямо перечисляет ограничения. Реальной изоляции Linux-приложений сверх штатных механизмов Android нет: из-за однопроцессной архитектуры из tawcroot можно вырваться. Полной поддержки OpenGL, как на настольных системах, нет, доступны только графические API самого телефона, обычно GLES и Vulkan. Для игр проект пока не тестировался и не оптимизировался. Производительность выше, чем у альтернатив, но до нативной не дотягивает. Официально собираются только сборки под arm64; сборка под x86 в принципе возможна, но применяемые в проекте трюки с libhybris рассчитаны на arm. Требуется Android 10 и новее. Весь код проекта вне папки deps/ распространяется по лицензии MIT; часть кода в подключённых зависимостях, в частности, виджет extra-keys из termux-shared, под GPLv3, из-за чего проект в целом лицензирован как GPLv3. Автор просит присылать issue, а не pull request: багрепорты и запросы функциональности принимаются, но без гарантии сроков рассмотрения. Отдельное требование, если текст issue написан с помощью языковой модели, это нужно явно пометить (в идеале указать, какая именно модель использовалась), и обязательно приложить также описание, написанное человеком.
Ключевые факты
- tawc запускает консольные и графические Linux-программы на Android без root, с аппаратным ускорением графики через собственный графический стек телефона.
- По данным README, проект написан агентами, в основном с помощью Claude Code и неназванных «новейших моделей Anthropic».
- Под капотом: tawcroot (быстрее PRoot за счёт однопроцессной архитектуры) запускает скачанный дистрибутив Arch Linux ARM или Debian; Wayland-композитор на Smithay и форк libhybris дают аппаратное ускорение (GLES/Vulkan) и интеграцию с Android; для X11-приложений включён XWayland.
- Ограничения, которые называет сам автор: нет реальной изоляции приложений (из tawcroot можно вырваться из-за однопроцессной архитектуры), нет поддержки OpenGL уровня настольных систем, игры не тестировались, официальные сборки только под arm64, нужен Android 10+.
- Лицензия смешанная: MIT для всего кода вне deps/, но из-за одной подключённой GPLv3-зависимости весь проект в целом, GPLv3; принимаются issue, а не pull request, и текст issue, написанный языковой моделью, нужно явно помечать.
Почему это важно
Показательно не столько само приложение, сколько то, как оно, по словам автора, сделано: README называет Claude Code основным инструментом разработки, а под капотом у tawc не типовой прикладной код, а системный софт: эмулятор системных вызовов вместо root, Wayland-композитор и форк графической библиотеки libhybris под платформу, для которой она официально не поддерживается. Если это описание точно отражает процесс разработки, оно показывает, что ИИ-агенты уже применяются не только для типового прикладного кода, но и для низкоуровневой системной разработки. Проверить это утверждение независимо нечем, оно основано только на словах автора в README.
Кому это важно
Прежде всего, владельцам Android-телефонов, которым нужна полноценная Linux-среда (терминал, пакетный менеджер, графические приложения) без root: разработчикам, любителям Linux, пользователям связки Termux и PRoot, упиравшимся в её ограничения по скорости и изоляции. Во вторую очередь, тем, кто следит за тем, какие задачи ИИ-агенты вроде Claude Code уже способны решать в системном программировании.
Как это применить
Нужен телефон на Android 10 или новее с процессором arm64, официальные сборки под x86 пока не выпускаются. Проект опубликован на GitHub, репозиторий wmww/tawc. После установки tawc через него можно скачать дистрибутив (Arch Linux ARM или Debian), ставить программы штатным пакетным менеджером этого дистрибутива и запускать их, включая графические, из меню tawc или с ярлыка, закреплённого на домашнем экране. О проблемах и доработках автор просит сообщать через issue на GitHub, а не через pull request; если текст issue сгенерирован языковой моделью, это нужно явно указать и дополнить описанием, написанным человеком.
Можно ли доверять
Единственный источник, собственный README проекта на GitHub, написанный от первого лица («я», «наш форк»). Имя автора прямо не приведено, но следует из названия проекта (tawc расшифровывается как Tess's Android Wayland Compositor) и из владельца репозитория на GitHub, пользователя wmww; организация нигде не указана. Заявление о том, что проект написан «в основном с помощью Claude Code и новейших моделей Anthropic», не подтверждено ничем, кроме слов автора: ни конкретная модель, ни доля кода, написанного агентами, ни независимая проверка нигде не приводятся. При этом сам автор открыто перечисляет ограничения проекта, включая отсутствие реальной изоляции приложений, но и это не заменяет независимой проверки заявленных возможностей.
Риски и подводные камни
Автор сам предупреждает: реальной изоляции Linux-приложений, кроме штатных механизмов Android, нет, из-за однопроцессной архитектуры tawcroot из неё можно вырваться, то есть изоляция условна. Полной поддержки OpenGL, как на настольных системах, нет, доступны только GLES и Vulkan телефона, из-за чего часть графических Linux-программ может работать некорректно или не запускаться вовсе. Для игр проект не тестировался и не оптимизировался. Официально собирается только под arm64. Лицензия всего проекта, GPLv3 из-за одной вложенной зависимости, это стоит учитывать при повторном использовании кода. Отдельно автор заранее вводит правило об обязательной пометке ИИ-сгенерированного текста в issue, судя по всему, ожидая проблем именно с этим.
«Этот проект написан агентами, в основном с помощью Claude Code и новейших моделей Anthropic.»
— README проекта tawc