Skip to content

Releases: ExTV/Podroid

v1.1.0

06 Apr 09:33

Choose a tag to compare

What's new in v1.1.0

Terminal overhaul

  • Replaced serial stdin relay with podroid-bridge PTY — a purpose-built relay between the VM serial and Android PTY
  • Switched from OpenSSH to Dropbear — smaller, faster boot, better suited for embedded VM environments
  • 114 color themes added — pick from catppuccin, nord, tokyo night, gruvbox, and more
  • 13 terminal fonts added — JetBrains Mono, Fira Code, Cascadia Code, Source Code Pro, and more
  • Mouse support for TUI apps — htop, vim, nano, and other TUI programs now respond to mouse clicks and scrolling
  • Removed SYNC key from terminal view

Navigation & stability

  • Terminal now survives navigation — switch between screens and come back without losing your session
  • Boot notification now stays persistent while the VM is starting
  • Terminal theme and font pickers are disabled while the VM is running (prevents corruption)
  • "Start Podman" button renamed to "Start VM" for clarity

Settings redesign

  • Reorganized settings sections: Terminal → VM Resources → Network → Appearance → Diagnostics → About
  • SSH toggle moved into the Network section alongside Port Forwarding

Installation

⚠ Important: Delete any older Podroid app versions before installing.
Old versions may have an outdated initramfs bundled in the APK, which prevents the VM from booting correctly with the latest release.

  1. Uninstall the existing Podroid app completely
  2. Download podroid-v1.1.0-debug.apk and install it
  3. You may need to allow installation from unknown sources

v1.0.9

04 Apr 15:08

Choose a tag to compare

What's new in v1.0.9

QEMU 11 builder

  • QEMU Android builder updated for 11.0.0-rc2
  • Build script now validates virtfs, slirp, coroutine backend, and 16 KB page alignment
  • Generated QEMU/slirp binaries are no longer committed to Git; build scripts regenerate them

Storage access flow

  • Downloads sharing moved to the last page of the setup wizard
  • All Files Access is only requested after the user enables storage sharing
  • Warning added that enabling Downloads sharing may crash the VM on some devices

VM / app improvements

  • Settings now show the configured QEMU version from BuildConfig
  • VM only enables 9p Downloads sharing when both the toggle and Android permission are enabled

Installation

Download podroid-v1.0.9-debug.apk and install it. You may need to allow installation from unknown sources.

v1.0.6

03 Apr 20:50

Choose a tag to compare

What's new in v1.0.6

  • Notifications — foreground service notification now works correctly (POST_NOTIFICATIONS permission)
  • Storage access — app requests All Files Access permission on launch (required for upcoming Downloads folder sharing)
  • Update checker fix — no longer falsely reports a new version on first install
  • Boot stage fix — loading indicator correctly reaches "Ready" when VM finishes booting
  • Init improvements — 9p kernel modules loaded on boot (prep for Downloads sharing)

Notes

If upgrading from v1.0.5, uninstall the old version first so the updated init system is applied.

v1.0.5.1 — hotfix

03 Apr 12:27

Choose a tag to compare

Before installing: Uninstall the old version first so the init system (initramfs) gets updated correctly. Installing over an existing version will keep the old VM kernel and init script.

Hotfix: Boot stage indicator stuck at "Almost ready" even after the VM finished booting.

The MOTD is small enough to arrive in a single read buffer alongside the internet check line. The when block matched "internet " first and never evaluated "podman run". Fixed by checking the Ready condition first in the detection logic.

v1.0.5

03 Apr 12:13

Choose a tag to compare

Before installing: Uninstall the old version first so the init system (initramfs) gets updated correctly. Installing over an existing version will keep the old VM kernel and init script.

What's new in v1.0.5

Setup wizard

  • Two-page onboarding flow — choose storage size (2–64 GB) and configure SSH before first boot
  • Animated page indicator and progress bar

SSH support

  • Enable SSH from the setup wizard or Settings
  • VM port 22 mapped to Android port 9922
  • Phone's local IP shown automatically in the VM MOTD
  • `ssh root@ -p 9922` — password: `podroid`

In-app update checker

  • Notified when a new release is available on GitHub
  • Dismiss once and it won't show again for that version

VM improvements

  • Compact MOTD — all info in ~12 lines instead of 35
  • Boot stage indicator now correctly reaches "Ready"
  • Storage image recreated automatically if size doesn't match chosen size
  • `openssh` included in the initramfs

Bug fixes

  • Fixed storage size not applying (race condition between DataStore write and navigation)
  • Fixed update checker falsely triggering on debug builds
  • Fixed boot loading stuck at "Configuring containers…"

Installation

Download `app-debug.apk` and install it. You may need to allow installation from unknown sources.

v1.0.4

