Shield Optimizer v0.75.0
A maintenance + features release covering everything since v0.74.1. New device-action menus for Tweaks and Snapshot/Restore, real on-device launcher fixes for Android 11 Shields, and a host of quality-of-life cleanups.
✨ New features
- Snapshot / Restore (#18) — Save the current set of disabled apps, the active launcher, and tunable settings to a JSON file in
./snapshots/, then re-apply after a factory reset, OTA, or fresh device. Action menu shortcut N. - Tweaks menu (#18) — New device-action submenu (shortcut K) for HDMI-CEC sub-toggles (master, auto-wake TV, auto-off TV, audio routing),
match_content_frame_rate(24p movie playback), andlong_press_timeout. Each setting is independent — no opinionated defaults. - Display & Audio diagnostics (#18) — Health Report now shows actual negotiated resolution, refresh rate, HDR mode (HDR10 / HLG / Dolby Vision / HDR10+), and audio output device. So you can confirm your TV is actually getting 4K@60.
- Defunct streaming apps in the bloat list (#18) — Funimation, Stadia, Quibi, and the orphaned
com.hbo.hbonowprecursor. All four are confirmed dead services with shutdown dates surfaced in the descriptions. - Custom launcher entry in the launcher wizard (#14) — "Custom..." option lets you type any package id with package-name validation.
🐛 Bug fixes
- Launcher set-default actually works on Shield Android 11 (#17, hardened in #18) — Real-device debug found three layered issues:
cmd roledoesn't exist on Shield's customized Android 11, the chosen launcher was disabled before the wizard ran, and Projectivy's HOME activity is.ui.home.MainActivity(deeply nested, missed by the old dumpsys parser). Fixpm enables the chosen launcher first, recognizes "Unknown command" and skips role API instantly, usescmd package query-activities --componentsfor accurate HOME-activity discovery, retries across bothcmd packageandpmaliases with--user 0, and verifies after each attempt. Live-tested against a real Shield. Failures now surface the actual ADB error in the WARNING. - Optimize prompt RAM annotations (#16) — Plex (and several other apps) showed nothing on the Optimize prompt even when actively using hundreds of MB. Replaced fragile per-app
dumpsys meminfo $pkg | grep 'TOTAL PSS'with a single system-widedumpsys meminfoparsed the same way the Health Report parses it. Fewer ADB roundtrips, consistent numbers between the two screens. background_process_limitsetting removed (#12, closes #11) — The setting doesn't persist across reboots on Nvidia Shield, and the optimization flow prompts for a reboot at the end — so anything set there was always reverted before it took effect. Removed from the PerfList prompt, Health Report, and README feature line.
🎨 UX improvements
- Digit shortcuts always prefix in menus (#15) — Previously, picking shortcut
2for an option containing the IP192.168.42.196would render as19[2].168.42.196, highlighting an arbitrary octet character. Digit shortcuts (device list, AT4K, process-limit menus) now always render as[N] <text>. - Homebrew Core formula for PowerShell on macOS (#10, by @dannyfallon) — Replaces the broken
powershell/tap/powershelltap (which fails withCalling depends_on macos: :high_sierra is disabled!) withbrew install powershellfrom Homebrew Core.
📚 Docs
- Docker usage on Linux (#13, closes #9) — New README subsection covering the
--network host+iproute2workflow @shawly verified for running the script insidemcr.microsoft.com/powershell:latestwithout installing PowerShell on the host. Calls out the Docker Desktop limitation on macOS/Windows where host networking isn't available.
Acknowledgments
Thanks to @dannyfallon for the Homebrew fix (#10), @shawly for the verified Docker workflow guidance (#9), and @scana for the heads up on the persistence bug (#11).
Full changelog: v0.74.1...v0.75.0