ES-DE (macOS) fails to launch RetroArch cores except for Same CDI
Hi! I'm really excited to help port RetroBat to macOS so thank you for having a macOS ES-DE build available to facilitate this effort!
I don't have any issues launching standalone emulators and having a lot of trouble getting RetroArch to launch cores.
Unexpected Behavior
launch title driven by a RetroArch core, ES-DE generates correct command line but RetroArch never launches (except one core (out of 46!) launches: Same CDI dated January 4, 2024, more on this below)
Expected Behavior
launch title driven by a RetroArch core and it launches game.
What I've done to troubleshoot
- made sure standalone emulators launch
- reproduce behavior with 44 other cores
- read the special notes on macOS and made RetroArch fullscreen and disabled "Closing windows when quitting application"
- turned on debug mode - here is the output of a title that fails:
Aug 01 17:18:10 Debug: Window::logInput(Keyboard): Key Left Command, isMappedTo=value=1
Aug 01 17:18:12 Debug: Window::logInput(Keyboard): Key Left Command, isMappedTo=value=0
Aug 01 17:22:18 Debug: Window::logInput(Keyboard): Key Left Command, isMappedTo=value=1
Aug 01 17:22:19 Debug: Window::logInput(Keyboard): Key Left Command, isMappedTo=value=0
Aug 01 17:24:25 Debug: Window::logInput(Xbox One S Controller): Button 1, isMappedTo=b, value=1
Aug 01 17:24:26 Debug: Window::logInput(Xbox One S Controller): Button 1, isMappedTo=b, value=0
Aug 01 17:24:27 Debug: Window::logInput(Xbox One S Controller): Axis 0-, isMappedTo=leftthumbstickleft, value=-1
Aug 01 17:24:29 Debug: Window::logInput(Xbox One S Controller): Axis 0 , isMappedTo=leftthumbstickleft, leftthumbstickright, value=0
Aug 01 17:24:29 Debug: Window::logInput(Xbox One S Controller): Axis 0-, isMappedTo=leftthumbstickleft, value=-1
Aug 01 17:24:29 Debug: Window::logInput(Xbox One S Controller): Axis 0 , isMappedTo=leftthumbstickleft, leftthumbstickright, value=0
Aug 01 17:24:29 Debug: Window::logInput(Xbox One S Controller): Axis 0-, isMappedTo=leftthumbstickleft, value=-1
Aug 01 17:24:29 Debug: Window::logInput(Xbox One S Controller): Axis 0 , isMappedTo=leftthumbstickleft, leftthumbstickright, value=0
Aug 01 17:24:29 Debug: Window::logInput(Xbox One S Controller): Axis 0-, isMappedTo=leftthumbstickleft, value=-1
Aug 01 17:24:29 Debug: Window::logInput(Xbox One S Controller): Axis 0 , isMappedTo=leftthumbstickleft, leftthumbstickright, value=0
Aug 01 17:24:29 Debug: Window::logInput(Xbox One S Controller): Axis 0-, isMappedTo=leftthumbstickleft, value=-1
Aug 01 17:24:29 Debug: Window::logInput(Xbox One S Controller): Axis 0 , isMappedTo=leftthumbstickleft, leftthumbstickright, value=0
Aug 01 17:24:29 Debug: Window::logInput(Xbox One S Controller): Axis 0-, isMappedTo=leftthumbstickleft, value=-1
Aug 01 17:24:30 Debug: Window::logInput(Xbox One S Controller): Axis 0 , isMappedTo=leftthumbstickleft, leftthumbstickright, value=0
Aug 01 17:24:30 Debug: Window::logInput(Xbox One S Controller): Axis 0-, isMappedTo=leftthumbstickleft, value=-1
Aug 01 17:24:30 Debug: Window::logInput(Xbox One S Controller): Axis 0 , isMappedTo=leftthumbstickleft, leftthumbstickright, value=0
Aug 01 17:24:30 Debug: Window::logInput(Xbox One S Controller): Axis 0-, isMappedTo=leftthumbstickleft, value=-1
Aug 01 17:24:31 Debug: Window::logInput(Xbox One S Controller): Axis 0 , isMappedTo=leftthumbstickleft, leftthumbstickright, value=0
Aug 01 17:24:31 Debug: Window::logInput(Xbox One S Controller): Button 0, isMappedTo=a, value=1
Aug 01 17:24:31 Debug: Window::logInput(Xbox One S Controller): Button 0, isMappedTo=a, value=0
Aug 01 17:24:32 Debug: Window::logInput(Xbox One S Controller): Axis 1-, isMappedTo=leftthumbstickup, value=-1
Aug 01 17:24:32 Debug: Window::logInput(Xbox One S Controller): Axis 1 , isMappedTo=leftthumbstickdown, leftthumbstickup, value=0
Aug 01 17:24:32 Debug: Window::logInput(Xbox One S Controller): Button 0, isMappedTo=a, value=1
Aug 01 17:24:35 Info: Launching game "Castlevania (USA) (Rev A)" from system "Nintendo Entertainment System (nes)"...
Aug 01 17:24:35 Debug: FileData::launchGame(): Using alternative emulator "FCEUmm" as configured for system "nes"
Aug 01 17:24:35 Debug: FileData::findEmulator(): Emulator found via staticpath rule
Aug 01 17:24:35 Debug: FileData::launchGame(): Emulator set to "/Applications/RetroArch.app/Contents/MacOS/RetroArch"
Aug 01 17:24:36 Debug: Raw emulator launch command:
Aug 01 17:24:36 Debug: %EMULATOR_RETROARCH% -L %CORE_RETROARCH%/fceumm_libretro.dylib %ROM%
Aug 01 17:24:36 Info: Expanded emulator launch command:
Aug 01 17:24:36 Info: /Applications/RetroArch.app/Contents/MacOS/RetroArch -L /Volumes/SHARE/system/configs/retroarch/cores/fceumm_libretro.dylib /Volumes/SHARE/roms/nes/Castlevania\ \(USA\)\ \(Rev\ A\).zip
Aug 01 17:24:36 Debug: Platform::launchGameUnix():
Aug 01 17:24:36 Debug: Output from launched game:
2024-08-01 17:24:36.212 RetroArch[1448:48606] WARNING: Secure coding is not enabled for restorable state! Enable secure coding by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState: and returning YES.
Aug 01 17:24:36 Warn: Found a gamelist.xml file in "/Volumes/SHARE/roms/nes/" which will not get loaded, move it to "/Users/squatter/ES-DE/gamelists/nes/" or otherwise delete it
Aug 01 17:24:36 Warn: Found a gamelist.xml file in "/Volumes/SHARE/roms/nes/" which will not get loaded, move it to "/Users/squatter/ES-DE/gamelists/nes/" or otherwise delete it
Aug 01 17:24:36 Debug: GamelistFileParser::updateGamelist(): Added/updated 1 entity in "/Users/squatter/ES-DE/gamelists/nes/gamelist.xml"
Aug 01 17:24:38 Debug: Window::logInput(Keyboard): Key Left Command, isMappedTo=value=1
Aug 01 17:24:40 Debug: Window::logInput(Keyboard): Key Left Command, isMappedTo=value=0
- cut and pasted the above generated command line in Terminal.app and RetroArch opens and Castlevania launches
/Applications/RetroArch.app/Contents/MacOS/RetroArch -L /Volumes/SHARE/system/configs/retroarch/cores/fceumm_libretro.dylib /Volumes/SHARE/roms/nes/Castlevania\ \(USA\)\ \(Rev\ A\).zip
NOTE: the reverse is true for the Same CDI core - it works if launched inside ES-DE but not on the command line!
/Applications/RetroArch.app/Contents/MacOS/RetroArch -L /Volumes/SHARE/system/configs/retroarch/cores/same_cdi_libretro.dylib /Volumes/SHARE/roms/cdi/Hotel\ Mario\ \(USA\).chd
- looked for what is different about
same_cdi_libretro.dylib
- turns out of all the cores that were updated by the Online Updater, this core is the only one that hasn't been updated since January 4, 2024 (this core got migrated from my previous MacBook - all other cores were updated July 31, 2024 or today)
I'm not sure what to do from here and could kindly use your assistance troubleshooting further!
System Configuration
- 2020 M1 MacBookPro 16GB 1TB (only 48 hours since last system reset so not too much time to make a mess!
😄 - macOS Ventura (14.5)
I've attached the peculiar Same CDI core that launches in ES-DE (but not outside!) in case you know how to inspect it and figure out why it is the only core that works inside ES-DE: