libretro / libretro/RetroArch

[Linux] Selecting long-loading menu options with a controller will temporarily disable all input in-game

Open
#11,347 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

If I open the RetroArch menu while running any core, select an option with a controller that causes RetroArch to have to load for a bit (like an Slang shader), then exit the menu, then RetroArch will stop responding to both controller and keyboard input until the controller's accept button is pressed again, or if I reconnect the controller. This does not happen if I use the keyboard to select the menu option instead, and it doesn't happen on Windows at all.

I've tried the following, but nothing fixed it:

  • changing the menu driver to all available
  • changing the input and controller drivers to all that would function (x, linuxraw, sdl2 and udev, sdl2)
  • toggling Menu Swap OK Cancel Buttons and Unified Menu Controls on and off
  • toggling Threaded Tasks, Threaded Video, Throttle Menu Framerate, and Vsync on and off
  • switching the polling rate between Early, Normal, and Late
Expected behavior

Keyboard and controller continue functioning properly.

Actual behavior

Keyboard and controller stop functioning until the accept button is pressed again or the controller is reconnected.

Steps to reproduce the bug
  1. Open the RetroArch menu during gameplay
  2. Using a controller's accept button, select an option from the menu that will cause RetroArch to "freeze" for a bit as it loads
  3. Exit the RetroArch menu without pressing the accept button again
  4. All controller and keyboard input now no longer works until the controller's accept button is pressed again, out of the menu
Version/Commit
  • RetroArch: 5e551dd (1.9.0 stable)
Environment information
  • OS: Ubuntu 20.04
  • Kernel: Linux 5.4.0

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 issue on Ubuntu 20.04 with RetroArch 1.9.0 commit 5e551dd: open the menu during gameplay, use a controller to select a long-loading option, exit, and compare controller and keyboard input. Compare this path with keyboard selection and Windows behavior; done means input remains functional after leaving the menu.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, linux
Domain
frontend, operating-systems
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.