Tess's Android Wayland Compositor Tess's Android Wayland Compositor (tawc) enables rootless Linux graphical apps on Android with hardware acceleration, using tawcroot, a Smithay-based Wayland compositor, and a custom libhybris fork. The project, built with Claude Code and Anthropic models, requires Android 10+, supports arm64, and offers better performance than alternatives but not native speed. tawc runs CLI and graphical Linux programs on Android without root. Graphical apps get hardware acceleration with the phone's native graphics stack. The project consists of tawcroot a performant alternative to PRoot , a Wayland compositor, and the UI to put it all together. This project is agent-built, primarily using Claude Code and latest Anthropic models. - The app embeds Termux's widget for a familiar terminal UI the Termux app itself is not required - When graphical apps are installed they can be run from tawc's launcher menu - Linux apps can be added to the phone's home screen and are presented alongside Android apps in the app switcher - XWayland is included and wired up for hardware accelerated X11 support - A built-in task manager lets you view and kill running Linux processes - The ando command and storage binds allow Linux programs to interact with Android data if desired - A stock Linux distro, such as Arch Linux ARM or Debian, is downloaded and extracted - Linux programs, including the distro's native package manager, are run "inside" the distro's rootfs using tawcroot tawcroot emulates chroot and other syscalls to overcome the limitations of rootless Android it's similar to PRoot but faster because it uses a single process - A Smithay-based Wayland compositor provides android integrations like passing input from your normal Android keyboard libhybris allows glibc Linux programs to load the standard Android graphics drivers- Upstream libhybris doesn't work on stock Android, but our fork https://github.com/wmww/libhybris does - No real sandboxing of Linux apps beyond Android's own mechanisms. Due to its single-process design, tawcroot can be escaped - No desktop GL support, only the graphics APIs provided by the phone generally GLES and Vulkan - Related has not yet been tested or optimized for games - Perf is better than alternatives, but not native - Only arm64 official builds for now. Can be built for x86 but our libhybris tricks rely on arm. - Requires Android 10+ See AGENTS.md /wmww/tawc/blob/main/AGENTS.md for more details. Issues are preferred over PRs. I welcome bug reports and feature requests, but no guarantee they can be handled on any particular timeline. If your issue has LLM-written content, please clearly mark it ideally with what LLM wrote it , and always include a human-written description. Please include your app version, phone, Android version and distro if relevant . TL;DR, good: I'm using Arch on tawc v1 on my Pixel 10 running stock Android 17. I installed foo v1.2 with pacman but it crashes on launch. I asked fable about the problem, and it said: CLAUDESLOP All code outside of deps/ is MIT LICENSE.MIT /wmww/tawc/blob/main/LICENSE.MIT . There's some GPLv3 code in the vendored dependencies termux-shared's extra-keys widget , so the project as a whole is GPLv3 LICENSE /wmww/tawc/blob/main/LICENSE . Per-component attribution for everything bundled in the app is in-app under Settings → About → Licenses.