Skip to content

Releases: CRUNZEX/Linux-on-Dex

Release v1.2.0

Choose a tag to compare

@CRUNZEX CRUNZEX released this 02 Aug 20:13

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

Choose a tag to compare

@CRUNZEX CRUNZEX released this 31 Jul 11:40

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 convert and 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, password dex, 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

Choose a tag to compare

@CRUNZEX CRUNZEX released this 30 Jul 21:26

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 dex already 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, password dex, 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