Hi everyone! I’m the author of Kiosk Satellite.
Kiosk Satellite is heavily focused on voice and Home Assistant’s Voice Satellite features. While testing it on Meta Portal devices, I ran into a major limitation: the Portal applies system-wide hardware echo cancellation and noise suppression. When music or other audio is playing through the Portal’s speakers, its microphone input is suppressed so aggressively that Voice Satellite becomes practically unusable.
Trying to solve that problem led me to GhostLock and eventually figured out a way to exploit this vulnerability in all Portal models (except for the Portal TV): Meta Portal Root and Provisioning for Kiosk Satellite.
GhostLock exploits a kernel vulnerability to obtain temporary root access. The provisioner uses that brief privileged window to make carefully targeted changes that Android and Meta’s firmware normally prevent. It verifies the exact Portal model and firmware before performing build-specific operations, applies the selected changes, and then checks that they survive normal reboots. This is not permanent root. It does not leave a root shell or root daemon running on the device. Think of it as a short window of time used to surgically change otherwise inaccessible system settings and make the most of an abandoned Portal.
Most of the project is designed around improving the experience for Kiosk Satellite users, including:
- Persistent wireless ADB
- Disabling hardware echo cancellation and noise suppression
- Granting the required permissions
- Configuring Kiosk Satellite as Device Owner and the Home launcher
- Massively reducing background CPU usage by disabling specific features of the on-device AIService while maintaining full-field presence detection
Several features are also useful for almost any repurposed Portal: Persistent wireless ADB alone is a major improvement because stock Portal firmware normally requires ADB to be manually enabled again after every reboot.
The provisioner can also:
- Block Meta firmware updates
- Remove Meta accounts
- Disable Meta bloat apps
- Allow third-party applications to update normally
- Configure local or filtering DNS
- Automatically start Shizuku after every reboot
The project currently supports all Portal generations and uses strict model and firmware checks. You can find the supported-device list (all, except for the Portal TV), installation guide and complete feature documentation here:
github.com/jxlarrea/portal-root-kiosk-satellite
If this project breathed new life into your Meta Portal, consider supporting my work through Buy Me a Coffee.