Environment
-
Device: Fire TV Stick 4K Select (product
callie,armv7l), Vega OS 1.1 (TV Ship/27) -
Vega SDK 0.23.8128
-
React Native for Vega 0.72,
@amazon-devices/webview3.5.7
Summary
A foreground Vega app that isn’t actively decoding media (e.g. a WebView-based digital-signage player) cannot keep the display on. After a few minutes of no remote input, com.amazon.screensaver engages and the display dims/sleeps — even though the app is foreground, VISIBLE, and continuously rendering. There is no public API to prevent this and no device Settings option to disable it.
Steps to reproduce
-
Build a WebView app that shows static web content full-screen; launch it on the device.
-
Leave the device idle (no remote input) for ~5 minutes.
-
The screensaver engages / the display powers down.
Root cause (from device logs)
The resource manager only treats specific session types as display-keeping. A foreground non-media app does not hold any of them:
resmgr-monitor-service-session [AppSessionMonitor.cpp:362]
app's active session media-playback is not one of the display session(s):
{"video-playback", "audio-playback", "power-normal"}
The app’s active sessions are display, input-focus, and (when media is present) the generic media-playback, none of which count — so the screensaver proceeds.
What I tried — no sanctioned workaround exists
-
Device Settings: no option to disable the screensaver or set sleep to “Never.”
-
DisplayManager(kepler-graphics): display configuration only (color depth/space, HDR, refresh rate, overscan) — no power/sleep/keep-on method. -
kepler-media-controls: metadata/transport (play/pause/state) only; does not create a display-keeping session. -
W3C Screen Wake Lock (
navigator.wakeLock) inside the WebView: not honored by the resource manager; screensaver still engages. -
Injecting a media element into the page registers only the generic
media-playbacksession, which the resmgr explicitly rejects (above).
Impact
Digital signage, kiosk, dashboard, menu-board, and status-display apps — a major app category — cannot run 24/7 on Vega. This is precisely the use case for the low-cost Fire TV Stick 4K Select that customers are being moved onto via trade-in, so the gap blocks a meaningful set of developers and deployments.
Requested
Any one of:
-
A public keep-screen-awake / inhibit-screensaver API (turbomodule and/or a
manifest.tomlcapability or privilege), or -
Have the platform honor a declared media-controls “playing” session as a display-keeping session, or
-
A device Settings option (and/or a provisioning flag) to disable the screensaver / set sleep to Never for signage deployments.