Kodi Community Forum

Full Version: Compatibility between Retroarch binary cores and Retroplayer?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I tried to change the stock pcsx-rearmed core included in the latest Retroplayer build to the more updated .dll in the libretro buidbot. I've changed the name of the core in addon.xml accordingly (from game.libretro.pcsx-rearmed.dll to pcsx_rearmed_libretro.dll, but I think that changing directly the name of the file instead should lead to same results). But kodi gave me an error:

12:32:32.353 T:2624   DEBUG: SECTION:LoadDLL(C:\KodiLast\addons\game.libretro\game.libretro.dll)
12:32:32.356 T:2624   ERROR: AddOnLog: Sony - PlayStation (PCSX ReARMed): Unable to load: "C:\KodiLast\addons\game.libretro.pcsx-rearmed\pcsx_rearmed_libretro.dll":
12:32:32.356 T:2624   ERROR: AddOnLog: Sony - PlayStation (PCSX ReARMed): Failed to load C:\KodiLast\addons\game.libretro.pcsx-rearmed\pcsx_rearmed_libretro.dll
12:32:32.356 T:2624   ERROR: ADDON: Dll Sony - PlayStation (PCSX ReARMed) - Client returned bad status (5) from Create and is not usable
you can't simply switch them
Thank you for your answer, but can you be more specific? I've managed to run the mame and p-uae cores in Retroplayer using dlls from retroarch, so I'm wondering if there are compatibilities issues that prevent some binary cores to run and not others.
It actually should work if you just switch them. We compile our cores against the same API. The error message isn't descriptive enough - I would need to know which functions are failing to load from the dll. Any chance you could catch the error in a debugger?
(2018-08-27, 06:31)garbear Wrote: [ -> ]It actually should work if you just switch them. We compile our cores against the same API. The error message isn't descriptive enough - I would need to know which functions are failing to load from the dll. Any chance you could catch the error in a debugger?
Sorry, I don't know how to do that. But it should be easy enough for you to reproduce the problem: just download the core from the libretro buildbot repository (https://buildbot.libretro.com/nightly/wi...64/latest/)  and test it within retroplayer. I should add that I've tried in the past to do the same thing with other cores: some worked (mame, p-uae) and others gave me the same error (genplus and vice, if I recall correctly).
I've tried this method with MAME and OSX, and I think I'm missing something.

Here's how I tried to get it to work:
- Cloned the folder from the git repository here
- Downloaded the latest MAME binary from here, renamed it to game.libretro.mame.dylib
- Updated the addon.xml file and replaced the applicable [email protected]@="@[email protected]" stuff to match, so the addon.xml looks like:

<?xml version="1.0" encoding="UTF-8"?>
<addon id="game.libretro.mame"
        name="Arcade (MAME)"
        version="0.200.0"
        provider-name="Libretro">
    <requires>
        <import addon="game.libretro" version="1.0.0"/>
        <import addon="game.controller.default" version="1.0.0"/>
        <import addon="game.controller.keyboard" version="1.0.0"/>
        <import addon="game.controller.mouse" version="1.0.0"/>
    </requires>
    <extension point="kodi.gameclient"
            library_osx="game.libretro.mame.dylib">
...

- Put my newly minted game.libretro.mame folder in the addons folder
- Start Kodi, the log shows

NOTICE: ADDON: game.libretro.mame v0.200.0 installed

But when i browse the installed addons, it's not showing up.  Is there another step missing here?
If this method eventually works, it seems like it would potentially be a good addon to create / update game.libretro addons & binaries
(2018-08-28, 19:09)zachmorris Wrote: [ -> ]If this method eventually works, it seems like it would potentially be a good addon to create / update game.libretro addons & binaries
Exactly. Retroarch regularly updates his cores, and there are many cores that could be ported to Retroplayer without too much effort. Also, it would help if Retroplayer used the same libraries names as Retroarch, so you don't need to change them (or edit addon.xml).
Update: with the same method, I've successfully managed to port the MESS2014 core to Retroplayer. Now I can play some "obscure" (as zachmorris would say Big Grin ) systems within Kodi!
If you want any cores included in the Retroplayer repository, you should run through this guide. It seems like you've done most of it already.
Yes, I want kodi-game repositories for all these cores. I will help anyone who adds more cores. I can upload .zips of MAME cores that can be sideloaded directly in Kodi's add-on manager. I can even include MAME in test builds, but each core adds an hour to the already-two-hour build process.

When we do the v18 release it'll hopefully be possible to download cores within Kodi from a binary add-on repo. We can host as many versions of MAME as our hearts desire.