Describe the bug
The Higan, melonDS, Redream, or TIC-80 runners fail silently with no popups and a "urllib.error.HTTPError: HTTP Error 404: Not Found" error. These four appear to use https://lutris.net/api/runners/ instead of https://lutris.net/runners, where they are not present. Additionally, lutris' list of libretro cores does not agree with the list on https://lutris.net/runners: TIC-80 and Redream are the only ones on both lists, with higan only showing up in lutris and melonDS only appearing on the website.
Expected behavior
All runners available in lutris should be installable.
Current behavior
Four runners are not able to be installed.
Steps to reproduce
Lutris debugging output
INFO 2019-10-06 10:32:16,039 [application.do_command_line:225]:Running Lutris 0.5.3
INFO 2019-10-06 10:32:16,039 [startup.check_driver:54]:Using NVIDIA drivers 435.24.02 for x86_64
INFO 2019-10-06 10:32:16,039 [startup.check_driver:58]:GPU: GeForce GTX 960
INFO 2019-10-06 10:32:16,039 [startup.check_driver:75]:GPU: 8086:0402 1043:8534 using i915 drivers
INFO 2019-10-06 10:32:16,223 [startup.check_vulkan:129]:Vulkan is supported
INFO 2019-10-06 10:32:16,225 [dxvk.get_dxvk_versions:21]:Updating DXVK versions
INFO 2019-10-06 10:32:16,622 [dxvk.get_dxvk_versions:21]:Updating D9VK versions
DEBUG 2019-10-06 10:32:16,791 [http.get:65]:GET https://lutris.net/api/runtime
INFO 2019-10-06 10:32:16,798 [lutriswindow.toggle_connection:580]:Connected to lutris.net as CartoonFan
DEBUG 2019-10-06 10:32:16,802 [http.get:65]:GET https://lutris.net/api/games/library/CartoonFan
DEBUG 2019-10-06 10:32:16,818 [store.get_missing_media:194]:Requesting missing icons from API for 113 games
DEBUG 2019-10-06 10:32:16,818 [http.get:65]:GET https://lutris.net/api/games
DEBUG 2019-10-06 10:32:18,256 [api.get_game_api_page:132]:Loaded 113 games from page 1
(lutris:28787): Gtk-CRITICAL **: 10:32:25.090: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.095: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.098: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.100: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.103: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.106: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.109: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.112: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.115: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.118: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.120: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.124: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.126: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.129: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.132: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.134: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.137: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.139: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.142: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.145: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.147: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.151: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.153: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.156: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.159: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.161: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.164: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.167: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.170: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.172: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.175: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.178: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.182: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.185: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.187: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.189: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.191: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.205: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.216: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
(lutris:28787): Gtk-CRITICAL **: 10:32:25.432: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
DEBUG 2019-10-06 10:32:30,495 [runner.install:325]:Installing higan (version=None, downloader=<function simple_downloader at 0x7f287800b290>, callback=None)
INFO 2019-10-06 10:32:30,495 [runner.get_runner_version:287]:Getting runner information for higan
DEBUG 2019-10-06 10:32:30,496 [http.get:65]:GET https://lutris.net/api/runners/higan
Traceback (most recent call last):
File "/usr/lib/python3.7/site-packages/lutris/util/http.py", line 71, in get
request = urllib.request.urlopen(req, timeout=self.timeout)
File "/usr/lib/python3.7/urllib/request.py", line 222, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.7/urllib/request.py", line 531, in open
response = meth(req, response)
File "/usr/lib/python3.7/urllib/request.py", line 641, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python3.7/urllib/request.py", line 569, in error
return self._call_chain(*args)
File "/usr/lib/python3.7/urllib/request.py", line 503, in _call_chain
result = func(*args)
File "/usr/lib/python3.7/urllib/request.py", line 649, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.7/site-packages/lutris/gui/dialogs/runners.py", line 134, in on_install_clicked
runner.install(downloader=simple_downloader)
File "/usr/lib/python3.7/site-packages/lutris/runners/runner.py", line 327, in install
runner = self.get_runner_version(version)
File "/usr/lib/python3.7/site-packages/lutris/runners/runner.py", line 289, in get_runner_version
runner_info = self.get_runner_info()
File "/usr/lib/python3.7/site-packages/lutris/runners/runner.py", line 281, in get_runner_info
return request.get().json
File "/usr/lib/python3.7/site-packages/lutris/util/http.py", line 76, in get
raise HTTPError("Request to %s failed: %s" % (self.url, error))
lutris.util.http.HTTPError: Request to https://lutris.net/api/runners/higan failed: HTTP Error 404: Not Found
DEBUG 2019-10-06 10:32:37,862 [runner.install:325]:Installing melonds (version=None, downloader=<function simple_downloader at 0x7f287800b290>, callback=None)
INFO 2019-10-06 10:32:37,863 [runner.get_runner_version:287]:Getting runner information for melonds
DEBUG 2019-10-06 10:32:37,863 [http.get:65]:GET https://lutris.net/api/runners/melonds
Traceback (most recent call last):
File "/usr/lib/python3.7/site-packages/lutris/util/http.py", line 71, in get
request = urllib.request.urlopen(req, timeout=self.timeout)
File "/usr/lib/python3.7/urllib/request.py", line 222, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.7/urllib/request.py", line 531, in open
response = meth(req, response)
File "/usr/lib/python3.7/urllib/request.py", line 641, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python3.7/urllib/request.py", line 569, in error
return self._call_chain(*args)
File "/usr/lib/python3.7/urllib/request.py", line 503, in _call_chain
result = func(*args)
File "/usr/lib/python3.7/urllib/request.py", line 649, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.7/site-packages/lutris/gui/dialogs/runners.py", line 134, in on_install_clicked
runner.install(downloader=simple_downloader)
File "/usr/lib/python3.7/site-packages/lutris/runners/runner.py", line 327, in install
runner = self.get_runner_version(version)
File "/usr/lib/python3.7/site-packages/lutris/runners/runner.py", line 289, in get_runner_version
runner_info = self.get_runner_info()
File "/usr/lib/python3.7/site-packages/lutris/runners/runner.py", line 281, in get_runner_info
return request.get().json
File "/usr/lib/python3.7/site-packages/lutris/util/http.py", line 76, in get
raise HTTPError("Request to %s failed: %s" % (self.url, error))
lutris.util.http.HTTPError: Request to https://lutris.net/api/runners/melonds failed: HTTP Error 404: Not Found
DEBUG 2019-10-06 10:32:49,077 [runner.install:325]:Installing redream (version=None, downloader=<function simple_downloader at 0x7f287800b290>, callback=<function redream.install.<locals>.on_runner_installed at 0x7f2871c6ac20>)
INFO 2019-10-06 10:32:49,078 [runner.get_runner_version:287]:Getting runner information for redream
DEBUG 2019-10-06 10:32:49,078 [http.get:65]:GET https://lutris.net/api/runners/redream
Traceback (most recent call last):
File "/usr/lib/python3.7/site-packages/lutris/util/http.py", line 71, in get
request = urllib.request.urlopen(req, timeout=self.timeout)
File "/usr/lib/python3.7/urllib/request.py", line 222, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.7/urllib/request.py", line 531, in open
response = meth(req, response)
File "/usr/lib/python3.7/urllib/request.py", line 641, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python3.7/urllib/request.py", line 569, in error
return self._call_chain(*args)
File "/usr/lib/python3.7/urllib/request.py", line 503, in _call_chain
result = func(*args)
File "/usr/lib/python3.7/urllib/request.py", line 649, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.7/site-packages/lutris/gui/dialogs/runners.py", line 134, in on_install_clicked
runner.install(downloader=simple_downloader)
File "/usr/lib/python3.7/site-packages/lutris/runners/redream.py", line 114, in install
version=version, downloader=downloader, callback=on_runner_installed
File "/usr/lib/python3.7/site-packages/lutris/runners/runner.py", line 327, in install
runner = self.get_runner_version(version)
File "/usr/lib/python3.7/site-packages/lutris/runners/runner.py", line 289, in get_runner_version
runner_info = self.get_runner_info()
File "/usr/lib/python3.7/site-packages/lutris/runners/runner.py", line 281, in get_runner_info
return request.get().json
File "/usr/lib/python3.7/site-packages/lutris/util/http.py", line 76, in get
raise HTTPError("Request to %s failed: %s" % (self.url, error))
lutris.util.http.HTTPError: Request to https://lutris.net/api/runners/redream failed: HTTP Error 404: Not Found
DEBUG 2019-10-06 10:32:58,772 [runner.install:325]:Installing tic80 (version=None, downloader=<function simple_downloader at 0x7f287800b290>, callback=None)
INFO 2019-10-06 10:32:58,773 [runner.get_runner_version:287]:Getting runner information for tic80
DEBUG 2019-10-06 10:32:58,774 [http.get:65]:GET https://lutris.net/api/runners/tic80
Traceback (most recent call last):
File "/usr/lib/python3.7/site-packages/lutris/util/http.py", line 71, in get
request = urllib.request.urlopen(req, timeout=self.timeout)
File "/usr/lib/python3.7/urllib/request.py", line 222, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.7/urllib/request.py", line 531, in open
response = meth(req, response)
File "/usr/lib/python3.7/urllib/request.py", line 641, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python3.7/urllib/request.py", line 569, in error
return self._call_chain(*args)
File "/usr/lib/python3.7/urllib/request.py", line 503, in _call_chain
result = func(*args)
File "/usr/lib/python3.7/urllib/request.py", line 649, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.7/site-packages/lutris/gui/dialogs/runners.py", line 134, in on_install_clicked
runner.install(downloader=simple_downloader)
File "/usr/lib/python3.7/site-packages/lutris/runners/runner.py", line 327, in install
runner = self.get_runner_version(version)
File "/usr/lib/python3.7/site-packages/lutris/runners/runner.py", line 289, in get_runner_version
runner_info = self.get_runner_info()
File "/usr/lib/python3.7/site-packages/lutris/runners/runner.py", line 281, in get_runner_info
return request.get().json
File "/usr/lib/python3.7/site-packages/lutris/util/http.py", line 76, in get
raise HTTPError("Request to %s failed: %s" % (self.url, error))
lutris.util.http.HTTPError: Request to https://lutris.net/api/runners/tic80 failed: HTTP Error 404: Not Found
DEBUG 2019-10-06 10:33:55,048 [application.launch:339]:Launching Terranigma (libretro) (139811331590496)
DEBUG 2019-10-06 10:33:57,509 [runner.install:325]:Installing libretro (version=higan_sfc, downloader=<function simple_downloader at 0x7f287800b290>, callback=None)
INFO 2019-10-06 10:33:57,510 [runner.get_runner_version:287]:Getting runner information for libretro(version: higan_sfc)
DEBUG 2019-10-06 10:33:57,511 [http.get:65]:GET https://lutris.net/api/runners/libretro
System information
lutris-issue-report_2019_10_06.json.zip
Screenshots





Hi, Higan is no longer in the runner list so I think is not supported by lutris anymore, all three other runner are in the Libretro runner. I don't know why they are only available here. I will ask in the Lutris discord if there is a specific reason for that and in this case just delete the standalone runners.
All right, sounds good.
Looking at the Libretro runner source it looks like the functionality provided by Higan is already there. Making Higan redundant. Unless I'm completely missing something. :P
I can submit a PR to clean up the Higan, melonDS, Redream, and TIC-80 runners when I get home from work.
Bug confirmed.
This issue can be used to close #2356
Most helpful comment
Hi, Higan is no longer in the runner list so I think is not supported by lutris anymore, all three other runner are in the Libretro runner. I don't know why they are only available here. I will ask in the Lutris discord if there is a specific reason for that and in this case just delete the standalone runners.