Open schmurtzm opened 1 year ago
Does this also fix that shutdown button is ignored as well during arcade games ?
Does this also fix that shutdown button is ignored as well during arcade games ?
it should yes ;)
I love the OP's idea and description for a solution here. Great out of the box thinking :)
I've noticed that some arcade games still don't exit when 'Menu' button is pressed. Has anyone else observed this, or is it possible I've mucked up my settings? Happy to provide specific problem games if that helps :)
https://github.com/libretro/RetroArch/pull/16854 should fix this
It's not possible to exit arcade games by simply pressing menu button.
Few time ago I've made this video : https://www.youtube.com/watch?v=Ode06KGi3QQ to explain to users the specialties of this platform. You can see it the first time you run an arcade game in Onion (it's also available in the video player).
The problem comes from Retroarch : it doesn't react as it should to the linux "kill" (sigterm) command. Normally the kill command should exit Retroarch properly but for many arcade games it just not work : Retroarch is not exited.
So I have created some issues to Retroarch repo : For Retroarch : https://github.com/libretro/RetroArch/issues/15717 And this one for Mame2003+ : https://github.com/libretro/mame2003-plus-libretro/issues/1623
The interesting fact is that configuring a hotkey to exit Retroarch works properly.... So the workaround is to drive Retroarch from the Network command line API : this QUIT command exits arcade properly and it makes the save state. So we have a workaround 🎉
Many other network commands are not documented and it will be interesting to investigate on the possibilities that it gives.
Example to drive retroarch from windows :
sfk199.exe udpsend 192.168.0.203 55355 QUIT
(You'll find sfk199 here).It will require some little modifications in Onion to implement this : We justs need to have
HAVE_COMMAND = 1
in our RA build andnetwork_cmd_enable = "true"
in the retroarch.cfg and then we need to update keymon to manage this new API instead of kill/sigterm.