Skip to content

Add SDL3 Controller Support#18833

Merged
LibretroAdmin merged 19 commits into
libretro:masterfrom
RobLoach:sdl3-joypad
Jun 24, 2026
Merged

Add SDL3 Controller Support#18833
LibretroAdmin merged 19 commits into
libretro:masterfrom
RobLoach:sdl3-joypad

Conversation

@RobLoach

@RobLoach RobLoach commented Mar 15, 2026

Copy link
Copy Markdown
Member

This is initial support on SDL3 Controller support. Using SDL3 will mean disabling the other SDL drivers, since the APIs are not backwards compatible. I've split it into its own sdl3_joypad.c.

Features

References

Test

  1. Make sure autoconfig/sdl3/gamecontrollerdb.cfg from sdl3: Add SDL_GameControllerDB directly retroarch-joypad-autoconfig#1317 is in your configs
  2. Install SDL3
  3. Compile RetroArch with SDL3 support
    ./configure --enable-sdl3
    make
    ./retroarch --verbose
    
  4. Once in, switch the Controller driver to sdl3 (Menu > Input > Controller > sdl3)
  5. Restart to load up with the SDL3 Controller Driver
  6. Plug in a controller, and expect it to JUST WORK ™️

Comment thread Makefile.common
Comment thread input/input_autodetect_builtin.c Outdated
Comment thread input/input_autodetect_builtin.c Outdated
@hizzlekizzle

Copy link
Copy Markdown
Collaborator

I have done some testing of this in linux where it builds and functions as expected

@LibretroAdmin
LibretroAdmin merged commit 7f6d624 into libretro:master Jun 24, 2026
43 checks passed
agr541 pushed a commit to agr541/RetroArch that referenced this pull request Jun 26, 2026
* sdl3: Add SDL3 Controller support

* sdl3: Add to feature list

* sdl3: Update

* Update SDL3

* Apply suggestion from @RobLoach

* Apply suggestion from @RobLoach

* sdl3: Use a different ID for sdl3_joypad.c

* sdl3: Have a standard mapping flag

* sdl3: Clean up

* sdl3: Only load mappings if the autodetect system is enabled

* sdl3: Add docs pointing to SDL3 directly

* sdl3: Probably don't need to reload the mappings before quitting

* sdl3: Safety checks and protection

* sdl3: Add SDL_SetHints() for Wii

* sdl3: LED

---------

Co-authored-by: Rob Loach <RobLoach@users.noreply.github.com>
agr541 pushed a commit to agr541/RetroArch that referenced this pull request Jun 26, 2026
* sdl3: Add SDL3 Controller support

* sdl3: Add to feature list

* sdl3: Update

* Update SDL3

* Apply suggestion from @RobLoach

* Apply suggestion from @RobLoach

* sdl3: Use a different ID for sdl3_joypad.c

* sdl3: Have a standard mapping flag

* sdl3: Clean up

* sdl3: Only load mappings if the autodetect system is enabled

* sdl3: Add docs pointing to SDL3 directly

* sdl3: Probably don't need to reload the mappings before quitting

* sdl3: Safety checks and protection

* sdl3: Add SDL_SetHints() for Wii

* sdl3: LED

---------

Co-authored-by: Rob Loach <RobLoach@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SDL3 Input Support

4 participants