Project

General

Profile

Actions

Emulator Issues #13164

closed

About SDL controller backend being disabled by default on Linux (ENABLE_SDL)

Added by SuperSamus about 1 year ago. Updated 4 months ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
Linux
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:
5.0-20941

Description

On the July and August 2022 progress report, it was announced that Dolphin now has a SDL controller backend, with the highlight being multiple controller support and out of the box motion input.
However, Linux doesn't have the CMake argument ENABLE_SDL enabled by default.
The justification for it was written here, with the main points being problems with HIDAPI, and the fact that Linux already supports multiple controllers and motion inputs.

However, in my opinion, evdev is not very plug and play:

  • evdev didn't really succeed at standardizing button labels: most notably, BTN_WEST is intuitively the square button on DualShock, but for some reason it's the Y button on Xbox. SDL labels are instead standardized, meaning that if someone uses different controllers, it will be easier to reuse the same configuration for multiple controllers. Also, you can share profiles from/to Windows.
  • Motion inputs are even less friendly:
    • Often, the IMU device is hidden by default by udev rules (e.g. Nintendo Switch Pro Controller), and fiddling with them isn't exactly what the average user strives for (or, to take a shortcut, you can add the user to the input group, but it isn't really recommended).
    • Even then, you have to map all the axes manually, and adding to the tedium, the axes are not even standardized between controllers.

Also, with SDL_ENABLE, the evdev device is still visible, meaning that there will be no breakage for existing users. Furthermore, other emulators like DuckStation, PCSX2 (Qt) and Flycast already use SDL for their controller backend.

I don't know however how much of a con are the HIDAPI limitations though, so that's why I'm leaving this as a discussion.

Actions

Also available in: Atom PDF