I'm struggling with this as well. For my case, I just want to directly launch native Linux games - no ROMs, no emulators, no wrappers of any sort, just run a game directly. It's remarkable how difficult it is to do that with Kodi.
I actually had this working a couple Kodi versions ago, but trying to set it up again now I'm failing. Based on the documentation (
https://github.com/chrisism/plugin.progr.../Launchers), it looks like the Default plugins is needed, so I have that plus the AKL module and library installed. Here's my process, and where it's currently failing.
1. Add a Source. Select Folder Scanner, Unknown platform (Linux or something would be nice, but that's not an option), select dummy asset directory (dummy as in I don't expect it to be used since I'm not scraping a ROM library), then select a directory containing the game executables. Select 'sh' as the extension filter. Save and done. When browsing this source, I see the one sh file that I have setup in that directory.
2. Add a Launcher. Select Application launcher, name Linux Launcher, and set Directly execute the file itself. No arguments since (as far as I'm aware) none should be needed for direct execution.
3. Now, associate the launcher to with the source. Edit the Linux Games source, select Add new launcher, Linux Launcher, Yes to set it as default. I'm then asked whether I want to "overwrite collection metadata properties with values from the launcher"? I don't think I do, but if I select No, nothing happens. The launcher is
not added, despite the logs showing this:
Code:
2024-06-29 20:31:57.209 T:19541 info <general>: [plugin.program.akl] resources.lib.repositories: SourcesRepository.update_source(): Updating source 'Linux Games'
2024-06-29 20:31:57.210 T:19541 info <general>: [plugin.program.akl] resources.lib.commands.rom_launcher_commands: Added launcher#400f1ff72955b6cf20ff463a0390f3a9 to Source 06d913a39d50a5e6d092b73104f3071c
I can repeat that ad nauseam and nothing ever changes. If I try to launch my game, though, I get "No launcher configured for ROM".
So I try adding the launcher again, and this time answer Yes to the overwrite collection metadata properties question. This time it fails with an error:
Code:
2024-06-29 20:35:15.115 T:19541 info <general>: [plugin.program.akl] resources.lib.services: {"source_id":"06d913a39d50a5e6d092b73104f3071c"}
2024-06-29 20:35:25.495 T:19541 error <general>: [plugin.program.akl] resources.lib.repositories: type: <class 'KeyError'> value: 'romcollection'
2024-06-29 20:35:25.496 T:19541 critical <general>: [plugin.program.akl] resources.lib.commands.mediator: Failure processing command "ADD_SOURCE_LAUNCHER"
Traceback (most recent call last):
File "/home/media/.kodi/addons/plugin.program.akl/resources/lib/commands/mediator.py", line 34, in sync_cmd
return a_command(args)
^^^^^^^^^^^^^^^
File "/home/media/.kodi/addons/plugin.program.akl/resources/lib/commands/rom_launcher_commands.py", line 281, in cmd_add_source_launchers
source.import_data_dic(launcher.get_settings()['romcollection'])
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'romcollection'
It appears to be complaining about a romcollection although I'm editing a source. So maybe a bug? But honestly, I'm not sure I'm doing this correctly.
@
chrisism - if you're around, any pointers for what I'm doing wrong?