Android touch overlay and rotation / 2026-07-30

Fix a RetroArch touch overlay after rotating Android

Separate screen orientation, core-requested rotation, portrait and landscape overlay geometry, and hardware-controller hiding when touch controls move or disappear.

9 minute control repair guideCurrent RetroArch for Android with hardware-accelerated video and input overlays

Fix a RetroArch touch overlay after rotating Android

First keep the device in one orientation and confirm Display Overlay is on. Check whether Hide Overlay When Controller Is Connected removed it, then verify Auto-Rotate Overlay and the separate portrait or landscape scale, separation, and offsets. Change screen orientation only after the touch hitboxes align; core video rotation and UI orientation are different layers.

Do this in order

  1. 01

    Record device orientation, RetroArch build, menu driver, core, overlay preset, controller connection, and whether buttons are invisible, misplaced, or visually correct but unresponsive.

  2. 02

    Lock one orientation, enable Display Overlay, and temporarily disable Hide Overlay When Controller Is Connected.

  3. 03

    Load the default official overlay preset and test one menu-safe button before editing opacity, scale, separation, or offsets.

  4. 04

    Check Auto-Rotate Overlay, then adjust only the active portrait or landscape geometry while watching both the image and the hitbox response.

  5. 05

    Separate Screen Orientation from Video Rotation and Allow Core Rotation; change one layer at a time and restart if the build requires it.

  6. 06

    Reconnect the hardware controller, decide whether the overlay should hide, and save the narrowest core, directory, or game override that reproduces the working layout.

Decision and diagnostic table

SymptomLikely layerNext test
Overlay vanishes when gamepad connectsHide-on-controller ruleDisable it temporarily
Image moves but taps hit old placesPreset or geometry mismatchReturn to default preset
Portrait good, landscape badSeparate orientation valuesAdjust landscape fields only
Game rotates but menu does notCore/video rotationDo not rotate UI blindly

Overlay image and hitboxes are one preset

Libretro overlays define images, normalized screen rectangles, and input hitboxes in a configuration file. A decorative image placed elsewhere does not move the active touch regions with it.

Return to an official known-good preset before diagnosing a custom theme. Once taps align, adjust opacity and visual scale without changing several coordinate layers together.

Portrait and landscape keep separate geometry

RetroArch exposes separate scale, aspect adjustment, separation, and offsets for portrait and landscape. Auto-Rotate Overlay can select between layouts, but it cannot repair a preset with the wrong bounds.

Test the same control in each orientation. If only one fails, preserve the working values and limit changes to the failing orientation.

A controller can hide a healthy overlay

Hide Overlay When Controller Is Connected is useful on a gamepad but confusing during diagnosis, especially when Android reconnects a Bluetooth pad automatically.

Decide the intended hybrid behavior after the touch layout works. A per-core or per-game override avoids forcing arcade touch controls onto unrelated systems.

First-party sources

Related guides