A DEAD META PORTAL TURNED INTO A HOME ASSISTANT PANEL

Meta wound the Portal platform down. A free MIT-licensed launcher called Immortal installs over USB-C with ADB and turns it into a device you actually own.

by starbrightlab

FULL CAD BOM FIRMWARE DOCS

HomeAutomation

difficulty
●●○○○
time
an evening
license
MIT
repo
repo ACTIVE201 stars
1
Jump to section

COMPAREE VERDICT

Immortal is a custom launcher for discontinued Meta Portal devices: Portal, Portal+, Portal TV, Portal Go and the later Android 10 models. It replaces Meta's home screen with a fullscreen app grid, a photo-frame screensaver (Immich, SMB, WebDAV, iCloud albums), MQTT integration for Home Assistant, RTSP camera viewing, timers, a Wi-Fi intercom between Portals, and synced whole-home audio via Snapcast and Music Assistant. The provisioning kit installs it over USB-C with one double-click; a restore script brings the Portal back to stock. The app store is a hosted JSON catalog, and the launcher itself can update over the network without a cable. Used Portals sell for very little (about 20 dollars in Anoraker's video). Before you start, enable ADB on the Portal (Settings > Debug > ADB Enabled); the kit even downloads adb for you if your computer does not have it. The first-gen Portal+ has a broken Android installer dialog (a Meta display overlay renders it white-on-white), but the provisioning kit fixes that automatically. After that, the app store and sideloading work through the standard Android installer. The honest limits are the Portal's own: no Google Play Services and no root, so apps that need Google sign-in or DRM may not run.

GOOD TO KNOW

  • —The APK, provisioning scripts, and app-store catalog JSON are all in the repository.
  • —Installation is a double-click script (Provision-Portal.command / .bat) that fetches the latest release over USB-C with ADB enabled.
  • —Restore-Portal script reverses everything — the device goes back to stock Meta software.
  • —MIT licence — commercial use, modification, and redistribution are all allowed.
  • —First-gen Portal+ (Android 9) has a broken installer dialog (white-on-white); the provisioning kit fixes it by disabling Meta's display overlay.
  • —No root is possible: the bootloader cannot be unlocked, so deeper firmware changes are not possible; Immortal runs as a normal app.

Parts to buy

2 items

From our check of the build. Exact quantities and part numbers are in the creator’s BOM.

Can I build this?

Printnothing required
Buya used Meta Portal, a USB-C cable, and optionally a self-hosted Immich server or network share for photos
Toolsa computer (macOS, Linux, or Windows); the kit downloads adb automatically if it is missing
SkillsBeginner: enable a setting on the Portal, plug in a cable and double-click a script. Home Assistant and multi-room audio need more setup.
Timean evening: run the provisioning kit, then configure MQTT, photo sources, or multi-room audio if you use those features
Cost$: used Portals go for about $20 (Anoraker's video); everything else is free software
SafetyNone beyond ordinary electronics care; the work is software only. The Portal Go has a built-in battery. The README says provisioning modifies device settings and is use-at-your-own-risk (reversible, but no guarantees).

Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.

Videos

Please Don't Throw Away This Dead Smart Display10:55

Video by Anoraker (11 Jul 2026): why the Portal failed, ADB access, installing the Immortal launcher, other community apps, and limitations and privacy concerns.

More builds like this

All projects

Gallery

Start here

Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.

  1. 1.Check which Portal generation you have (docs/first-gen-portals.md) (If you have a first-gen Portal+ or Portal TV, read this first: it explains the broken installer dialog and how the kit fixes it.)
  2. 2.Enable ADB on the Portal (docs/install.md) (On the Portal: Settings > Debug > ADB Enabled. When the Portal asks 'Allow USB debugging?', tap Allow.)
  3. 3.Connect the Portal over USB-C and run Provision-Portal.command (macOS/Linux) or Provision-Portal.bat (Windows) from provisioning/ (The script fetches the latest release automatically and installs it. On first-gen Portal+ it also fixes the broken installer dialog.)
  4. 4.Optional: configure MQTT for Home Assistant (docs/guides/home-assistant.md), set up multi-room audio (docs/guides/multi-room-audio-setup.md), or add photo sources in screensaver settings (All optional — the launcher and screensaver work out of the box.)

Resources

Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.

KNOWN ISSUES

  • Skipping the ADB step. The kit needs ADB enabled on the Portal (Settings > Debug > ADB Enabled) and you must tap Allow on the 'Allow USB debugging?' prompt, otherwise the install cannot proceed.
  • First-gen Portal+ (Android 9) ships with a broken Android installer dialog — it renders white-on-white. The provisioning kit fixes this by disabling Meta's display overlay, but if you skip the kit or set DISABLE_INSTALLER_OVERLAY=false in config.env, sideloading will fail.
  • The bootloader cannot be unlocked and there is no root, so deeper firmware changes are not possible. Immortal works entirely within the constraints of a standard Android user-space app.
  • Google Play Services are not present and cannot be added. Apps that depend on Google for sign-in, push notifications, or DRM may not work. Aurora Store installs many apps that do not need Play Services.
  • USB-C thumb drives do not mount reliably on Portal Go. Copy screensaver photos to the device's own storage instead while it is plugged into a computer.
  • Shizuku's server (used for Aurora Store's silent installer on first-gen Portals) may be killed by the firmware right after launch. The provisioning kit detects this and tells you; the fallback is Aurora's Session installer with the overlay fix applied.

