desmume icon indicating copy to clipboard operation
desmume copied to clipboard

[LINUX/GTK3] Whitescreen freeze when pressing square on ds4

Open Connor-Kolan opened this issue 1 year ago • 9 comments

State your operating system:

Linux CLI and gtk3

DesMuME version

0.9.13

Issue

I play with a ds4 controller and have used steam and AntiMicroX to remap its controls to the keyboard, the bug occurs on both. I bound the square button to the "J"-Key on my keyboard which I then bound to the "Y" Key in desmume. After loading a rom and pressing the square button, desmume seems to pause/freeze by switching to a white screeen and playing the same audio frame all the time. I can then press the square button again and it returns to normal. This only happens when I press press square on the controller. If I press the "J"-Key it works just fine.

Connor-Kolan avatar Sep 22 '24 09:09 Connor-Kolan

Check if square button is bound to anything in the emulator settings, maybe something else triggers beside Y. Also please attach here your AntiMicroX configuration (amgp file).

thesourcehim avatar Sep 25 '24 10:09 thesourcehim

The button is not bound to anything else. What I have noticed is, that the error seems to only occur when using the controller in wired mode, when using bluetooth the bug does not occur. I wont let me upload the file with the original file ending so I renamed it to txt but this is the AntiMicroX config t.gamecontroller.txt

Connor-Kolan avatar Sep 25 '24 16:09 Connor-Kolan

I've tried it again and it seems to only happen when I start desmume for the second time after connecting my controller. If I reconnect my controller it works again.

Connor-Kolan avatar Oct 06 '24 21:10 Connor-Kolan

@Connor-Kolan I just came back from a buisness trip, I'll test with DualSense (I don't have DS4) as soon as I can.

thesourcehim avatar Oct 07 '24 06:10 thesourcehim

I tried to reproduce but no luck so far. Please attach a file named "config" (not config.cfg) from ~/.config/desmume

thesourcehim avatar Oct 08 '24 07:10 thesourcehim

Steps to recreate:

  1. Connect controller
  2. start desmume
  3. boot rom
  4. press square
  5. white screen

Steps to fix:

  1. disconnect controller while desmume is running
  2. reconnect controller

My config file: (again it wont let me upload it without renaming it to txt) config.txt

Connor-Kolan avatar Oct 08 '24 11:10 Connor-Kolan

I'll test tomorrow but I can say that reconnecting controller while desmume is running changes things because gtk frontend does not support gamepad hotplugging. So after you reconnect controller desmume only gets keyboard input from antimicrox, before reconnecting it gets both J and square

thesourcehim avatar Oct 08 '24 17:10 thesourcehim

Got it. In my case it's triangle but all the same. Reason: your config does not contain any bindings for gamepad so desmume uses some default bindings and it happens to be that square is bound to Lid close thus the white screen. Workaround for now is to bind gamepad buttons properly (Edit joystick controls in the main menu), I think I'll change default bindings to unbound for every button that is not in config file.

thesourcehim avatar Oct 09 '24 07:10 thesourcehim

@Connor-Kolan please test PR #845

thesourcehim avatar Oct 10 '24 08:10 thesourcehim