Releases: ExTV/Podroid
v1.1.0
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.
- Uninstall the existing Podroid app completely
- Download
podroid-v1.1.0-debug.apkand install it - You may need to allow installation from unknown sources
v1.0.9
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
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
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
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
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
szhelper) - 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 upgradeno 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
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 upgradewon't break networking or purge kernel modules
Other
- Version bump to 1.0.3
v1.0.2
What's New in v1.0.2
Terminal Improvements
- Fixed cursor not going to new line after init finishes
- Set
TERM=xterm-256colorwith 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-baseandmusl-localesto initramfs - Boot stage loading indicator handles all VM states
Bug Fixes
- Fixed storage.img not recreated after VM reset
- Fixed exhaustive
whenexpression for all VmState branches - Fixed resource leaks in QmpClient and PodroidQemu
Podroid v1.0.1
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
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.