How to play SNES on Kodi 19/20?

On Kodi 18, I played SNES games with Snes9x, after some issues.

After upgrading to Kodi 19, I can’t find Snex9x, or any other SNES emulator.

Home → Settings → Add-on browser → My add-ons → Game add-ons used to have Emulators, now it only has Controller profiles, Standalone games (2048), and Support add-ons (Libretro Compatibility).

Home → Settings → Add-on browser → Install from repository → Game add-ons has Controller profiles and Game providers, but the latter only has Advanced MAME Launcher (which doesn’t play my SNES games).

How can I (re-)install Snex9x? It’s in the official Kodi add-ons.

I have just tested this a little bit, but this should work for you.

Download this zip, https://github.com/zach-morris/kodi_libretro_buildbot_game_addons/raw/main/repository.kodi_libretro_buildbot_game_addons_le_armhf.zip

Install repo from this zip, then install emulator from the new Repo, “Snes9x current” is the SNES one I’ve used, breifly.

Thanks for your help, @joakim_s!

But before I install another repo, I would like to understand:

  1. Snes9x is in the official Kodi Add-on repos. Why is it not in my OSMC repos?

  2. Is there no official way to install Snes9x on OSMC?

  3. I would like to avoid using some random internet repo. Who is this Zach Morris?

  4. Zach Morris describes his repo as “experimental at this point”. Can you vouch that this repo is trustworthy and stable and will remain that way?

  5. (Am I really the first OSMC user who wants to play SNES on Kodi 19?)

Since I’m not privelidged to inside info on Kodi, I can only answer what I remember hearing:

OSMC uses our own mirror of KODI binary-repo, if there were games in the official binary-repo I bet the would have bin in OSMC compiled package. Heard somewhere that the games was split of in their own binary repo (kodi-game), pre or as 19 was released. The repo I pointed to, is the work of Zack Morris, known for IAGL(huge on v.18, downloaded roms on demand from internet archive), but as far as I understood it, is going to be the “De facto gaming/emulator solution” in KODI. Since you got a solution to provide “binary addons” as plug and play as any python based addon.

What I’ve done since v.19 was released is trying out which emus i got compiled on a Vero, and from 130-ish in Kodi-game, I got down to about 85 compiled. After that my focus got put onto other issues, but depending on how Zack’s solution works, I might not have to waste 30+h to compile all binary addons specifically for Vero, each time sam updates Kodi in OSMC.

I’m hoping for this repo to be all i can be, cuz then a huge build burden is off my shoulders.

Thanks again, @joakim_s!

I still don’t fully understand:

  1. Snes9x was in OSMC 18 repos. Why is it not in OSMC 19 repos?

  2. Snes9x is in Kodi 19 repos. Why is it not in OSMC 19 repos?

  3. Is there an official way to install Snes9x (or play SNES games) on OSMC 19?

Okey, most addons in KODI are based on python code. Which often is the same independent of hardware architecture. Then there is the binary addons, like support for different audio formats, image formats etc.

So let’s say, inorder to have support for audio format.flac decode or encode, are both needing processor unique instruction inorder to optimize it enough to do it realtime.

Same goes for the libretto.compabillity addon for Kodi as well as for all the cores(emulators).

This is what I’ve understood happened between 18 and 19, a lot of edge trimming in the KODI-code tree, I mean whole hardware platforms were “let go officially”, and I’m certain I read somewhere that Libretto.compabillity addon was Kodirelated enough, but the libretro-cores are outside of actual Kodi code. There for not in the official binary-repo.

So when Sam cloned the binary-addon-repo from Kodi to Osmc, the was two game related game-addons, the rest had been moved out of official repository. Eg. There is still a working solution, just not part of KODI code tree. Kodi-game is a bin-repo that I have worked some time to get ruining on Vero, but having a 30+h build time every time Kodi updates, is annoying. Since all I’ve managed so far is built 80-ish cores. But just because they build doesn’t mean they work on the Vero fresh out of the compiler, some of them need configurations, bios files and other stuff.

So I would have to test 80 cores, test if they work with a rom file, if not what is in the debug log, can it be fixed, try again. It’s a time consuming workload to get a bunch of working emulators. Tried to enlist the help of a few users here, but the lack of response and the reminder of Zacks build bot repo. Made my work less important, Osmc is a MediaCenter first, emulators are fine, but not a priority on a sbc.

So in short Zack repo is the best choice right now. No compile needed, any depends are fixed right out of the box.

