github ExTV/Podroid v1.2.0

latest releases: v1.2.7, v1.2.6, v1.2.5...
3 months ago

New UI

Every screen restyled into one design system — dark dashboard, lime accent, Inter for chrome + JetBrains Mono for tech values. Home now shows live uptime, network and last-session details. Settings re-sectioned with proper buttons for destructive actions. Refreshed setup wizard. New Quick Settings drawer in the terminal that closes on any interaction.

Hardware acceleration on Pixel 8 / 9 / 10

Podroid now runs the VM on pKVM (your phone's real hardware virtualization) instead of software emulation. The VM boots in a few seconds and feels near-native. Auto-detected — falls back to QEMU on any device that doesn't support it.

One-time setup. From a PC with adb:

adb shell pm grant com.excp.podroid android.permission.MANAGE_VIRTUAL_MACHINE
adb shell pm grant com.excp.podroid android.permission.USE_CUSTOM_VIRTUAL_MACHINE

No PC? Install Shizuku, start it, then run the same two commands in its rish shell.

Backend lock (Auto / pKVM / QEMU) lives in Settings → Advanced. Switching applies on the next VM start — no app restart.

LAN-reachable port forwarding

Forward rules now bind on your phone's actual LAN IP, not just 127.0.0.1. From your laptop on the same WiFi:

ssh root@<phone-ip> -p 9922
curl http://<phone-ip>:8080

Adding / removing rules takes effect within a second — no VM restart. The X11 and audio viewers also come up on the LAN.

Terminal auto-resize

btop, htop, vim, less etc. now resize live as you rotate the phone or slide the keyboard — on both backends.

Snappier terminal & faster guest CPU

~50 ms off every keystroke. Keyboard slide → prompt redraw ~145 ms (was ~350). TUI streams render at ~30 fps (was ~15). Faster guest CPU under load. storage.img shrinks back on fstrim instead of growing forever.

Audio fixes

  • Clicking noise in Firefox / video playback is gone
  • Firefox + other apps actually reach the audio sink now (was silently broken)

X11 viewer no longer crashes mid-session

Used to disconnect when the VM sent a clipboard sync. Fixed — full sessions stay up.

More headroom

Swap inside the VM is now ~1.5× RAM (was half). Firefox + a full desktop in a 2 GB VM stays smooth. If memory does run out, the browser dies — not your SSH or X11.

Cleaner Settings

  • New AVF (pKVM) diagnostic dialog
  • Phone IP no longer shows the cellular CLAT internal address — always the LAN IP
  • Downloads sharing toggle greys out (with explanation) on AVF where it's not supported

⚠️ Heads-up: Android phantom-process killer

Android 12+ kills background native processes. If your VM dies on app-switch, run once:

adb shell "device_config put activity_manager max_phantom_processes 2147483647"
adb shell settings put global settings_enable_monitor_phantom_procs false

Or via root:

su -c /system/bin/device_config put activity_manager max_phantom_processes 2147483647
su -c setprop persist.sys.fflag.override.settings_enable_monitor_phantom_procs false

Known limitations

  • Downloads folder sharing isn't available on pKVM — it's a system-app-only API on shipping Pixel firmware. Works on QEMU.
  • Default VM RAM is still 512 MB — bump to 2 GB in Settings for desktop / browser workloads.
  • Android 8 still unsupported (NDK / glib blocker).

Don't miss a new Podroid release

NewReleases is sending notifications on new releases.