Release Gamestarter: Retrogaming add-ons for LibreELEC (RPi/Generic). - Printable Version +- Kodi Community Forum (https://forum.kodi.tv) +-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33) +--- Forum: Add-on Support (https://forum.kodi.tv/forumdisplay.php?fid=27) +---- Forum: Program Add-ons (https://forum.kodi.tv/forumdisplay.php?fid=151) +---- Thread: Release Gamestarter: Retrogaming add-ons for LibreELEC (RPi/Generic). (/showthread.php?tid=323835) |
RE: Gamestarter: Retrogaming add-ons for LibreELEC (RPi/Generic). - crono141 - 2017-09-01 (2017-09-01, 17:57)Wintermute0110 Wrote: According to the new log, AEL launchs /storage/.kodi/addons/game.retroarch/addon.sh. Right. This is what is happening, but for some reason retroarch doesn't ever launch. Kodi shuts down, black screen for a moment, then kodi comes back. I've even tried with a different console rom and see if its just specific to GBA but the problem persists across all categories, it seems. I'm running LibreELEC 8.0.2. I just reflashed the factory image fresh and did nothing else except set up my network mount and then install Gamestarter, then RetroArch, then PPSSPP, then AEL. I just tried to open the file directly from RetroArch, and I got a "failed to open libretro core". Something is wrong with the Lakka download from the RetroArch settings, I think. After I redownloaded the specifc cores through the retroarch interface, I was then able to load the core, but none of my content for GBA. I checked again using the playstation core, and this time I was able to load a rom from the net share. Just to check, I went back to Kodi and AEL, and was successfully able to launch playstation roms from it. However, I got no sound out in retroarch, either stand alone or through AEL. After a whole bunch of troubleshooting, I've determined that none of the cores as downloaded through the RetroArch addon settings interface work at all, and that specifically gpSP core doesn't work with my content (I ended up using mGBA). There is still no sound out, however. I guess this is the thing that needs troubleshooting next. Also, I need to know how to change the AEL launch command for GBA (and any other platform) in order for it to load the preferred core. Thanks for all the help. EDIT: Also, I have no idea how to invoke the metadata and asset scraper. Documentation seems to indicate that this will happen automatically upon importing of roms, but I have not witnessed that behavior. RE: Gamestarter: Retrogaming add-ons for LibreELEC (RPi/Generic). - bite_your_idols - 2017-09-01 Let's see... After retroarch addon installation you should launch it once. It will setup permissions, move some config files and other settings. Also doing that way you can check if retroarch works and wanted core(s) also work(s). Some cores need bios files, such as gba and psx cores. Maybe there is an issue with lakka downloaded cores, I have merged a PR that I will include in next update when I come back home after holiday. For all these issues we need to take a look to your retroarch.log and retroarch_debug.log filed located in /storage/.kodi/temp In AEL you can edit a launcher with context menu and change launcher params by another core for that launcher. You just need to replace the name using just cone name without "_libretro.so". RE: Gamestarter: Retrogaming add-ons for LibreELEC (RPi/Generic). - crono141 - 2017-09-01 Well, here's the retroarch_debug.log https://pastebin.com/ji32JDcC The retroarch.log isn't going to be much help though. RetroArch [ADDON] :: Fri Sep 1 15:18:26 EDT 2017 ============================================================ RetroArch [ADDON] :: Firts Run! RetroArch [ADDON] :: Kodi is ready. RetroArch [ADDON] :: RPi2.arm-8.0.2 - Fri Sep 1 15:18:30 EDT 2017 RetroArch [ADDON] :: Stop kodi... RetroArch [ADDON] :: Launch Retroarch (Enable debugging and see process output in retroarch_debug.log) RetroArch [ADDON] :: Restart kodi... RetroArch [ADDON] :: RPi2.arm-8.0.2 - Fri Sep 1 15:27:35 EDT 2017 RetroArch [ADDON] :: Stop kodi... RetroArch [ADDON] :: Launch Retroarch (Enable debugging and see process output in retroarch_debug.log) RetroArch [ADDON] :: Launch with direct link: mgba /storage/emulators/roms/Nintendo Game Boy Advance/Roms/Advance Wars (USA) (Rev 1).gba RetroArch [ADDON] :: Restart kodi... Thanks again for the help. RE: Gamestarter: Retrogaming add-ons for LibreELEC (RPi/Generic). - crono141 - 2017-09-02 AEL rom import crashed overnight on the nearly full mame romlist. Got maybe 20% through the list and is now hung with an unresponsive UI. Logged in with terminal and could not stop/start/restart kodi. Had to reboot. Also, after reboot, sound is now working in RetroArch. Weirdest thing. RE: Gamestarter: Retrogaming add-ons for LibreELEC (RPi/Generic). - crono141 - 2017-09-02 So, instead of just being a leech and asking for help, I'm actually working on something that could be useful to both projects. One thing that annoys me is that when you come back from an emulator you load into the default Kodi screen. So I modified the addon.sh file for retroarch as below: #!/bin/sh . /etc/profile DIR="/storage/.kodi/addons/game.retroarch" touch /storage/.kodi/AEL.launch systemd-run $DIR/addon.start "$@" >> /storage/.kodi/temp/retroarch.log So basically we create a file whenever retroarch is invoked. Then I created an autoexec.py script as below: |#!/usr/bin/python |# -*- coding: UTF-8 -*- |import os |import xbmc |if os.path.isfile('/storage/.kodi/AEL.launch'): | print("Loadin AEL Addon") | xbmc.executebuiltin("XMBC.RunPlugin(plugin.program.advanced.emulator.launcher)") |# xbmc.executebuiltin("XBMC.RunAddon(game.retroarch)") | try: | os.remove('/storage/.kodi/AEL.launch') | print("Removed AEL.launch file") | except: | print("Failed to remove AEL.launch") |else: | print("Loading Kodi Main Window") Trouble is, it doesn't work properly. When I uncomment the line with XBMC.RunAddon(game.retroarch), retroarch plugin loads just fine. But I can't get AEL to launch on autostart at all, whether I use RunPlugin or RunAddon. I know my syntax is right since I can invoke other addons. Do any of you folks have an idea of why this isn't working? The only error I get is CPythonInvoker(1): Script invoked without an addon. Adding all addon modules installed to python path as fallback. This behaviour will be removed in future version. But according to my research, this error doesn't really mean anything. EDIT: Ok, I'm making progress. Here's the new script: #!/usr/bin/python # -*- coding: UTF-8 -*- import os import xbmc if os.path.isfile('/storage/.kodi/AEL.launch'): ........xbmc.log(msg="Loadin AEL Addon") ........xbmc.executebuiltin("ActivateWindow(10001, addons://sources/executable/)") ........try: ................os.remove('/storage/.kodi/AEL.launch') ................xbmc.log(msg="Removed AEL.launch file") ........except: ................xbmc.log(msg="Failed to remove AEL.launch") else: ........xbmc.log(msg="Loading Kodi Main Window") ActivateWindow with the addons ulr as a parameter gets me to the program addons list where I can select AEL, but I can't for the life of me figure out what the AEL url address is in order to invoke it specifically. If I can get this figured out, I might be able to get a script together that will actually return the user back to the same emulator/romlist/launcher that they were at when they left. RE: Gamestarter: Retrogaming add-ons for LibreELEC (RPi/Generic). - exxonic - 2017-09-02 with a fresh setup of ael and gamestarter, there are psx roms in the n64 launcher and n64 roms in the psx launcher. i even renamed the n64 folder to nintendo64 and changed it in categories.xml. ael is still mixing the roms. any ideas why this could happen? this is my categories.xml: https://pastebin.com/W6X7fBFU RE: Gamestarter: Retrogaming add-ons for LibreELEC (RPi/Generic). - Wintermute0110 - 2017-09-03 (2017-09-02, 17:54)exxonic Wrote: with a fresh setup of ael and gamestarter, there are psx roms in the n64 launcher and n64 roms in the psx launcher. It is not recommended to edit categories.xml unless you know very well what you are doing. Use AEL context menus or the XML configuration files. Every time you make changes using the context menu, XML config or editing categories.xml you have to rescan the launchers to bring AEL's database up to date (remove dead ROMs, update new ROMs). If for some reason there are alien ROMs in the launcher due to a previous misconfiguration then you will have to "reset" the Launcher: go to launcher context menu, Edit Launcher, Manage ROMs, Clear ROMs from Launcher. If there are alien ROMs in the launcher and the ROM files exists they will not be removed because they are not dead ROMs (dead ROMs means a file that exists in AEL's database but not on the filesystem because you deleted the ROM file). Also, go to the Launcher context menu, "View Launcher", "View Launcher scanner report". There you will see the ROM scanner operation file by file. Do you see strange stuff in there? The ROM scanner reports are saved in PLUGIN_DATA_DIR/reports/<category_name>_<Launcher_namer>_<LauncherID>_report.txt. Please post both launcher reports after a new ROM scan if problem persists so I can have a look to what's going on. RE: Gamestarter: Retrogaming add-ons for LibreELEC (RPi/Generic). - exxonic - 2017-09-03 thank you for your reply, wintermute. i uninstalled both addons and deleted their folders in userdata. now, with a fresh setup without any modifiations. there is 1 z64 file in n64 folder and 1 pbp file in psx folder. when i scan the n64 launcher for new roms it adds the z64 file to the n64 launcher. the psx launcher still shows No ROMs but when i enter it there is the z64 game. i did not let psx launcher scan for roms. but the psx launcher shows the same scanner report as the n64 launcher. there is only one file in reports: _report.txt *** Starting ROM scanner ... *** Launcher name "Nintendo 64" launcher ID "3d6c241ad2e88ae51789a62ad30915f1" ROM path "/storage/emulators/roms/n64/" ROM ext "v64|n64|z64|zip" Platform "Nintendo 64" Loading launcher ROMs ... 0 ROMs currently in database Removing dead ROMs ... Scanning files ... Directory /storage/emulators/roms/n64/ Found 1 files Processing files ... >>> /storage/emulators/roms/n64/Mario Kart 64 (Europe).z64 Expected 'z64' extension detected ROM does not belong to a multidisc set. File not in launcher ROM list. Processing it ... ********** ROM scanner finished ********** Removed dead ROMs 0 Files checked 1 New added ROMs 1 No No-Intro/Redump DAT configured. Do not audit ROMs. *** END of the ROM scanner report *** edit: after scanning the n64 launcher, there are 2 files in db_ROMs: ".json" and ".xml" after scanning the snes launcher, there are 2 more files in db_ROMs: "roms_gamestarter_Super_Nintendo_5fcb14.json" and "roms_gamestarter_Super_Nintendo_5fcb14.xml" i guess the first 2 files are missing some proper filenames .. RE: Gamestarter: Retrogaming add-ons for LibreELEC (RPi/Generic). - Wintermute0110 - 2017-09-03 (2017-09-03, 16:10)exxonic Wrote: thank you for your reply, wintermute. OK, yes definitely having a ".json" and ".xml" file means that there is a bug in the subroutine that generates de database file name. Are you using 0.9.6? I need you to do the following: do the same steps you did in the previous post: first, remove AEL PLUGIN_DATA_DIR. In the same Kodi session, follow the instructions in AEL's first post to generate a debug log (enable AEL debug but not Kodi debug). Configure your launchers, scan for ROMs and make the problem manifest. Then, post the full debug log in pastebin so I can track what AEL is doing all the time to pinpoint where the bug in the database filename originates. RE: Gamestarter: Retrogaming add-ons for LibreELEC (RPi/Generic). - exxonic - 2017-09-03 yes, this is version 0.9.6 https://pastebin.com/nPJt764d RE: Gamestarter: Retrogaming add-ons for LibreELEC (RPi/Generic). - Wintermute0110 - 2017-09-03 @exxonic OK, I found the problem. In your categories.xml both launchers "Nintendo 64" and "Playstation" have <roms_base_noext> is empty. I cannot explain how this happened: if you use AEL's context menus or impor XML files <roms_base_noext> must have a valid and different name for each launcher. How you configure your launchers? Do you use the context menu or import XML files? I don't know if AEL produced the empty <roms_base_noext> due to a bug somewhere or was because you (or bite_your_idols) tampered with categories.xml. To fix your setup as it is know look at the launcher "Sega Megadrive" with <roms_base_noext>roms_gamestarter_Megadrive_Mega_CD_13d456</roms_base_noext>. <roms_base_noext> is made with the category name, the launcher name and the launcher ID fingeprint in such a way that is unique even if you have two launchers with exactly the same name in the same category. In your case any text string with a valid filename (no spaces, no weird characters, no non ascii characters) and unique for each launcher will do the job. RE: Gamestarter: Retrogaming add-ons for LibreELEC (RPi/Generic). - exxonic - 2017-09-03 thanks alot for your help! (2017-09-03, 17:45)Wintermute0110 Wrote: How you configure your launchers? Do you use the context menu or import XML files? I don't know if AEL produced the empty <roms_base_noext> due to a bug somewhere or was because you (or bite_your_idols) tampered with categories.xml. i am not configuring any launchers. i am using those gamestarter provides. i only changed the artwork folders and the default thumb. also: the artworks folder in addon_data is always missing. i need to create it myself. RE: Gamestarter: Retrogaming add-ons for LibreELEC (RPi/Generic). - crono141 - 2017-09-03 Since yesterday, I have been having a problem when scanning new roms. An error message will appear saying that another instance of AEL is already running. The rom scan is still taking place in the background, and its status window reappears after I clear the error message. Weird behavior because I couldn't tell you why it was appearing. But I'm having a bigger problem now. I'm going through the launchers one by one and adding my roms. When I got to Sega Megadrive/Genesis AEL crashes. Relevant error log below. 13:31:41.591 T:1308361632 ERROR: AEL WARN : SingleInstance::__enter__() Lock in use. Aborting AEL execution 13:31:48.111 T:1961709568 ERROR: GetDirectory - Error getting plugin://plugin.program.advanced.emulator.launcher/?catID=2b494a422afb2474f89a7b693328fe92&com=SHOW_LAUNCHERS 13:31:48.112 T:1961709568 ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.program.advanced.emulator.launcher/?catID=2b494a422afb2474f89a7b693328fe92&com=SHOW_LAUNCHERS) failed 13:31:52.198 T:1961709568 NOTICE: Samba is idle. Closing the remaining connections 13:32:32.090 T:1290875808 ERROR: AEL INFO : _roms_import_roms() Starting ROM scanner ... 13:32:32.090 T:1290875808 ERROR: AEL INFO : Launcher name "Megadrive/Mega CD" 13:32:32.090 T:1290875808 ERROR: AEL INFO : launcher ID "13d4566ea34693ad198d66ed0af0c016a" 13:32:32.090 T:1290875808 ERROR: AEL INFO : ROM path "/storage/emulators/roms/Sega Genesis/Roms/" 13:32:32.091 T:1290875808 ERROR: AEL INFO : ROM ext "smd|md|bin|zip" 13:32:32.091 T:1290875808 ERROR: AEL INFO : Platform "Sega MegaDrive/Genesis" 13:32:32.092 T:1290875808 ERROR: AEL INFO : Report file OP "special://profile/addon_data/plugin.program.advanced.emulator.launcher/reports/roms_gamestarter_Megadrive_Mega_CD_13d456_report.txt" 13:32:32.092 T:1290875808 ERROR: AEL INFO : Report file P "/storage/.kodi/userdata/addon_data/plugin.program.advanced.emulator.launcher/reports/roms_gamestarter_Megadrive_Mega_CD_13d456_report.txt" 13:32:32.095 T:1290875808 ERROR: AEL INFO : Launcher ROM database contain 0 items 13:32:32.106 T:1290875808 ERROR: AEL INFO : No duplicated asset dirs found 13:32:32.106 T:1290875808 ERROR: AEL INFO : Removing dead ROMs ... 13:32:32.106 T:1290875808 ERROR: AEL INFO : Launcher is empty. No dead ROM check. 13:32:32.107 T:1290875808 ERROR: AEL INFO : Scanning files in /storage/emulators/roms/Sega Genesis/Roms/ 13:32:32.107 T:1290875808 ERROR: AEL INFO : Recursive scan activated 13:32:32.530 T:1290875808 ERROR: AEL ERROR: SingleInstance::__exit__() Unhandled excepcion in protected code 13:32:32.626 T:1290875808 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<-- - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS! Error Type: <type 'exceptions.UnicodeDecodeError'> Error Contents: 'ascii' codec can't decode byte 0xc3 in position 4: ordinal not in range(128) Traceback (most recent call last): File "/storage/.kodi/addons/plugin.program.advanced.emulator.launcher/addon.py", line 39, in <module> main.Main().run_plugin() File "/storage/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 248, in run_plugin with SingleInstance(): self.run_protected(args) File "/storage/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 333, in run_protected self._command_add_roms(args['launID'][0]) File "/storage/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 2061, in _command_add_roms self._roms_import_roms(launcher) File "/storage/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/main.py", line 7612, in _roms_import_roms files = launcher_path.recursiveScanFilesInPath('*.*') File "/storage/.kodi/addons/plugin.program.advanced.emulator.launcher/resources/utils.py", line 497, in recursiveScanFilesInPath for root, dirs, foundfiles in os.walk(self.path): File "/usr/lib/python2.7/os.py", line 286, in walk File "/usr/lib/python2.7/posixpath.py", line 71, in join UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 4: ordinal not in range(128) -->End of Python script error report<-- EDIT: Just tried deleting and recreating the launcher. Got the same error message in the log using either Megadrive or Genesis platform. RE: Gamestarter: Retrogaming add-ons for LibreELEC (RPi/Generic). - Wintermute0110 - 2017-09-04 (2017-09-03, 19:37)crono141 Wrote: Since yesterday, I have been having a problem when scanning new roms. An error message will appear saying that another instance of AEL is already running. The rom scan is still taking place in the background, and its status window reappears after I clear the error message. Weird behavior because I couldn't tell you why it was appearing. Thant's a known bug in 0.9.6. One or more ROMs in your MegaCD launcher contain non-ASCII characters. Your can wait until 0.9.7 is released or rename your ROMs. RE: Gamestarter: Retrogaming add-ons for LibreELEC (RPi/Generic). - bite_your_idols - 2017-09-04 (2017-09-02, 15:11)crono141 Wrote: So, instead of just being a leech and asking for help, I'm actually working on something that could be useful to both projects. One thing that annoys me is that when you come back from an emulator you load into the default Kodi screen. So I modified the addon.sh file for retroarch as below: it sounds nice!, if you get it working please let us know over here or make a PR. (2017-09-03, 18:49)exxonic Wrote: thanks alot for your help! Yes, categories.xml provided with AEL 0.9.6 from Gamestarter repo is not correct, it has empty <roms_base_noext> in some launchers (MSX, Amiga, PSX and MasterSystem). In AEL 0.9.7 version it will be solved due to new "import config" method we have prepared instead of moving categories.xml file. @Wintermute0110 thanks for your help!!! |