Ps. Plus with Zacks other repo you get help with archives, bios management and IAGL, Which can download roms, metadata like covers and screenshots from archive.org, to play wthose games with the emulator-cores you have installed in KODI via builbot.

Thanks again. I am starting to understand better.

  1. Where do you see libretro/snes9x not being in the official Kodi repo? Both Kodi Website and Kodi Wiki say libretro.snes9x should be installed from the default repos.

  2. Why do you need to build for “80 cores”? As owner of a Vero (“OSMC flagship”), I would be happy with just aarch64/aarch64. :slight_smile:

  3. If Zach Morris’ repo is the recommended way to install kodi-game on OSMC, why not ship this repo with OSMC by default?

  1. As I said, no source, just a vague feeling of reading it. Will have to some serious research if I want to get to clearity here. Which in my mind isn’t really needed since I 've come to terms with the notion that I presented you with. And what is often distributed with KODI isn’t their official mark “default shipping”

  2. Well here is a term from libretro, a core is a binary addon to libretro-base software. Eg. An emulator.

  3. My initial thought, with out checking with Sam, is that emulation is not a core functionality in a MediaCenter optimized operating system. And the build it repo of Zacks gaven been around that long to be obvious(at least not yet).

Hope this clears out most questions, I’ll gladly answer any more questions, or write up a how to for getting SNES going on Vero4J, but it will probably have to wait 24h, hectic schedule tomorrow. And 10.20 pm here now. Good night

Again, thanks for your replies, @joakim_s.

Maybe someone else knows why Snes9x is not in the OSMC 19 repos, even though it was in the OSMC 18 repos and it seems to be in the official Kodi 19 repos? Maybe @sam_nazarko?

Here is the actual github adress of snes9x:

Here is the OFFICIAL Kodi-repos:

So even if Kodi19 supports game.libretro.cores, the only thing remotely kodi in that is game.libretro, which is in osmc too.

Kodi sais on their website:

To download this Add-On, we highly recommend you do it via the user interface in Kodi. Simply look for the “Get More” button in the Add-Ons menu.

Kodi sais on their Wiki:

This add-on is installed from the Add-on browser located in Kodi as follows:

  1. Settings
  2. Add-ons
  3. Install from repository
  4. Nintendo - SNES / Famicom (Snes9x)
  5. Install

And:

Repo:
Kodi.tv repo v20
Kodi.tv repo v19
Kodi.tv repo v18

Kodi sais nothing about adding another repo.

We only support the add-ons in the official Kodi repository.
I believe that more game add-ons haven’t been added yet because of the legal implications.

What’s the difference between the “official Kodi repo” and the “kodi.tv repo”?

And what has changed from OCMC 18 to 19?

They are the same.

See GitHub - xbmc/repo-binary-addons at Matrix.

The Kodi binary repository only has three game add-ons.
We also build and include those three game add-ons only.

GitHub - xbmc/repo-binary-addons at Leia has the same three game.* contents (game.libretro, game.libretro.2048, game.libretro.mrboom).

But on Kodi/OSMC 18, I was able to install Snes9x from the default repos, without having to add another repo.

What changed?

Yes, as explained, this changed.

We will look at adding some more binary add-ons in the future.

Sorry, I still don’t understand what changed.

  1. From the Kodi website/Wiki I linked, both Kodi 18 and Kodi 19 claim to have Snes9x without external repos. Is this information false for both Kodi versions?

  2. From the Github repos you linked, both Kodi 18 and 19 do NOT have Snes9x in their “official repository for Kodi binary add-ons”. How was I able to install Snes9x on OSMC 18 without external repos?

Can you let me know which platform you are able to install this add-on from directly on Kodi without having to add an additional repository?

Because otherwise I don’t understand why there are separate repositories.

Because we used to include it in our repository. This is no longer the case, and we only build the add-ons that Team Kodi provide by default. This may be subject to change in future.

Can you let me know which platform you are able to install this add-on from directly on Kodi without having to add an additional repository?

That was on OSMC 18. I am no longer able to do this on OSMC 19. On the same Vero 4K +.

Because we used to include it in our repository. This is no longer the case, and we only build the add-ons that Team Kodi provide by default. This may be subject to change in future.

Ah, now we are getting somewhere! So why did you include it in OSMC 18, but stop including it in OSMC 19?

Because we want to align with what is shipped by Kodi. If it’s not in the default repository, then I’m sure there’s a good reason for that.

So have you actually verified that you can install it on another platform via the default repository or not? Because if you haven’t / can’t, then this isn’t really an issue and we are aligned with the same binary add-ons offered officially by Kodi.