complexlogic / flex-launcher

A customizable HTPC application launcher for Windows and Linux
https://complexlogic.github.io/flex-launcher/
The Unlicense
216 stars 13 forks source link

Lose XBox wireless adapter connection when exiting from application back to Flex Launcher #43

Closed SmedleyB closed 1 year ago

SmedleyB commented 1 year ago

I'm using Flex Launcher to switch between different retro arcade/mame builds. If I launch a build and am away from the computer for a bit, the Xbox controller will go to sleep. When I come back, the controller reconnects fine to the wireless adapter, but as soon as I exit the app and go back into Flex Launcher, the connection is lost and the only way to get it back is to unplug and plug back in the adapter.

complexlogic commented 1 year ago

Which OS are you using, and which model of Xbox controller?

SmedleyB commented 1 year ago

Windows 10 w/ latest updates, and both Xbox One S & Xbox Series X with the latest firmware.

complexlogic commented 1 year ago

I'll need a debug log to try to diagnose this. Run the launcher using flex-launcher.exe -d. Reproduce the issue, then quit the program. That will create a log file flex-launcher.log in the same directory as the executable. Upload it directly or via a pastebin site.

One other question: is this exclusively a program with Flex Launcher? For example, in your other application, does it detect the controller after you've reconnected it?

SmedleyB commented 1 year ago

flex-launcher.log

Hi, thanks for checking this out - log is attached. And yes, the controller is detected by the other app after awakening, It only loses connection when I exit that app and go back into Flex Launcher menu.

In the log I am starting Flex Launcher with the controller disconnected and then turning it on so it then connects wirelessly. I launch the app, use the app a bit, then walk away from the machine and eventually the controller sleeps and you can see in the log that gamepad is disconnected. Then I come back, wake up the controller, you see gamepad connected again, I use the app a bit and then exit out of the app at which time you see gamepad disconnected before I hit escape to exit out of Flex Launcher.

SmedleyB commented 1 year ago

Actually, I don't even need to start an app. I've found like I can launch FL, connect the XBOX controller, then turn the controller off, then power it on and try to reconnect again and it doesn't connect. And I still can't connect even if I unplug and plug back in the wireless usb adapter.

complexlogic commented 1 year ago

Thanks for the log. That is helpful for debugging.

When you say the controller doesn't connect, are you referring to the actual wireless connection with the adapter? If so, it sounds like the cause might be libsdl-org/SDL#3468. Users of other SDL-based programs have reported bugs with similar symptoms as yours, like here for example. The good news is that there is a fix is available for that SDL bug.

SmedleyB commented 1 year ago

Yes, I was referring to the wireless connection. The gamepad does shutoff after trying to reconnect again, just like in the links you shared.

complexlogic commented 1 year ago

OK. Download this development build, which was built against the latest stable version of SDL which has the fix for that bug incorporated. Extract flex-launcher.exe and put it into your setup and let me know if it fixes your issue.

SmedleyB commented 1 year ago

Works great now! Thanks very much for responding to this so quickly. I use this app as a front end on a dedicated retro arcade PC and I think it's great to easily switch between different builds.

complexlogic commented 1 year ago

Glad it hear its working now.

I'm going to try to do another release soon. It's been a while since the last one. You can continue using that development build until then.