Tess 的 Android Wayland 合成器
Tess's Android Wayland Compositor

原始链接: https://github.com/wmww/tawc

**tawc** 是一个无需 Root 权限即可在 Android 上运行命令行及图形界面 Linux 应用程序的项目。它通过使用 **tawcroot**(一种高性能、单进程的 PRoot 替代方案)以及基于 Smithay 的 Wayland 合成器来实现这一功能。 主要功能包括: * **硬件加速:** 使用 `libhybris` 的自定义分支,将 Linux 应用与原生 Android 图形驱动(GLES/Vulkan)连接起来。 * **无缝集成:** Linux 应用可添加到 Android 主屏幕,并出现在应用切换器中。它包含一个内置的 Termux 终端组件和进程管理器。 * **兼容性:** 支持 Arch Linux ARM 或 Debian 等标准发行版。 * **功能性:** 支持 XWayland,并允许 Linux 程序访问 Android 存储空间。 该项目主要由 Anthropic 的模型辅助开发,采用 GPLv3 协议开源。它要求 Android 10 及以上版本,目前针对 arm64 架构进行了优化。尽管它比传统替代方案更快,但仍未达到原生运行速度,且缺乏完全的沙盒隔离。开发者欢迎用户提交错误报告和功能请求,前提是这些内容需有清晰的文档记录,并区分人类创作与人工智能生成的内容。

Hacker News 最新 | 过往 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 Tess 的 Android Wayland 合成器 (github.com/wmww) 9 分,由 schmorptron 发布于 3 小时前 | 隐藏 | 过往 | 收藏 | 讨论 | 帮助 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:
相关文章

原文

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 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 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:

Issue title: program foo crashes

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]

bad:

[CLAUDESLOP]

Code:

All code outside of deps/ is MIT (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).

Per-component attribution for everything bundled in the app is in-app under Settings → About → Licenses.

联系我们 contact @ memedata.com