Installation Prerequisites
Relevant source files
The following files were used as context for generating this wiki page:
The Termux-Desktops project provides a structured collection of scripts and documentation to facilitate the installation of full Linux Desktop environments on Android devices. These environments leverage Termux as the base terminal emulator and Termux:X11 for graphical display, supporting various architectures including Native, Proot-distro, and Chroot.
The prerequisites for a successful installation vary significantly based on the chosen environment type. While Native and Proot-distro environments do not require administrative access (root), Chroot environments necessitate a rooted device and specific system modules like Busybox to function correctly.
Sources: README.md:1-15, Documentation/native/termux_native.md:20-25, README_old.md:1-20
Core System Requirements
Regardless of the specific Linux distribution or environment type selected, several core components must be installed within the host Termux application. These packages provide the foundation for repository management, graphical output, and audio processing.
Essential Termux Packages
The following packages are mandatory for the basic operation of any desktop environment within this project:
| Package | Purpose |
|---|---|
x11-repo | Enables access to X11-related software repositories. |
termux-x11-nightly | Provides the X11 server component for graphical output. |
pulseaudio | Handles audio streaming from the Linux environment to Android. |
proot-distro | Required for installing Proot-based distributions. |
tur-repo | Termux User Repository, often needed for browsers like Chromium or Firefox. |
wget / curl | Essential for downloading installation scripts and rootfs files. |
Sources: README.md:38-50, Documentation/proot/debian_proot.md:75-82, Documentation/native/termux_native.md:30-40
Environment Initialization Flow
The following diagram illustrates the initial setup flow required to prepare the Termux environment:
The diagram shows the sequential package installation required before selecting a specific Linux environment.
Sources: README.md:38-50, README_old.md:100-110
Environment-Specific Prerequisites
1. Termux Native Prerequisites
The Native environment runs directly on the Android system (Bionic C library) without containerization.
- Version Warning: Never use the Google Play Store version of Termux; only the F-Droid version is supported.
- X11 Artifact: Requires the latest
Termux:X11build artifact for GUI display. - Power Management: Requires disabling "Phantom Process Killer" on newer Android versions to prevent the X11 session from being terminated.
Sources: Documentation/native/termux_native.md:20-30, Documentation/native/termux_native.md:120-130
2. Proot-Distro Prerequisites
Proot allows running full Linux distributions without root access by intercepting system calls.
- Base Package:
proot-distromust be installed. - User Configuration: Most scripts assume a default user named
droidmasterwithsudoprivileges.
Sources: README.md:65-75, Documentation/proot/debian_proot.md:40-55
3. Chroot Prerequisites (Root Mandatory)
Chroot provides high performance but requires deep system access.
- Root Access: The Android device must be rooted.
- Busybox: A Busybox module (e.g., Busybox NDK or Magisk-integrated Busybox) must be flashed via Magisk.
- Superuser Tools: The
tsupackage is required in Termux to manage root sessions.
Sources: README.md:95-105, Documentation/chroot/debian_chroot.md:30-45, Documentation/chroot/ubuntu_chroot.md:30-45
Hardware and Graphics Prerequisites
For optimal performance, especially for 3D applications and gaming, specific hardware acceleration components are required based on the device GPU.
Hardware Acceleration Components
The project identifies different requirements based on GPU architecture (Adreno vs. Mali/PowerVR).
This diagram maps the required software packages to the hardware capabilities of the mobile device.
Sources: Documentation/HardwareAcceleration.md:15-30, Documentation/terminology.md:40-70
Driver Package Requirements
To enable Hardware Acceleration in Proot or Chroot environments, the following host packages must be installed:
pkg install mesa-zink virglrenderer-mesa-zink vulkan-loader-android virglrenderer-android
Sources: Documentation/HardwareAcceleration.md:34-37
Distribution Specific Initialization
Each distribution (Debian, Ubuntu, Arch, etc.) requires specific first-step commands to initialize its internal package manager and user accounts.
| Distribution | Init Command | Key Packages |
|---|---|---|
| Debian | proot-distro install debian | sudo, nano, adduser |
| Arch | pacman -Sy && pacman -Syu | sudo, dbus, kwin-x11 |
| Alpine | apk update && apk upgrade | sudo, dbus-x11 |
| Void | xbps-install -u xbps | sudo, net-tools |
Sources: Documentation/proot/arch_proot.md:35-45, Documentation/proot/alpine_proot.md:35-45, Documentation/proot/voidlinux.md:35-45
Conclusion
The installation prerequisites for Termux-Desktops revolve around three main pillars: core Termux package preparation, selection of the appropriate environment (Native, Proot, or Chroot), and hardware-specific driver configuration. Users must ensure their device meets the fundamental requirements—such as root access for Chroot or F-Droid Termux versions for Native—before proceeding with specific distribution installation scripts.