OnionUI / Onion

OS overhaul for Miyoo Mini and Mini+
https://onionui.github.io
GNU General Public License v3.0
3.46k stars 217 forks source link

FIX: Allow arcade/Mame 2003+ to quit with menu button #1162

Open schmurtzm opened 1 year ago

schmurtzm commented 1 year ago

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 and network_cmd_enable = "true" in the retroarch.cfg and then we need to update keymon to manage this new API instead of kill/sigterm.

mmc41 commented 1 year ago

Does this also fix that shutdown button is ignored as well during arcade games ?

schmurtzm commented 1 year ago

Does this also fix that shutdown button is ignored as well during arcade games ?

it should yes ;)

seanstardev commented 9 months ago

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 :)

mahoneyt944 commented 3 months ago

https://github.com/libretro/RetroArch/pull/16854 should fix this