Arch Linux ARM + XFCE desktop for Samsung Galaxy and Android --- powered by Termux:X11.
Rootless • PRoot • Arch Linux ARM • XFCE • Termux:X11 • DeX-friendly
Galaxy Linux turns a compatible Android phone or tablet into a portable Linux workstation without rooting the device, replacing Android, or unlocking the bootloader.
It runs an Arch Linux ARM userspace through PRoot. XFCE is the graphical desktop running inside Arch, and Termux:X11 displays that desktop on Android or a Samsung DeX monitor.
[!IMPORTANT] Galaxy Linux is an independent community project. It is not affiliated with or endorsed by Samsung, Arch Linux, Termux, or Termux:X11.
Samsung Galaxy / Android
│
▼
Termux
│
▼
PRoot-Distro
│
▼
Arch Linux ARM
│
▼
XFCE
│
▼
Termux:X11
│
▼
Phone / Tablet / Samsung DeX
They are different layers.
- Arch Linux ARM is the Linux userspace/distribution. It supplies
the filesystem, shell, libraries,
pacman, packages and development environment. - XFCE is the graphical desktop environment running inside Arch.
- Termux:X11 is the X server/display bridge that lets Android show the Linux desktop.
- Samsung DeX is an optional Samsung external-display environment.
XFCE does not replace Arch. A future Galaxy Linux profile could use another desktop environment while still running Arch Linux underneath.
- Arch Linux ARM userspace
- Rootless PRoot environment
- XFCE desktop
- Termux:X11 integration
- Samsung DeX-friendly workflow
- PulseAudio integration
- Start and stop launchers
- Existing-installation protection
- Repair/reconfiguration mode
- Clean uninstall workflow
- Optional Developer Edition
- Device compatibility reporting
- Snapdragon/Adreno-aware graphics setup where supported
- Software-rendering fallback where appropriate
Recommended:
- 64-bit ARM Android device
- Samsung Galaxy S/Tab class device or equivalent
- current Termux installation
- Termux:X11 companion app
- at least 5 GB free storage for a practical desktop installation
- reliable Internet connection during installation
- keyboard and mouse for serious desktop use
- Samsung DeX for the best external-monitor experience
Samsung DeX is recommended, not required.
[!NOTE] PRoot is not a virtual machine and Galaxy Linux does not boot a separate Linux kernel. The Arch userspace runs on top of Android's existing kernel.
Install a current supported Termux build and the Termux:X11 companion application from their official project sources.
Galaxy Linux needs both the Termux-side termux-x11 command and the
Android Termux:X11 app to display the desktop.
curl -fsSL https://raw.githubusercontent.com/Neclonesoul/galaxy-linux/v0.1.1/install.sh | bashThe version is deliberately pinned. This prevents the command from
silently executing a future, untested version of main.
The installer prepares the required Termux packages, creates the Arch environment, configures XFCE and generates the Galaxy Linux launchers.
~/start-galaxy-linuxOpen Termux:X11 to view the desktop.
~/stop-galaxy-linuxGalaxy Linux Developer Edition extends the base desktop into a mobile development workstation.
It is intended for workflows such as:
Galaxy → Termux → Arch → Code → Git → GitHub → Build → Deploy
Developer tooling includes support for:
- Git
- GitHub CLI
- Hugo
- Node.js and npm
- Python, pip/venv and pipx
- OpenSSH
- rsync
- ImageMagick
- jq
- ripgrep
- fd
- ShellCheck
- tmux
- Clang
- CMake
- general build tooling
- Cloudflare Wrangler project workflows
- optional Arduino/ESP development tooling
curl -fsSL https://raw.githubusercontent.com/Neclonesoul/galaxy-linux/v0.1.1/install.sh \
| bash -s -- --profile developerAfter installation:
~/galaxy-dev-checkWrangler should normally be installed per project:
mkdir -p ~/Projects
cd ~/Projects/my-project
npm install --save-dev wrangler@latest
npx wrangler login
npx wrangler dev
npx wrangler deployStart the graphical desktop:
~/start-galaxy-linuxEnter the Arch shell without launching XFCE:
~/galaxy-linux-shellStop the graphical environment:
~/stop-galaxy-linuxA useful project layout is:
mkdir -p ~/Projects
cd ~/ProjectsFrom there you can clone and work with normal development repositories:
git clone <repository>
cd <repository>Examples:
hugo server --bind 0.0.0.0npm install
npm run devpython -m venv .venv
source .venv/bin/activateGalaxy Linux is designed to detect an existing installation rather than silently destroying it.
To intentionally rerun base configuration:
./install.sh --repairFor Developer Edition:
./install.sh --profile developer --repairDo not use repair mode as a substitute for backing up important work.
Graphics support on Android is hardware- and software-dependent.
Snapdragon Galaxy devices using Qualcomm Adreno graphics may be able to use the Turnip/Zink graphics stack. Galaxy Linux detects relevant device information and can configure an accelerated path where appropriate.
Hardware acceleration is not guaranteed.
Compatibility can vary with:
- Samsung model
- Snapdragon or Exynos SoC
- GPU generation
- Android version
- One UI version
- Termux version
- Termux:X11 version
- Mesa/Turnip versions
- individual Linux applications
A software-rendering fallback is preferable to pretending unsupported hardware is accelerated.
DeX is not required to run Galaxy Linux, but it is one of the project's primary use cases.
A Galaxy phone connected to a monitor, keyboard and mouse can provide:
- Android applications through DeX
- a conventional Arch shell
- an XFCE Linux desktop
- Git-based development
- local web development
- SSH administration
- static-site development
- Python and Node.js workflows
Galaxy Linux does not replace DeX. It adds a Linux workstation environment that can be used alongside it.
Developer Edition can provide compilers, command-line tooling and embedded-development utilities.
However, PRoot does not automatically grant unrestricted access to Android USB devices. Android remains responsible for USB permissions and device ownership.
Therefore:
- source editing and compilation can work normally;
- firmware/toolchain preparation can work normally;
- direct USB flashing may require additional Android/Termux integration;
- support varies by device and adapter.
Do not assume that a USB device visible to Android will automatically
appear as a conventional /dev/ttyUSB* device inside Arch.
Termux:X11 documents compatibility options for devices that display a black screen or rendering problems. Consult the upstream Termux:X11 documentation before changing the Galaxy Linux launcher.
Check that:
- Termux:X11 is installed.
- the Termux-side X11 packages are installed.
- the Galaxy Linux container exists.
- the X11 server is running.
- the PRoot session shares the required X11 temporary/socket path.
DISPLAYis set by the launcher.
Restart the Galaxy Linux session:
~/stop-galaxy-linux
~/start-galaxy-linuxRun:
~/galaxy-dev-checkThen rerun the developer profile if required:
./install.sh --profile developer --repairFrom a cloned copy of the repository:
./uninstall.shRead the confirmation carefully.
[!WARNING] Removing the Arch container permanently destroys files stored exclusively inside that container. Back up anything important first.
The uninstaller should not be treated as an Android/Termux reset tool. Shared Termux packages may also be used by unrelated projects.
Galaxy Linux is intended to become community-tested rather than relying on vague claims such as "works on all Samsung phones."
Useful device reports include:
Field Example
Device Galaxy S-series / Tab S-series SoC Snapdragon / Exynos Android Version One UI Version Termux Version/source Termux:X11 Version Display Phone / DeX / external resolution XFCE Working / partial / failed Audio Working / partial / failed GPU renderer Reported renderer Keyboard/mouse Working / issues Notes Known problems or fixes
See docs/DEVICE-REPORT.md for the reporting format.
galaxy-linux/
├── README.md
├── LICENSE
├── CONTRIBUTING.md
├── SECURITY.md
├── install.sh
├── uninstall.sh
├── bin/
│ ├── start-galaxy-linux
│ ├── stop-galaxy-linux
│ └── galaxy-dev-check
├── profiles/
│ └── developer/
│ └── bootstrap.sh
├── scripts/
│ └── arch-bootstrap.sh
└── docs/
├── DEVELOPER-EDITION.md
├── DEVICE-REPORT.md
└── WORKFLOW.md
The recommended public installer is pinned to a release:
v0.1.1
Using a tagged release gives users a reproducible entry point and
prevents an installation command copied months ago from unexpectedly
following a changed main branch.
Developers can clone the repository directly when testing current development:
git clone https://github.com/Neclonesoul/galaxy-linux.git
cd galaxy-linuxPiping remote scripts into a shell is convenient but carries risk.
Before using the one-line installer, security-conscious users should inspect the tagged script first or clone the repository and run it locally:
git clone --branch v0.1.1 --depth 1 \
https://github.com/Neclonesoul/galaxy-linux.git
cd galaxy-linux
less install.sh
./install.shReport security-sensitive issues according to SECURITY.md.
Testing across different Samsung and Android hardware is particularly valuable.
Useful contributions include:
- verified device reports
- installer fixes
- Termux:X11 compatibility improvements
- documentation
- graphics compatibility findings
- DeX behaviour reports
- reproducible bug reports
- Developer Edition improvements
See CONTRIBUTING.md before submitting changes.
Early public release / active development.
Galaxy Linux should currently be treated as an experimental workstation project rather than a production operating system.
The immediate goals are:
- reliable installation on supported ARM64 Android hardware;
- repeatable Arch + XFCE startup through Termux:X11;
- documented Samsung DeX compatibility;
- reproducible device testing;
- a useful Developer Edition;
- conservative, evidence-based GPU support.
Galaxy Linux builds on the work of the wider open-source ecosystem, particularly:
- Termux
- Termux:X11
- PRoot
- PRoot-Distro
- Arch Linux / Arch Linux ARM
- XFCE
- Mesa
- the many upstream projects included in Developer Edition
Please support and respect the upstream projects and their licenses.
See LICENSE for this repository's licensing terms.
Galaxy Linux
Your phone already has the computer. This project gives it a Linux desk.