01 Apr 12:57

Choose a tag to compare

What's New

Bug Fixes

  • Fix terminal size for TUI apps: vim, btop, and other TUI programs now render at the correct terminal dimensions instead of the top-left corner
  • Fix white screen navigation bug: app no longer shows a blank white screen when navigating back from Terminal or Settings
  • Fix boot overlay reappearing: programs outputting text containing "overlay" no longer trigger the boot progress banner

Improvements

  • Silent terminal resize: keyboard open/close updates terminal size with minimal visual artifacts (debounced + self-erasing sz helper)
  • Boot progress in notification: foreground service notification shows real-time boot stage updates
  • F1-F12 keys: added function key row to the extra keys bar
  • Alt key support: Alt sends proper ESC prefix for terminal shortcuts
  • Bell vibration: terminal bell character triggers haptic feedback
  • Error retry: home screen shows a Retry button on VM errors
  • QMP timeout: 5-second socket timeout prevents indefinite blocking
  • Kernel version pinned: apk upgrade no longer purges the kernel
  • Console buffer capped: limited to 64KB to prevent unbounded memory growth

Default Settings

  • Font size: 20
  • CPUs: 1
  • RAM: 512MB

v1.0.3

31 Mar 11:42

Choose a tag to compare

What's New

Terminal Fixes

  • Alt key now works — sends ESC prefix for vim/btop Alt combos
  • F1-F12 function keys — hardware keyboard support + soft buttons in extra keys row
  • Auto terminal size sync — stty sent on every resize (keyboard show/hide, font change)
  • Removed hardcoded 24x80 — init profile no longer overrides app-detected terminal dimensions

UI Improvements

  • Boot progress overlay — terminal screen shows a bottom banner with boot stage while VM is booting
  • Default settings — font size 20, 1 CPU, 512MB RAM (configurable in settings)

Bug Fixes

  • Fixed boot overlay reappearing when programs like fastfetch output keywords matching boot stages
  • Pinned kernel version so apk upgrade won't break networking or purge kernel modules

Other

  • Version bump to 1.0.3

v1.0.2

17 Mar 17:36

Choose a tag to compare

What's New in v1.0.2

Terminal Improvements

  • Fixed cursor not going to new line after init finishes
  • Set TERM=xterm-256color with UTF-8 locale — TUI apps like btop and nvim now work
  • Added proper terminal size detection (stty rows/cols)
  • Clipboard copy & paste support in terminal
  • Keyboard auto-hides when navigating back from terminal

New Settings

  • VM RAM: Choose between 512MB, 1GB, 2GB, or 4GB
  • VM CPU cores: Choose between 1, 2, 4, 6, or 8 cores
  • Terminal font size: Adjustable slider (12–40)
  • VM Reset: Wipe persistent storage and start fresh
  • Console log export: Share VM console logs via Android share sheet
  • Dynamic version display from BuildConfig

Home Screen

  • Added Restart VM button

Init System

  • Internet connectivity check is now synchronous (no more prompt overlap)
  • Added ncurses-terminfo-base and musl-locales to initramfs
  • Boot stage loading indicator handles all VM states

Bug Fixes

  • Fixed storage.img not recreated after VM reset
  • Fixed exhaustive when expression for all VmState branches
  • Fixed resource leaks in QmpClient and PodroidQemu

Podroid v1.0.1

16 Mar 21:15

Choose a tag to compare

What's New

Persistent VM Storage

  • All VM data now survives app restarts using overlayfs over initramfs with a 2GB ext4 persistent disk

Port Forwarding

  • Forward ports from the VM to the Android host device
  • Settings UI for adding/removing rules with DataStore persistence
  • Runtime QMP-based management (add/remove while VM is running)

Termux Terminal Integration

  • Full VT100/xterm terminal emulation using Termux TerminalView
  • No host binaries required — works on any Android device without root
  • Extra keys bar: ESC, TAB, CTRL, arrow keys, ALT, and symbol keys
  • Ctrl+C works properly (job control via getty on ttyAMA0)

Bug Fixes

  • ping now works (was previously broken)
  • Proper shell with job control on serial console
  • init-podroid rewritten with two-phase boot and graceful shutdown

Podroid v1.0.0

16 Mar 01:07

Choose a tag to compare

Podroid v1.0.0 — First Release

Run Linux containers on your Android phone using Podman.

Features

  • Headless Alpine Linux 3.23 (aarch64) VM via QEMU
  • Podman container runtime with crun, fuse-overlayfs, netavark
  • Built-in serial terminal UI
  • Internet access via QEMU SLIRP networking
  • 2GB persistent storage for containers
  • One-tap start/stop

Requirements

  • Android 14+ (API 34)
  • arm64 (aarch64) device

Install

Download app-debug.apk and install on your device.