FluxLinux v2.0.0 Release Notes
1. Embedded host (no external Termux)
FluxLinux now ships its own Termux-prefix host inside the app. External Termux and Termux:X11 APKs are no longer required.
- Host bootstrap (
bash,proot, Pulse) forcom.ivarna.fluxlinux - First-run host setup with F-Droid opt-in consent
- Settings → Legacy Termux for leftover PRoot trees still living in the old Termux app (≤ v1.8.0)
2. Embedded X11
The X11 display is the in-app Termux:X11 activity. libXlorie.so is compiled from source (NDK 29 + CMake, vendored lorie tree + 16 submodules).
- Java
LorieViewmatches the native per-instance JNI (nativeInit()J) so the display opens without crashing
3. Multi-distro catalog
Twelve guests, PRoot and Chroot, downloaded on demand from the GitHub rootfs release (SHA256-gated). Nothing is baked into the APK.
- Debian, Alpine, Fedora, Void, openSUSE, Deepin, Chimera, Manjaro, Ubuntu, Kali, Parrot, Arch Linux
- Settings → PRoot / Chroot storage: list, size, stop
- Universal guest login shell (bash / zsh)
4. Host PulseAudio
Pulse runs as the Android app uid (no root). Guests are TCP clients on 127.0.0.1 only.
- AAudio sink with SLES fallback
- W^X-safe exec of
libpulseaudio.so/libpactl.sofromnativeLibraryDir(targetSdk 36)
5. Chroot without a BusyBox NDK module
Chroot uses Magisk / KernelSU / APatch BusyBox already on the device.
- Fedora chroot flux login via staged
setuidgid(Android busybox has nochroot --userspec)
6. F-Droid 2.0.0 recipe
- Flavor
ivarnaonly (gradle: [ivarna]) libXlorie.sobuilt onbuildserver-trixie; host W^X bins stay documented Termux-docker prebuilts +scanignore- Lint and scanner green;
assembleIvarnaReleaseproven on the F-Droid image
Migration Notes
External Termux is optional. Distro rootfs is no longer in the APK — first install of a distro downloads it from the rootfs tag (opt-in). Leftover v1.8.0 containers in Termux are managed from Settings → Legacy Termux.
Known Issues
- Optional guest stacks (Kali/Parrot extras, SDK/NDK zips) may be flagged
NonFreeAdd/TetheredNeton F-Droid. Disclose, do not hide.