Update SDL2 to SDL3

- Fix: Crash when connecting a JoyCon

- Fix: Make controller GUIDs match old SDL2 GUIDs

- Fix: Detect face button layout for gamepads

Co-authored-by: Maki <77-maki@users.noreply.git.ryujinx.app>
This commit is contained in:
KeatonTheBot
2026-05-16 18:25:16 -05:00
co-authored by Maki
parent f3a87af51d
commit e7c720fd2c
58 changed files with 940 additions and 877 deletions
+4 -4
View File
@@ -1,6 +1,6 @@
using DiscordRPC;
using LibHac.Tools.FsSystem;
using Ryujinx.Audio.Backends.SDL2;
using Ryujinx.Audio.Backends.SDL3;
using Ryujinx.Ava;
using Ryujinx.Common.Configuration;
using Ryujinx.Common.Configuration.Hid;
@@ -158,7 +158,7 @@ namespace Ryujinx.Headless
config = new StandardControllerInputConfig
{
Version = InputConfig.CurrentVersion,
Backend = InputBackendType.GamepadSDL2,
Backend = InputBackendType.GamepadSDL3,
Id = null,
ControllerType = ControllerType.JoyconPair,
DeadzoneLeft = 0.1f,
@@ -307,7 +307,7 @@ namespace Ryujinx.Headless
return new VulkanRenderer(
api,
(instance, _) => new SurfaceKHR((ulong)(vulkanWindow.CreateWindowSurface(instance.Handle))),
vulkanWindow.GetRequiredInstanceExtensions,
VulkanWindow.GetRequiredInstanceExtensions,
preferredGpuId);
}
@@ -331,7 +331,7 @@ namespace Ryujinx.Headless
_accountManager,
_userChannelPersistence,
renderer,
new SDL2HardwareDeviceDriver(),
new SDL3HardwareDeviceDriver(),
options.DramSize,
window,
options.SystemLanguage,