Repository navigation
Tessera 0.1.0 (alpha)
Alpha. Expect rough edges: much of it has only been tried on one phone.
The first release of Tessera: a launcher that runs desktop Linux apps on Android, each in its own window with its own permissions.
What's in it
- Two engines. PRoot works on any phone, no root needed. Chroot (with root) is faster and enforces each app's permissions in the kernel.
- Linux apps as phone apps. Every app gets its own X server and Android window, one Recents card per window, a keyboard that comes up for text fields, sound, and a shared clipboard.
- GPU acceleration on Adreno phones (Turnip and Zink): OpenGL 4.6 and Vulkan.
- The phone's look. Apps take Android's colors and follow its dark mode live: GTK 3 (adw-gtk3), GTK 4/libadwaita, Qt, LibreOffice, Firefox. They also get a white, rounded pointer.
- Store. Debian's app catalog, plus optional Flathub: one tap sets it up, then its arm64 apps install and run like any other app, GPU included.
- Per-app permissions. Folders, network, sound, USB devices and root, editable from each app's sheet.
- Files tab, task manager, terminal, shortcuts. There's also a window panel with right click, keys, live scaling per app, casting and USB.
- The phone as a PC trackpad over USB or Bluetooth.
Install
Download tessera-v0.1.0.apk below and open it. Requires Android 7 or newer, arm64. On first start, Setup downloads and installs Debian 13.
This build is signed with Tessera's release key. If you have a self-built (debug) version installed, uninstall it first. That deletes its PRoot Linux system; a chroot system in /data/local/linux stays.
Known limits
- Only arm64 is tested, on a Xiaomi 13 Ultra (Android 16, Magisk).
- Flathub: windowed apps only (no console apps yet), no updates from the app yet, and no Flatpak sandbox (Tessera's own permissions apply instead).
- See ROADMAP.md for what's done, what's built but untested, and what's next.
SHA-256: 876ddf95e59e5569ba5c645033dbfff9a7fc1b053e32bc71f2f62b3ee840acad