libretro / libretro/RetroArch

Metal driver breaks iPadOS "more space" desktop zooming; Vulkan driver unaffected.

Open
#19,477 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

Is there an existing issue for this?
  • This is a bug in RetroArch frontend
  • I have searched the existing issues
Description

Apple introduced a "more space" feature under Display Zoom that provides more screen real estate by reducing the size of the overall UI to cram more on a user's screen: https://switchtoipad.com/features/ipados-16-beta-watch-more-space-if-your-eyes-can-take-it/

Under Metal, the on-screen UI elements are rendered correctly when set to "more space" but the actual location of the input touch controls are still set to the "default" location, causing a disconnect between visual UI and physical tap points, like taking two identical overlapping images and stretching one while leaving the other the same size.

Vulkan behaves as expected, mirroring the UI to the physical tap points.

I had originally filed this under an FR, but it seems it is actually a bug in the Metal driver: https://github.com/libretro/RetroArch/issues/19464

Expected behavior

The UI elements should align with the physical location of the controls using Metal as they do using Vulkan.

Steps to reproduce the bug
  1. Set iPadOS to "more space" under Settings > Display & Brightness > Display Zoom.
  2. Set video driver to Metal.
  3. Launch any game (this is an important step as things are fine before this).
  4. Open RA's Menu.
  5. Tap on any UI element (the farther you get from the top left, the worse the bigger the disparity between visual UI and physical input locations).
Version/Commit

1.22.2

Bisect Results

No response

Present in the nightly version

Yes, this is reproduced in the nightly build

Platform & operating system

iPadOS 18, 26, 27

Affected Cores

All cores affected

Environment information

No response

Relevant log output

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the mismatch using iPadOS Display Zoom set to “more space,” the Metal driver, and the menu steps described here. Compare the Metal and Vulkan driver paths, starting with the related discussion in issue #19464. Done means menu visuals and physical touch locations align under Metal after launching a game.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, ios
Domain
computer-graphics, frontend, mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.