How to programmatically get Firestick display scale / overscan?

I need to programmatically read the Firestick display scale / overscan value.
Using Kepler

On some TVs, our Fire TV app doesn’t scale properly — parts of the UI are cut off and the app doesn’t fully fit on the screen

const { width, height, scale } = useKeplerWindowDimensionsV2();

scale is always 1, regardless of the TV’s calibration.
useKeplerWindowDimensions/V2 also always report 1080p on a 4K TV, while @amzn/kepler-graphics returns the correct panel resolution (e.g., 3840×2160) — but I still can’t get the scale/overscan applied by the device.

Is there any API or recommended way to retrieve the Firestick scale/overscan value so I can calibrate the app layout?

(I’ll attach a photo of the Settings screen showing the scale.)

Hi @Dionisio,

Thanks for reaching out! Could you confirm what the unexpected and expected behavior is with your inquiry regarding the scale value? From what was shared, it seems like you’re expecting the scale to return a variable value likely between 1 and 2, but you’re instead consistently getting a value of 1 on a range of devices. Is that accurate?

We’ll get back on if we have any APIs to surface overscan values and to handle display calibration.

hi @amen

Yes—that’s accurate. Here’s the exact expected vs. actual behavior I’m seeing:

Expected

  • The scale should reflect the display calibration / overscan configured in Settings ▸ Display ▸ Calibrate Display.

  • I’d expect a variable value (e.g., ~1–2) depending on the user’s calibration and/or how Fire TV is scaling the app to fit the panel.

    Actual

    • With useKeplerWindowDimensionsV2(), scale is always 1 across multiple TVs and Fire TV devices, even after changing the system calibration.

Repro steps

  1. On Fire TV: Settings ▸ Display ▸ Calibrate Display — change the scale.

  2. Launch the app and log values from useKeplerWindowDimensionsV2() and @amzn/kepler-graphics.

  3. scale stays 1

Hi @Dionisio ,

Thank you for your patience.

Our team is still looking into this and will get back when we have an update.

Thanks,
Rohit