Does this work on all Portal models?

It targets Meta Portals on Android 9 (the 2018 Portal / Portal+ and the Portal TV) and Android 10 (the 2019 and 2021 models, including Portal Go). Touch models and the remote-driven Portal TV are both supported. Installation needs ADB enabled on the Portal (Settings > Debug > ADB Enabled).

Can I go back to Meta's software?

Yes. Run Restore-Portal.command or Restore-Portal.bat from the provisioning folder. The kit is documented as fully reversible.

Do I need a Home Assistant server?

No. The launcher, photo frame, app store, timers, and intercom work without it. MQTT integration for Home Assistant is optional; the repo has a setup guide (you need an MQTT broker such as the Mosquitto add-on).

Can I install apps from the Play Store?

Indirectly, via Aurora Store (available in Immortal's app store). Portal has no Google Play Services, so apps that depend on Google for sign-in or DRM may not work. Many others do.

Does the photo frame need an internet account?

No. Point it at a folder on the device, a network share (SMB), a self-hosted Immich server, or a WebDAV server. iCloud shared albums and a keyless Lorem Picsum / Unsplash feed are also supported, but local sources work entirely offline.

What is the multi-room audio setup?

Immortal can group Portals as synced whole-home speakers using Snapcast and Music Assistant. Every Portal in the group shows what is playing (title, artist, cover art, play/pause/skip) on its home header and screensaver, not just the one driving playback. AirPlay cast into a group works too.

Community builds

No community builds yet — be the first, we feature the best ones.

Discussion1

FROM THE COMPAREE TEAM

Used Portals sell for about $20 now, and the whole install is reversible. If you already have one sitting in a drawer, what would you use it for first — the photo frame, the Home Assistant panel, or the security camera viewer?

CompareeTEAM6d ago

The first-gen Portal+ (Android 9) has a broken installer dialog (white-on-white), but the kit fixes it automatically by disabling Meta's display overlay. After that, the app store, self-update, and sideloading all work through the standard Android installer. The multi-room audio feature is the deepest integration — it syncs playback across Portals and shows now-playing metadata on every screen in the group. The project also has a fleet-management service for managing multiple Portals over Wi-Fi (deploy apps, push config, read logs) without reaching for a USB cable each time.

starbrightlab

starbrightlab built Immortal to keep Meta Portal devices alive after Meta wound the platform down. The name is a play on Portal and on keeping the hardware usable long-term. The project includes a launcher, screensaver, app store, fleet-management tools, and a provisioning kit that handles quirks like the first-gen Portal's broken installer dialog.

GitHub

Star the project on GitHub

DISCLAIMER

  • Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
  • Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
  • Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.