OpenCore TV is a custom Android TV and Fire TV launcher built around a clean home screen, high-resolution wallpapers, device-aware shortcuts, weather, and an integrated idle/screensaver mode.
The app now uses device profiles so Fire TV, Google TV, and generic Android TV devices can share one codebase while keeping Fire OS-specific rescue behavior isolated to supported devices.
| Home | Idle / Screensaver | Control Center |
|---|---|---|
![]() |
![]() |
![]() |
- Replaces the stock TV home flow with a custom launcher experience.
- Shows apps and supported HDMI/source shortcuts together so inputs can live in Favorites.
- Lets input tiles use custom labels and icons.
- Opens an OpenCore-owned input selector from the physical Input/Source button when you are outside the launcher home screen.
- Uses bundled high-resolution wallpapers instead of relying on broken Android TV wallpaper pickers.
- Organizes wallpapers through a catalog with brightness and category tags for dark/light appearance modes.
- Adds weather, clock, and location-aware home/idle widgets.
- Turns the launcher into its own idle/screensaver surface instead of depending on system screensaver routing.
- Includes Launcher Protection settings to verify the home button/default launcher setup.
- Keeps Fire TV Home Guard support for Fire OS devices where the stock launcher cannot be fully disabled without system privileges.
- Ships separate install paths for generic Android TV and Fire TV development devices.
Stable APKs are published on the GitHub Releases page. Use the local build flow when developing or testing changes directly on the TV.
To publish a new GitHub Release:
.\scripts\publish-release.ps1. .\scripts\arc-env.ps1
flutter pub get --offline
flutter build apk --releaseThe release APK is generated at:
build\app\outputs\flutter-apk\app-release.apk
.\scripts\dev-install.ps1dev-install.ps1 remains the Fire TV development install path. It builds the release APK, installs it, restores Home Guard, grants the development permissions used by the Fire OS Home rescue flow, and launches OpenCore.
For Google TV or generic Android TV devices:
.\scripts\install-android-tv.ps1 -Device 192.168.1.12Add -SetHome to ask Android to prefer OpenCore as the HOME activity without disabling the stock launcher.
For all TVs in the local home inventory:
.\scripts\install-tv-fleet.ps1The real inventory lives in gitignored config\tv-fleet.local.yaml; use config\tv-fleet.example.yaml as the safe checked-in template.
If Fire OS ever disables Home Guard after an update or reinstall:
.\scripts\enable-home-guard.ps1Details and manual recovery commands live in docs/HOME_GUARD_SETUP.md.
- Package id:
tv.opencore.launcher - Flutter package:
opencore_tv - Current maintained test gate:
. .\scripts\arc-env.ps1; flutter test --no-pub - Agent/project guide: AGENTS.md
- Feature tracker: docs/FEATURE_TRACKER.md
- Fire TV setup: docs/FIRE_TV_SETUP.md
- Android TV setup: docs/ANDROID_TV_SETUP.md
- Device profiles: docs/DEVICE_PROFILES.md
- Google TV HOME notes: docs/GOOGLE_TV_HOME_OVERRIDE_NOTES.md
- Home Guard setup: docs/HOME_GUARD_SETUP.md
- Device profile migration audit: docs/DEVICE_PROFILE_MIGRATION_AUDIT.md
- Settings audit: docs/SETTINGS_AUDIT.md
- Wallpaper catalog: docs/WALLPAPER_CATALOG.md
OpenCore TV is now maintained as its own project, but it stands on work from several open-source Android TV launcher projects:
- FLauncher by etienn01: original project lineage.
- FLauncher fork by osrosal: community fork with additional features.
- LTvLauncher by LeanBitLab: base used by later forks.
- ArcLauncher by meddouribadis: direct starting point for OpenCore TV.
This project is GPL-3.0-or-later. See LICENSE.


