Found "fix" libarch installer (N64 games)

I’m an absolute newbie here so i don’t know if it is actually a fix for everyone, course this might be just my pc or me being dumb, but oh well. So i tryed to install some N64 games but an error kept coming up. on lutris gui error accured when i tryed to install “nintendo 64” looked some like this: https://imgur.com/a/yEunc06
and soon i found out you can debug lutris by using lutris -d command ( what a nice discovery ) and did a same thing as i did without debug. i get this:

DEBUG 2020-07-01 21:43:14,202 [http.get:65]:GET https://lutris.net/api/games
DEBUG 2020-07-01 21:43:14,354 [api.get_game_api_page:132]:Loaded 2 games from page 1
DEBUG 2020-07-01 21:43:45,936 [interpreter.fetch_script:51]:Fetching installer https://lutris.net/api/installers/the-legend-of-zelda-ocarina-of-time
DEBUG 2020-07-01 21:43:45,936 [http.get:65]:GET https://lutris.net/api/installers/the-legend-of-zelda-ocarina-of-time
DEBUG 2020-07-01 21:43:54,908 [interpreter.check_runner_install:478]:Required runners: [<lutris.runners.libretro.libretro object at 0x7fbae9afcdf0>]
INFO 2020-07-01 21:43:54,911 [interpreter.check_runner_install:508]:Runner %s needs to be installed
DEBUG 2020-07-01 21:43:54,911 [interpreter.install_runner:524]:Installing libretro
DEBUG 2020-07-01 21:43:54,913 [runner.install:327]:Installing libretro (version=mupen64plus_next, downloader=<bound method InstallerWindow.start_download of <installerwindow.InstallerWindow object at 0x7fbae8127580 (lutris+gui+installerwindow+InstallerWindow at 0x55824711ab50)>>, callback=<bound method ScriptInterpreter.install_runners of <lutris.installer.interpreter.ScriptInterpreter object at 0x7fbae9afcbe0>>)
INFO 2020-07-01 21:43:54,913 [runner.get_runner_version:290]:Getting runner information for libretro (version: mupen64plus_next)
DEBUG 2020-07-01 21:43:54,913 [http.get:65]:GET https://lutris.net/api/runners/libretro
ERROR 2020-07-01 21:43:55,088 [interpreter.install_runner:532]:Failed to retrieve libretro (mupen64plus_next) information
ERROR 2020-07-01 21:43:55,088 [errors.init:15]:Failed to retrieve libretro (mupen64plus_next) information
None

so basically the same thing. so long story short the fix is to get rid of mupen64plus_next and replace it by mupen64plus which accually works in installer script. so insted of having this:

{"count":1,"next":null,"previous":null,"results":[{"id":null,"game_slug":"the-legend-of-zelda-ocarina-of-time","name":"The Legend of Zelda: Ocarina of Time","year":1998,"user":null,"runner":"libretro","slug":"the-legend-of-zelda-ocarina-of-n64","version":"Nintendo 64","description":"","notes":"","created_at":null,"updated_at":null,"draft":false,"published":true,"published_by":null,"rating":null,"steamid":null,"gogid":null,"gogslug":"","humbleid":"","humblestoreid":"","humblestoreid_real":"","script":{"game":{"core":"mupen64plus_next","main_file":"rom"},"installer":[{"merge":{"src":"rom","dst":"$GAMEDIR"}}],"version":"n64","files":[{"rom":"N/A:Select the game's ROM file"}]},"content":"{\"game\": {\"core\": \"mupen64plus_next\", \"main_file\": \"rom\"}, \"installer\": [{\"merge\": {\"src\": \"rom\", \"dst\": \"$GAMEDIR\"}}], \"version\": \"n64\", \"runner\": \"libretro\", \"files\": [{\"rom\": \"N/A:Select the game's ROM file\"}]}"}]}

why not have that:

{"count":1,"next":null,"previous":null,"results":[{"id":null,"game_slug":"the-legend-of-zelda-ocarina-of-time","name":"The Legend of Zelda: Ocarina of Time","year":1998,"user":null,"runner":"libretro","slug":"the-legend-of-zelda-ocarina-of-n64","version":"Nintendo 64","description":"","notes":"","created_at":null,"updated_at":null,"draft":false,"published":true,"published_by":null,"rating":null,"steamid":null,"gogid":null,"gogslug":"","humbleid":"","humblestoreid":"","humblestoreid_real":"","script":{"game":{"core":"mupen64plus","main_file":"rom"},"installer":[{"merge":{"src":"rom","dst":"$GAMEDIR"}}],"version":"n64","files":[{"rom":"N/A:Select the game's ROM file"}]},"content":"{\"game\": {\"core\": \"mupen64plus\", \"main_file\": \"rom\"}, \"installer\": [{\"merge\": {\"src\": \"rom\", \"dst\": \"$GAMEDIR\"}}], \"version\": \"n64\", \"runner\": \"libretro\", \"files\": [{\"rom\": \"N/A:Select the game's ROM file\"}]}"}]}

and then run lutris -i “insteller-script”. i dunno i hope it helped someone :slight_smile:

btw im aware that you dont need install scripts to install a simple game on lutris, but i like it 100 times more when everything is automated.
P.S. if devs are somehow reading this. much luv <3

1 Like

Well done on the way you are approaching problems! Good chance that others run into these issues as well so its always a good thing to report these findings.

I find that in the Linux world there is no such thing as being dumb there is only analysis and discovery…

1 Like

bruh i just made command to correct ALL of n64 installation scripts and install everything automatically if someone needs this all you need to do is to download installation script form the lutris website:

find 'your-directory-to-.json-installation-script' -maxdepth 1 -iname '*json' -exec sed -i 's/mupen64plus_next/mupen64plus/g' {} \; -exec lutris -i {} \;

2 Likes

I think this is the only solution in existence. Thanks!