FluxLinux
2.0.1 · GitHub
More about this app
Run full Linux desktops on Android with 12 distros, PRoot/Chroot, XFCE4, X11 and PulseAudio; Shizuku applies the phantom-process fix
FluxLinux
Run full Linux desktops on Android โ 12 distros, PRoot or Chroot, XFCE4, X11, and PulseAudio
๐ฑ Screenshots
![]() Home |
![]() Distros |
![]() Install |
![]() Settings |
![]() Desktop |
![]() Terminal |
๐ง Supported Distros
Twelve guests. Every one installs as PRoot (no root) or Chroot (rooted), with XFCE4 on the in-app X11 display and host PulseAudio. Rootfs archives download on demand from the GitHub rootfs tag after an in-app opt-in.
Debian 13 Trixie |
Alpine 3.24 |
Fedora 44 |
Void Rolling |
openSUSE Tumbleweed |
Deepin 25 |
Chimera musl / apk v3 |
Manjaro ARM |
Ubuntu 26.04 |
Kali Rolling |
Parrot 7.2 |
Arch ARM |
| Distro | Release | Packages | PRoot | Chroot | XFCE4 + X11 | PulseAudio | |
|---|---|---|---|---|---|---|---|
| Debian | 13 Trixie | apt | โ | โ | โ | โ | |
| Alpine | 3.24 | apk | โ | โ | โ | โ | |
| Fedora | 44 | dnf | โ | โ | โ | โ | |
| Void | Rolling | xbps | โ | โ | โ | โ | |
| openSUSE | Tumbleweed | zypper | โ | โ | โ | โ | |
| Deepin | 25 | apt | โ | โ | โ | โ | |
| Chimera | Rolling | apk v3 | โ | โ | โ | โ | |
| Manjaro | ARM | pacman | โ | โ | โ | โ | |
| Ubuntu | 26.04 | apt | โ | โ | โ | โ | |
| Kali | Rolling | apt | โ | โ | โ | โ | |
| Parrot | 7.2 | apt | โ | โ | โ | โ | |
| Arch | ARM | pacman | โ | โ | โ | โ |
Debian also ships the optional extra stacks (KDE Plasma, app/web/data/game/office/graphics). The other eleven use the shared XFCE4 + GPU + theme path.
Per-distro notes: docs/distro/.
๐ Vision
Modern Android hardware is powerful enough to run desktop workloads, but the software ecosystem limits it. FluxLinux bridges this gap, enabling:
- ๐ Full-Stack Web Development โ Node.js, Python, React, VS Code
- ๐ฎ Desktop Gaming โ Box64/Wine (coming soon)
- ๐ Cybersecurity โ Nmap, Wireshark, Metasploit
- ๐ Data Science โ Jupyter, TensorFlow, PyTorch
- ๐จ Creative Tools โ GIMP, Blender, Inkscape
- ๐ Productivity โ LibreOffice, Firefox Desktop
โจ Key Features
| Feature | Description |
|---|---|
| ๐ง 12 Distros | Debian, Alpine, Fedora, Void, openSUSE, Deepin, Chimera, Manjaro, Ubuntu, Kali, Parrot, Arch โ each PRoot and Chroot |
| ๐ฅ๏ธ XFCE4 + X11 | In-app X11 display (no external Termux:X11). XFCE4 on every guest |
| ๐ PulseAudio | Host Pulse as the app uid; guests connect over 127.0.0.1 TCP |
| ๐ Rootless Mode | Works on any Android 8+ device via PRoot |
| โก Turbo Mode | Native chroot for rooted devices (Magisk / KernelSU / APatch BusyBox) |
| ๐ฎ GPU Acceleration | Turnip (Adreno) + VirGL for graphics |
| ๐จ Custom Themes | XFCE4 Space theme, Papirus icons, wallpapers |
| ๐ฆ Dev Stacks | Extra Debian environments for coding, office, and graphics |
๐ผ๏ธ Desktop Experience
Full XFCE4 desktop with hardware acceleration
๐ Development in Action
![]() Flutter Development |
![]() React Web App |
![]() Jupyter + TensorFlow |
![]() Kotlin/Gradle Build |
![]() GIMP Image Editor |
![]() LibreOffice Writer |
![]() Pitivi Video Editor |
|
Included Development Stacks
| ๐ Web Dev Node.js, React, VS Code |
๐ฑ App Dev Flutter, Kotlin, Android SDK |
๐งฌ Data Science Jupyter, TensorFlow |
| ๐ฎ Game Dev Godot Engine |
๐ Security Kali Tools |
๐จ Graphics GIMP, Blender |
๐ Architecture
flowchart TB
subgraph Android["๐ฑ Android Device"]
FluxLinux["๐ FluxLinux App<br/>(Kotlin + Jetpack Compose)"]
subgraph Host["๐ง Embedded host"]
TermuxHost["bash ยท proot ยท PulseAudio"]
X11["In-app X11 display"]
end
subgraph Container["Linux container"]
PRoot["๐ PRoot<br/>(rootless)"]
Chroot["โก Chroot<br/>(rooted)"]
end
subgraph Distro["๐ง 12 guests"]
XFCE["XFCE4 Desktop"]
DevTools["Optional Debian stacks"]
end
subgraph Display["๐ฅ๏ธ Graphics & audio"]
GPU["GPU Acceleration<br/>(Turnip / VirGL)"]
Pulse["Host PulseAudio<br/>TCP 127.0.0.1"]
end
end
FluxLinux --> TermuxHost
FluxLinux --> X11
TermuxHost --> PRoot
TermuxHost --> Chroot
PRoot --> Distro
Chroot --> Distro
Distro --> X11
X11 --> GPU
Distro --> Pulse
TermuxHost --> Pulse
๐ Documentation
| Document | Description |
|---|---|
| Setup & Onboarding Guide | Step-by-step visual installation tutorial |
| Debian PRoot Setup Guide | Step-by-step Debian PRoot configuration tutorial |
| Debian Chroot Setup Guide | Step-by-step Debian Chroot configuration tutorial |
| Distro reference | Per-guest notes (Alpine, Fedora, Ubuntu, Kali, โฆ) |
| Installation Reference | Packages, paths, versions, environments |
| Scripts Reference | All installation and setup scripts |
| Hardware Acceleration | GPU setup guide (Turnip/VirGL) |
| Script Execution Workflow | How scripts are executed |
| Testing Reference | Sample projects for testing |
| Assets Reference | Themes, icons, wallpapers, rootfs |
| Architecture | System design overview |
| Roadmap | Development roadmap |
๐ฆ Installation
Requirements
- Android 8.0+ (API 26+)
- No external Termux or Termux:X11 APK โ host shell, PRoot, X11, and PulseAudio ship inside FluxLinux
- Chroot needs a rooted device with Magisk, KernelSU, or APatch BusyBox
Install
- Get FluxLinux from F-Droid, Google Play, or GitHub Releases
- Open the app and finish the first-run host setup
- Pick a distro and install as PRoot or Chroot โ the rootfs downloads after you opt in
Easy setup wizard
๐ฎ GPU Acceleration
FluxLinux supports hardware-accelerated graphics:
|
GPU Driver Selection |
๐ค Contributing
Contributions are welcome! Please check the Roadmap to see active development phases.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
๐ License
This project is licensed under the GNU General Public License v3.0 (GPLv3).
See LICENSE for details.
Embedded components: The in-app terminal stack bundles termux-app v0.118.0 (GPLv3) for TerminalSession/TerminalView; host userland packages are rebuilt from the Termux package repo (native/). FluxLinux remains open source under GPLv3, consistent with these dependencies.
Made with โค๏ธ by Abhay Raj
GitHub โข Issues โข Documentation โข Discord
How Shizuku is used
Can disable the phantom process killer to keep Linux sessions alive via `device_config` and `settings put` commands.
This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.
How this app uses Shizuku
Shizuku is used for one fix that keeps Linux terminals and desktops from being killed in the background.
- Disable phantom process killer: the user can apply the fix with Shizuku, which runs privileged shell commands to turn off the monitor (
device_config set_sync_disabled_for_tests,device_config put activity_manager max_phantom_processes, andsettings put global settings_enable_monitor_phantom_procs). This prevents background Linux processes from being stopped with exit 137.
Android APIs or commands used
/system/bin/device_config set_sync_disabled_for_tests persistent/system/bin/device_config put activity_manager max_phantom_processes 2147483647settings put global settings_enable_monitor_phantom_procs false
Notable details
The fix is only relevant on Android 12 and later where the phantom process monitor exists; on older versions the app reports it as not needed.
Changelog
What's new for version 2.0.1
What's Changed
Features
- Terminal starts faster; PRoot sessions launch directly (no proot-distro Python), chroot prep runs off the UI thread
- Shared storage access in guests (all-files access) and a new onboarding page (#48, #29)
- Disable the Android phantom-process killer via Shizuku, root or adb (#41)
- Auto-install Mesa Turnip on Adreno and PanVK on MediaTek Mali v10+ (with fallback and retry)
- KDE runs on the built-in X11 server; compositing and effects off by default; opt-in zink GL on Turnip/PanVK
- One-time notice that v1.x Termux distros were not removed on upgrade (#37)
Bug Fixes
- Crash on foreground-service notifications (monochrome small icon) (#42, #46)
- Chromium/Electron typing in X11 (#45)
- Host env and paths refresh after an app update and on app start
- Desktop waits for the X socket; stale running-desktop state is cleared
- KDE on PanVK no longer exhausts RAM
- UI contrast in dark/light themes, unified top bars, correct GPU tag in the distro picker
Build / F-Droid
- All native code (host packages, loader.apk, guest helpers, terminal-emulator, libXlorie) is built from source without Docker
- All native libraries are 16 KB page aligned
- Reproducible release: the APK is built from the tagged commit with the F-Droid recipe (
com.ivarna.fluxlinux.yml) and signed with the release key
Permissions
11 permissions requested












