libretro / libretro/RetroArch

(Android) Controllers do not reconnect properly on some cores

Open
#15,481 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

First and foremost consider this:

  • Only RetroArch bugs should be filed here. Not core bugs or game bugs
  • This is not a forum or a help section, this is strictly developer oriented

Description

Android disconnect workaround is enabled. If the controller is disconnected while playing, some cores refuse to accept input from the controller once it reconnects until after you open the RA menu once, forcing you to use touch input to open the RA menu before your controller can be used again. Other cores work fine. If you have the option to hide the overlay while a controller is connected enabled, this effectively makes it impossible to open the menu, save the game, or do anything else; forcing you to force close RetroArch and lose all progress.

Haven't tested all my cores but mGBA works as expected. SameBoy and bsnes experience this issue.

Expected behavior

All cores accept input from reconnected controllers.

Actual behavior

Numerous cores do not accept input from reconnected controllers until the RA menu is opened.

Steps to reproduce the bug
  1. Start a game in an affected core with a controller connected.
  2. Disconnect the controller.
  3. Connect the controller. No input will be accepted.
  4. Open the RA menu via the on-screen overlay.
  5. Return to the game and controller input will be recognized again.
Bisect Results

Not tested.

Version/Commit

You can find this information under Information/System Information

  • RetroArch: 1.15.0
Environment information
  • OS: Android 13/One UI 5.1
  • Compiler: --

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

Start by reproducing the disconnect and reconnect sequence on Android 13 with the affected cores, comparing SameBoy and bsnes against mGBA. Confirm that opening and closing the RetroArch menu restores input, then consider the issue done when affected cores accept controller input immediately after reconnection without requiring the menu.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, c
Domain
mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.