libretro / libretro/RetroArch

[tvOS] [Apple TV] remote click (main button) Confirm/OK stops working if tvOS Accessibility > Zoom feature is turned ON

Open
#18,915 3 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

platform: tvos
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

On tvOS, if the user toggles on the Settings > Accessibility > Zoom feature, the main click (aka Confirm/OK button) black button on remote will stop working in RetroArch.

By toggled ON, I mean the zoom feature is active but latent. The zoom itself is triggered by a Triple Click input, which doesn't affect the problem. The optical blow-up zoom doesn't have to be triggered, only the setting itself.

WORKAROUNDS TRIED:

  • I tried using virtual remote in iPhone/iOS control panel, to rule out a remote hardware issue. Problem still exists.
  • I tried zooming in/out, but it didn't affect the dead button.
  • I tried closing the app, of course. Problem persists.
Expected behavior

OK/Confirm and Cancel buttons should continue working regardless of Accessibility Zoom setting in tvOS

Steps to reproduce the bug
  1. Go into tvOS Settings > Accessibility > Zoom
  2. Turn the zoom feature ON. (This setting ON means that a Triple Click of remote button will cause a zoom-in / blow-up for easier reading of small text etc) (I doubt it matters, but my zoom setting option is set to 2.2x)
  3. Now go into RetroArch and attempt to confirm anything or enter into any sub-menus. You can't. Confirm/OK button on remote is dead. You can cancel ("<" button on remote), and you can navigate up/down/left/right, but you can't confirm/proceed. The black button on remote stops working.
  4. Now go back into tvOS Settings > Accessibility > Zoom, and turn it OFF. The black remote button will now work fine in RetroArch again.

Note the problem doesn't seem related to when you actually zoom-in via Triple Click. The zoom, which is system level, works in RetroArch although there is a white glitched square. The bug is related only to the general setting option being On/Off.

Version/Commit

1.22.2 cf30bc29

Bisect Results

I'm not sure, can't install old versions.

Present in the nightly version

(I'm not aware of nightly version option on Apple TV)

Platform & operating system

Apple TV 4K

Affected Cores

RA Interface Menu

Environment information

No response

Relevant log output

I quit the app, reloaded, and then navigated RetroArch menu for a few moments after turning tvOS > Settings > Accessibility > Zoom On and Off, but I (in ignorance) don't see anything in log that corresponds to the button problem, other than the later line about ignoring MFI controller, but I don't know the true meaning of that.

[INFO] RetroArch 1.22.2 (Git cf30bc29)
[INFO] === Build =======================================
[INFO] Capabilities: NEON VFPV3 VFPV4 
[INFO] Version: 1.22.2
[INFO] Git: cf30bc29
[INFO] Built: Nov 18 2025
[INFO] =================================================
[INFO] [Input] Found input driver: "cocoa".
[INFO] [Environ] SET_PIXEL_FORMAT: RGB565.
[INFO] [Core] Version of libretro API: 1, Compiled against API: 1
[INFO] [Core] Geometry: 320x240, Aspect: 1.333, FPS: 60.00, Sample rate: 48000.00 Hz.
[INFO] [Video] Set video size to: 960x720.
[INFO] [Vulkan] Vulkan dynamic library loaded.
[INFO] [Vulkan] Found GPU at index 0: "Apple A15 GPU".
[INFO] [Vulkan] Using GPU index 0.
[INFO] [Vulkan] Using GPU: "Apple A15 GPU".
[INFO] [Vulkan] Queue family 0 supports 1 sub-queues.
[INFO] [Vulkan] Got 3 swapchain images.
[INFO] [Vulkan] Using resolution 1920x1080.
[INFO] [Vulkan] Using RGB565 format.
[INFO] [Vulkan] Loading stock shader.
[INFO] [Video] Graphics driver did not initialize an input driver. Attempting to pick a suitable driver.
[INFO] [Input] Found joypad driver: "mfi".
[INFO] [Video] Found display server: "apple".
[INFO] [Audio] Set audio input rate to: 48000.00 Hz.
[INFO] [CoreAudio] Using output sample rate of 48000.0 Hz.
[INFO] [CoreAudio] Using buffer size of 24576 bytes: (latency = 64 ms).
[INFO] [Audio] Started synchronous audio driver.
[INFO] [Microphone] Initialized microphone driver.
[INFO] [Display] Found display driver: "vulkan".
[INFO] [Playlist] Loading favorites file: "/private/var/mobile/Containers/Data/Application/89ABF017-F889-4C2B-8321-2EE8FB3A9293/Library/Caches/RetroArch/playlists/builtin/content_favorites.lpl".
[INFO] [Playlist] Loading history file: "/private/var/mobile/Containers/Data/Application/89ABF017-F889-4C2B-8321-2EE8FB3A9293/Library/Caches/RetroArch/playlists/builtin/content_history.lpl".
[INFO] [Playlist] Loading history file: "/private/var/mobile/Containers/Data/Application/89ABF017-F889-4C2B-8321-2EE8FB3A9293/Library/Caches/RetroArch/playlists/builtin/content_image_history.lpl".
[INFO] [Playlist] Loading history file: "/private/var/mobile/Containers/Data/Application/89ABF017-F889-4C2B-8321-2EE8FB3A9293/Library/Caches/RetroArch/playlists/builtin/content_music_history.lpl".
[INFO] [Playlist] Loading history file: "/private/var/mobile/Containers/Data/Application/89ABF017-F889-4C2B-8321-2EE8FB3A9293/Library/Caches/RetroArch/playlists/builtin/content_video_history.lpl".
[WARN] [MFI] Ignoring siri remote as a controller.
[INFO] App Intents: Returning 8 history games
[INFO] App Intents: Returning 8 favorite games
[INFO] App Intents: Returning 8 history games
[INFO] App Intents: Returning 8 favorite games
[INFO] [NS] starting draw observer

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 issue on an Apple TV 4K by toggling tvOS Accessibility > Zoom, then test the RetroArch menu's Confirm/OK and Cancel inputs. Start with the cocoa input driver and mfi joypad-driver paths named in the log, and compare behavior with Zoom disabled. Done means the remote's main click continues to confirm and enter sub-menus while Zoom is enabled.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.