Repository navigation
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