Repository navigation
Releases: CRUNZEX/Linux-on-Dex
Release list
Release v1.2.0
Highlights
- PRoot support (Native Container) - run Linux in a container-style environment that shares the Android device's kernel instead of emulating a complete machine. Native ARM64 applications can run without CPU emulation, making full desktop environments significantly faster and more responsive.
- Internal VNC support - view and control graphical Linux desktops directly inside Linux on DeX. The built-in VNC client provides smooth interaction with both PRoot desktops and VM guests without requiring a separate VNC application.
Ready-made PRoot (arm64, .rootfs.tar.gz file extension)
PRoot prioritizes desktop responsiveness and everyday productivity. Because it shares the Android host kernel and does not provide a separate Linux kernel, some low-level operations are unavailable or restricted. This includes reading certain hardware and kernel details, directly controlling network interfaces, loading kernel modules, and running kernel-dependent container engines such as Docker. Use a VM instead when these capabilities are required.
PRoot is best suited to general Linux applications, web browsing, development tools, document editing, and file management.
All ready-made PRoot environments are distributed as root filesystem archives with the .rootfs.tar.gz file extension.
| Root filesystem | Desktop | What it is |
|---|---|---|
ubuntu-24.04-proot-gnome-arm64.rootfs.tar.gz |
GNOME | A full Ubuntu 24.04 GNOME desktop with the most complete desktop experience |
ubuntu-24.04-proot-gnome-like-xfce-arm64.rootfs.tar.gz |
GNOME-like XFCE | A lightweight XFCE desktop styled like GNOME, balancing appearance and performance (Recommended) |
ubuntu-24.04-proot-xfce-arm64.rootfs.tar.gz |
XFCE | The lightest desktop option, optimized for lower memory use and maximum responsiveness |
Ready-made images (arm64, .qcow2 file extension)
These images run as full virtual machines with their own Linux kernel. A VM supports low-level Linux features that PRoot cannot provide, including broader system inspection, network administration, and kernel-dependent workloads. The tradeoff is higher CPU and memory use: software emulation is slower than PRoot, while devices with supported hardware virtualization deliver the best VM performance.
All ready-made VM images are distributed as virtual disks with the .qcow2 file extension.
| Image | Desktop | VM and performance profile |
|---|---|---|
ubuntu-24.04-desktop-xfce.qcow2 |
XFCE | A lightweight Ubuntu 24.04 VM with lower memory and CPU requirements; recommended for the best VM desktop responsiveness |
ubuntu-24.04-desktop-gnome.qcow2 |
GNOME | A full Ubuntu 24.04 GNOME VM with a richer desktop experience; requires more RAM and CPU and performs best with hardware virtualization |
alpine-light-3.22.0.qcow2 |
Console only | The smallest and fastest-booting flavour (Recommended) |
alpine-3.22.0.qcow2 |
Console only | Container host with Podman, Docker, and LXC ready at boot (Recommended) |
debian-13.qcow2 |
Console only | Debian server (Recommended) |
ubuntu-24.04.qcow2 |
Console only | Ubuntu server |
kali-2026.2.qcow2 |
Console only | Lightweight Kali server (~340 packages); add tools with apt |
Requirements
- ARM64 device running Android 13-16 (API 33-36)
- No root access or Samsung system APIs required
- Approximately 4 GB of free storage; 8 GB or more RAM is recommended for a desktop VM
- Samsung DeX is supported but not required
Full Changelog: v1.1.0...v1.2.0
Release v1.1.0
Highlights
- Faster CPU under emulation - the software VM now boots
-cpu max,pauth=off. With it off, boot-to-login dropped 15% on Alpine and 24% on Debian in like-for-like measurements. - Faster disk I/O - the new Disk performance setting (Maximum / Fast / Safest) replaces the old write-cache knob, and Maximum is the default: a phone VM restarts often, so speed wins over crash durability.
- USB passthrough (Beta) - plug a real USB device into the guest, no root required. Pick the device under Settings -> USB passthrough (Beta), accept Android's permission prompt.
- A terminal built for a phone screen - four fixes that show up the moment the window is small.
Also in this release
- VM backup - snapshot the disk with
qemu-img convertand export the backup straight to Downloads. - Port forwarding to the network - a forward can now bind
0.0.0.0, so other machines can reach the VM through the phone; the SSH forward stays loopback-only by design. - Diagnostics log export - one tap saves the full engine log to Downloads for bug reports.
- Wider DeX detection - DeX is also recognised through the desktop-mode service and the window's display, not only the UI-mode flag.
Ready-made images (arm64)
| Image | What it is |
|---|---|
alpine-light-3.22.0 |
The smallest and fastest-booting flavour (Recommended) |
alpine-3.22.0 |
Container host: podman, docker and LXC ready at boot (Recommended) |
debian-13 |
Debian server, console only (Recommended) |
ubuntu-24.04 |
Ubuntu server, console only |
kali-2026.2 |
Kali server, kept light (~340 packages); add tools with apt |
Every image ships preconfigured:
- user
dex, passworddex, passwordless sudo, serial-console autologin - DNS that works on Android, on any resolver stack - QEMU's built-in resolver cannot work there
- the guest console resized to the app's terminal at login and before every prompt
- snaps masked and cloud-init switched off after the first boot, so no background chores steal emulated CPU
Requirements
- ARM64 device, Android 13-16 (API 33-36), no root and no Samsung system APIs
- ~4 GB free storage; 8 GB+ RAM recommended for a desktop guest
- Samsung DeX is supported but not required
Full Changelog: v1.0.0...v1.1.0
Release v1.0.0
Highlights
- A real VM - unmodified ARM64 Linux boots under UEFI (edk2) with virtio disk, network, GPU and RNG. QEMU runs the machine; nothing in the guest is patched to make it work.
- Podman, Docker and LXC pre-installed on the Alpine container host, with Docker running from boot and
dexalready in the docker group. - In-app terminal - a real xterm-256color emulator: alternate screen (vim, htop), scrollback, selection and paste, and an extra key row for keys soft keyboards lack. Up to three windows, each attached to its own guest console (
ttyAMA0,hvc0,hvc1) and therefore its own shell. - GUI Linux - a full XFCE or GNOME desktop in the built-in viewer, served over VNC on loopback only. Under Samsung DeX, hardware mouse and keyboard behave natively.
- Live port forwarding - add or remove
phone:port -> VM:port(TCP or UDP) while the VM is running, applied over QMP without a reboot. SSH forwarding and a 9p shared folder are one switch each. - Monitor - live CPU and memory charts, charging power, device temperature, host and guest network addresses, and a read-only list of plugged-in USB devices. Reachable even while the VM is off.
- The whole machine is configurable - 1-8 cores, memory up to device RAM minus Android's 2 GB reserve, CPU model, disk size / interface / write-cache mode, display adapter and resolution, boot order, direct kernel boot with extra arguments, and an engine override. Use desktop preset sets a desktop-ready machine in one tap.
Ready-made images (arm64)
| Image | Size | What it is |
|---|---|---|
alpine-light-3.22.0 |
219 MB | The smallest and fastest-booting flavour (Recommended) |
alpine-3.22.0 |
615 MB | Container host: podman, docker and LXC ready at boot (Recommended) |
debian-13 |
336 MB | Debian server, console only (Recommended) |
ubuntu-24.04 |
618 MB | Ubuntu server, console only |
kali-2026.2 |
1.08 GB | Kali server, kept light (~340 packages); add tools with apt |
Every image ships preconfigured:
- user
dex, passworddex, passwordless sudo, serial-console autologin - DNS that works on Android, on any resolver stack - QEMU's built-in resolver cannot work there
- the guest console resized to the app's terminal at login and before every prompt
- snaps masked and cloud-init switched off after the first boot, so no background chores steal emulated CPU
Requirements
- ARM64 device, Android 13-16 (API 33-36), no root and no Samsung system APIs
- ~4 GB free storage; 8 GB+ RAM recommended for a desktop guest
- Samsung DeX is supported but not required
Full Changelog: https://github.com/CRUNZEX/Linux-on-Dex/commits/v1.0.0