You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The "Set All Controls" feature in the RetroArch AppImage inadvertently creates udev autoconfig files instead of SDL2 files, despite being labeled as SDL2. This discrepancy means that SDL2 autoconfig files uploaded to the official repository may be ineffective if they lack corresponding udev configurations for all game controllers. The inability to cross-reference files between the SDL2 and udev directories makes it challenging to determine whether the SDL2 directory contains genuine SDL2 configs or mislabeled udev configs generated by the AppImage. Consequently, users will find it virtually impossible to trust "SDL2" autoconfigs in general, as the process of ruling out and comparing these configurations is too complex for most to remember and implement effectively.
Go to Settings -> Input -> RetroPad Binds -> Port 1 Controls -> Set All Controls.
Bind the buttons as needed.
Click on "Save Controller Profile".
The generated file contains UDEV data, not SDL2 data.
Navigate to Main Menu -> Load Core -> Start Remote RetroPad. When you press the button, it will be shown as normal, even though UDEV is being used instead of SDL2. This can be demonstrated by the following steps:
Create an SDL2 autoconfig for the same controller using the Flatpak version of RetroArch.
Transfer the Flatpak-generated autoconfig file into the autoconfig/sdl2/ directory for the AppImage.
Remove the AppImage-generated file located in autoconfig/sdl2/ from step 6.
Relaunch the RetroArch AppImage.
The controller will be non-functional.
The issue affects all types of controllers, not just the DualSense, which is used as an example. When evaluating this issue, it is important to avoid relying on controller names. Some controllers, such as the Nintendo Switch Pro Controller in Ubuntu MATE 23.4, have identical names in both udev and SDL2 for Bluetooth and USB connections. However, for DualSense controllers, the name varies between linuxraw and SDL2 when connected via Bluetooth or USB. SDL2 does not change the name based on the connection type. Therefore, it is crucial to assess the differences in input variables instead.
Example for Sony DualSense controller
SDL2
The RetroArch packages for Appimage and Flatpak don't generates identical content.
Appimage with SDL2 (issue)
The Appimage appears to generate udev content with the exception that it add input_driver = "sdl2" instead of input_driver = "udev" to the file:
autoconfig/sdl2/Sony Interactive Entertainment DualSense Wireless Controller.cfg
Describe the issue
The "Set All Controls" feature in the RetroArch AppImage inadvertently creates udev autoconfig files instead of SDL2 files, despite being labeled as SDL2. This discrepancy means that SDL2 autoconfig files uploaded to the official repository may be ineffective if they lack corresponding udev configurations for all game controllers. The inability to cross-reference files between the SDL2 and udev directories makes it challenging to determine whether the SDL2 directory contains genuine SDL2 configs or mislabeled udev configs generated by the AppImage. Consequently, users will find it virtually impossible to trust "SDL2" autoconfigs in general, as the process of ruling out and comparing these configurations is too complex for most to remember and implement effectively.
Steps to Reproduce the Bug
autoconfig/sdl2/.autoconfig/sdl2/directory for the AppImage.autoconfig/sdl2/from step 6.The issue affects all types of controllers, not just the DualSense, which is used as an example. When evaluating this issue, it is important to avoid relying on controller names. Some controllers, such as the Nintendo Switch Pro Controller in Ubuntu MATE 23.4, have identical names in both udev and SDL2 for Bluetooth and USB connections. However, for DualSense controllers, the name varies between linuxraw and SDL2 when connected via Bluetooth or USB. SDL2 does not change the name based on the connection type. Therefore, it is crucial to assess the differences in input variables instead.
Example for Sony DualSense controller
SDL2
The RetroArch packages for Appimage and Flatpak don't generates identical content.
Appimage with SDL2 (issue)
The Appimage appears to generate udev content with the exception that it add
input_driver = "sdl2"instead ofinput_driver = "udev"to the file:autoconfig/sdl2/Sony Interactive Entertainment DualSense Wireless Controller.cfg
Flatpak with SDL2 (correct)
autoconfig/sdl2/PS5 Controller.cfg
UDEV
The RetroArch packages for Appimage and Flatpak both generates identical content.
Appimage with UDEV (correct)
autoconfig/udev/Sony Interactive Entertainment DualSense Wireless Controller.cfg
Flatpak with UDEV (correct)
#
autoconfig/udev/Sony Interactive Entertainment DualSense Wireless Controller.cfg