-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Externals: Update SDL to 2.30.6 #12144
Conversation
Note that since SDL 2.26.5, macOS minimum target is raised to 10.11. |
libsdl-org/SDL@f032e8c isn't a tagged release (as you say). Although it's probably OK to update to it, especially if the update doesn't require dolphin changes so linux package maintainers can use an older version that they already have packaged, it's probably not a good idea to refer to it as 2.29.0; instead I'd refer to it as a 2.29 development version. That way when an actual 2.29.0 releases it's more clear that we were using something else. (Unless SDL exclusively uses odd-numbered versions for development versions, which might be the case looking at their releases page; I'm not super familiar with it.) |
@SuperSamus Dolphin's minimum macOS target is 10.15, so it should be fine? Looks like the osx buildbot failed because there's a version check that's hardcoded. I'll look into that real quick |
@Pokechu22 According to their pull request: libsdl-org/SDL@ceece91, they're calling it 2.29.0 for development. I could rename this to point out this is a snapshot before the official 2.29 release, but since they're in maintenance mode now since 2.28.0, this is more of a stopgap before Dolphin moves to SDL3 (or uses sdl2-compat) |
Ah, looking at how they handle things, 2.28.0 RC1 is actually prerelease-2.27.1 and there is no build tagged 2.27.0. So based on that calling it 2.29.0 is probably fine. |
Reminder that SDL 2.28 is still being updated. 2.28.5 is the latest release. |
Looking for some input on what to do. Should I go down to 2.28.5 point release, bump up to the latest 2.29.0 release, or wait until the 2.30.0 milestone is completed? Option 1 might not fix all the joycon/Steam Deck issues I was trying to fix with this pull request, would need to investigate. |
@khg8m3r The LTEK issue (which probably affects other devices as well) might* be resolved in SDL commit I think it would be worth testing this commit in this branch (or another), and if they backport it to 2.28.x, then I don't see an issue with going with that. I would prefer not to lose device support. That said, since Dolphin has other options besides SDL its not like its impossible to use the devices affected anyway, so its not necessarily a full blocker. |
Update: The SDL commit |
SDL member came back with
I would prefer we wait for 2.30, but again its not a total blocker if there's a critical feature you want in sooner than Jan 30. |
Well this PR has already waited this long, might as well wait for the 2.30.0 release so that it can be synced up to a point release instead of an arbitrary SDL commit. It's good to know the LTEK issue is fixed, I'd like to not have any regressions |
2.30.0 is indeed out now. |
Looks like 2.30.1 fixes a crash for controllers on macOS, so I'll probably pull to that release, thanks to @SuperSamus for pointing that out. Been absolutely slammed with work and some personal stuff, should finally have some time this week to get this updated and pushed for review. |
Any chance this can be worked on soon? I have a planned feature dependent on it Also, 2.30.3 just came out. If you are too busy with other obligations I wouldn't mind taking it over as well. |
@dreamsyntax I've been on a bunch of back-to-back work trips but I get back tomorrow. I'll get this updated and pushed tomorrow night or Saturday morning 👍 |
This still fails to build on most of our builders... |
@AdmiralCurtiss yeah, I was poking this the other day with @dreamsyntax, gotta do some deeper debugging on why the default SDL 2.30.3 release commit doesn't want to build. Might need to do either a patch in Dolphin or see if the SDL repo has the fixes but they haven't pushed to a point release yet. |
A release has since been tagged: |
Is this going to be addressed? I understand schedules and all that, but its been a year... |
@dreamsyntax from our discord discussion, I think everything is pushed now to solve the compiler problems I was seeing on Windows and Linux. If we can figure out he buildbot issues I think this should be done |
Not to be annoying but there's another release since |
Oh no! I'll get that added since it fixes a controller crash |
1e7c4d4
to
b4281fb
Compare
Not sure what to do about the builder situation other than 'whatever' power through it. At this point all the different builders do pass. It's just a matter of the cache. Planning to test this still, just a bit busy.
|
I can test the Google Stadia. |
Tested on Windows 11, 23H2, verifying all buttons, axis, vibration, gyro/other sensor functions: |
Tested on Windows 10 2022h2 19045.4651 with the google stadia controller, all axes, triggers, buttons, rumble function correctly. |
Tested on Android 14 As Device "Android/1/(name)" |
Tested on Linux (Linux Mint Debian Edition 6 - LMDE Faye): As a side note, I noticed Gyro does not appear like it does on Windows for Dual Sense. However, this also happens on the flatpak on Debian. When running the flatpak on Arch, then Gyro works as expected, so probably distro specific. Note to reproduce Xbox issue on Linux:
|
Tested on macOS Sonoma 14.6.1 / Apple M |
b4281fb
to
d2c4f3a
Compare
Well, let's hope this doesn't break the build system, I guess... |
It looks like this SDL update is causing some issues on the Steam Deck. The Issue report: https://bugs.dolphin-emu.org/issues/13612 |
Is this confirmed? I noticed SDL renamed some devices, so it may just be a case of users needing to re-select their controller from the device drop down. Ill ask someone with a steamdeck to check. |
I can confirm the Steam Deck Controller in the device drop down is exclusively used by the built-in Steam Deck controls, meaning you'd have to switch device whenever you want to use an external controller through SDL. |
I had someone with a SteamDeck verify. Nevermind. Theres weird stuff depending on Desktop Mode vs Game Mode. These can change depending on the mode. Desktop Mode has: Game Mode has: |
Well that certainly is an odd issue. I recently installed a new SSD in my Deck and did a fresh OS load, I'll see if I can poke at it and find what files changed was on SDL that caused this. |
I'd like to add that SDL/0/Steam Virtual Gamepad is controller agnostic The evdev equivalent for Steam Input, evdev/0/Microsoft X-Box 360 Pad 0 through 3 for ports 1 to 4, still function as the Steam Virtual Gamepad used to before the update. |
One thing to note for regular Linux is that before, the device name depended on whether Steam was open or not, which was very annoying. |
Not sure if related, can someone try with the environment variable override per libsdl-org/SDL#10073 |
@SuperSamus I think the Switch Pro controller was a separate update from 2.30.6 where they improved the reporting mode. @dreamsyntax I've been looking through the 2.30.0 changes for steam deck and that thread you posted might be the answer I was looking for as they were looking at some of the same PRs I've been trying to understand. |
Attempting to fix 3rd party switch pro gyro issues reported on the forums.
Also a bunch of other fixes, notably one being Steam Deck SDL support for the extra buttons.
SLD claimed that 2.28 was their last release, but they made some changes since then, so instead of pulling the tagged release I pulled the latest sdl2 branch updates