-
-
Notifications
You must be signed in to change notification settings - Fork 802
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
Rumble never stops #3366
Comments
Please test with latest development builds. Things have changed a lot since 0.10.3 (and I'm planning to release 0.10.4 very soon). |
@endrift Done. Issue persists, and I notice something weird: once rumble starts, it persists even once I stop emulation and even after I quit mGBA entirely. It stops immediately once I restart mGBA, before loading any ROMs. This smells of byzantine emergent behaviour with no single root cause. |
It smells of SDL bug. I assume you're using the "modern macOS" build? The one that's actually signed. |
Yes, I am. |
I'll try to take a look at it soon. |
Assuming a usb connection, (and Steam is currently running on the affected machine) this may be due to Steam's Desktop configuration fighting over the controller if that is running at the same time as mgba (per reports on steam/reddit) as per libsdl-org/SDL#3450, if another sdl application hijacks the controller right after mgba has triggered switch haptics vibration it may continue into perpetuity, despite the buttons still working. (device handle lost, i believe) This might require SDLv3 to resolve. |
@Squall-Leonhart Steam is not even installed on the affected machine. I can't think of another application that may be attempting to capture input, and even if there were, the described mechanism would not happen consistently. |
Hrm, i remember this one having issues on switch emulators too, looking now theres no Mac controller setting profile. Is it showing as an Xbox device or a Switch pro device on GameController Tester |
@Squall-Leonhart It has two modes which work with my machine: one shows as a Switch Pro controller, the other as a DualShock 4. |
This looks to be a platform issue,
|
@Squall-Leonhart Again, this is a GameSir T4 Kaleid. It's a wired controller, with four input modes, only one of which is the Switch protocol. This rumble issue happens with all four. |
I talked to @slouken about this a few days ago because it sounded like an SDL bug and he confirmed to me that recent changes to GCController did break rumble support. However, he said that rumble never started for him, so I'm not really sure what's going on there. |
@endrift Interesting. Does SDL 3.0 indeed fix this? Is it stable enough to switch to, for the dev channel? |
I have no idea, but I don't intend to switch to SDL3 until a stable version is released. |
macOS recently added support for Xbox controllers to GCController. Wired Xbox controllers currently do not rumble using this support as far as I can tell. If rumble never stops using any controller mode, this sounds like a bug in SDL. The SDL controller support is largely the same between SDL2 and SDL3, so I wouldn't expect an upgrade to fix anything, even though the SDL3 API is stable at this point. That said, I haven't seen this issue on any platform. I just got a GameSir Kaleid (not T4, I couldn't find that one), and can run tests using testcontroller from the SDL repo, but since it's a licensed Xbox controller I don't expect it to behave differently from a Microsoft controller. @i-am-linja, the most helpful thing to do would be to download the SDL preview release and build that, and see if you get the same behavior with testcontroller:
Then pull the trigger to generate rumble |
@slouken Now this is interesting. In DualShock 4 mode, rumble ramps up smoothly and stops immediately on release; in Switch Pro mode, it starts when I hit the right trigger, then stops when I hit the left trigger. This is utterly bizarre. |
Do you have any separate controllers you can test this with? Or only the one with multiple modes? |
@endrift Only the one, I'm afraid. I bought this one specifically so I'd only need one. |
With mGBA 0.10.3
at 1c61b54
in macOS 15.1.1
on Apple M3
using GameSir T4 Kaleid
to play Mario & Luigi: Superstar Saga
or Super Mario Advance 4: Super Mario Bros. 3,
any instance of rumble causes it to start rumbling, and never stop. It's not until I close the game that it finally stops. I have reproduced this at multiple points in both games, and with multiple controller input modes on the hardware side.
The text was updated successfully, but these errors were encountered: