Severe slowdown and crash with SDL2 joypad driver using GameSir T3s (Nintendo Switch Pro mode) on Linux
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
This issue started a few weeks ago after several years of stable usage of this exact controller with RetroArch using SDL2 in Nintendo Switch Pro Controller mode.
Since recent updates, RetroArch shows severe slowdowns followed by a crash when the SDL2 joypad driver is used with a GameSir T3s connected over Bluetooth.
No hardware or configuration change was made on my side.
Additional information :
This configuration worked correctly for years with SDL2
The regression appeared recently, after system updates
There have been ongoing changes in SDL2’s controller handling for Nintendo Switch–compatible controllers, particularly around motion (IMU/gyro) data and HID report handling. This may be related to recent regressions in how SDL2 enumerates or opens controller devices.
Disabling IMU support (hid_nintendo disable_imu=1) does not prevent the crash
The controller behaves correctly at kernel level (evtest)
Steam Input works correctly with the same controller and mode
Using joypad_driver = "udev" avoids the crash, but causes incorrect right analog stick mapping, making it unusable
Expected behavior
no crash or slow down
Steps to reproduce the bug
1 - Pair a GameSir T3s controller over Bluetooth
2 - Set the controller to Nintendo Switch Pro mode
3 - Launch RetroArch with:
joypad_driver = "sdl2"
4 - Stay in the menu or load any core
Version/Commit
1.22.2 (Git 69a4f0ea1e)
Bisect Results
No response
Present in the nightly version
I don't know
Platform & operating system
Arch Linux Kernel 6.17.9
Affected Cores
No response
Environment information
Desktop / Session: KDE Plasma 6 (Wayland)
GPU: NVIDIA GeForce GTX 1650 Ti (proprietary driver)
Video driver: Vulkan
Controller: GameSir T3s (Bluetooth)
Controller mode: Nintendo Switch Pro Controller mode
Kernel driver: hid_nintendo
Bluetooth stack: BlueZ
Joypad driver: SDL2
Relevant log output
Repeated SDL errors in the log:
[ERROR] [SDL] Couldn't open joystick #0: Parameter 'gamepad' is invalid.
[ERROR] [SDL] Couldn't open joystick #0: There are 0 joysticks available.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce with a GameSir T3s over Bluetooth in Nintendo Switch Pro mode on Arch Linux, using joypad_driver = "sdl2", and capture the repeated SDL errors. Start by tracing RetroArch's SDL2 joypad handling and comparing it with the udev driver, while checking whether the reported SDL2 controller changes are involved. Done means the controller can remain in the menu or load a core without severe slowdown or a crash.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, linux
- Domain
- desktop, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100