libretro/docs

https://docs.libretro.com/guides/download-cores/: Add a section how to manually download cores

davidhedlund opened this issue · 9 comments

Describe the bug
https://docs.libretro.com/guides/download-cores/ doesn't have a section how to manually download, extract, and move a core to the core directory.

Example for GNU/Linux Appimage:

  • Download http://buildbot.libretro.com/nightly/linux/x86_64/latest/bsnes_hd_beta_libretro.so.zip
  • Extracted bsnes_hd_beta_libretro.so.zip
  • Moved bsnes_hd_beta_libretro.so to ~/Downloads//RetroArch-Linux-x86_64/RetroArch-Linux-x86_64.AppImage.home/.config/retroarch/cores/
  • ./RetroArch-Linux-x86_64.AppImage -L RetroArch-Linux-x86_64.AppImage.home/.config/retroarch/cores/bsnes_hd_beta_libretro.so "~/Downloads/Legend of Zelda, The - A Link to the Past (USA).sfc"

Expected behavior/changes
It would be useful, it was added.

Additional context
Add any other context about the problem here.

We likely don't want to encourage people doing this, as it can easily become a support nightmare. People will download the wrong architecture. It's best to use the Online Updater directly in the application itself.

We likely don't want to encourage people doing this, as it can easily become a support nightmare. People will download the wrong architecture. It's best to use the Online Updater directly in the application itself.

Perhaps we can add a http://buildbot.libretro.com/nightly/ link in RetroArch to the correct architecture? For example http://buildbot.libretro.com/nightly/linux/x86_64/latest/ to RetroArch GNU/Linux Appimage.

The Online Updater is not used to intall cores in GNU/Linux. Instead core packages are provided. However, the problem is that some distros offer extremely few cores, which renders them useless for gaming with RetroArch, unless you download the cores manually.

For example, Trisquel GNU/Linux cores from apt search libretro (11 cores):

libretro-beetle-pce-fast/aramo 0.9.38.7+git20160609-2build1 amd64
  Libretro wrapper for the Beetle PCE FAST core

libretro-beetle-psx/aramo,now 0.9.38.6+git20151019-3build1 amd64 [installed]
  Libretro wrapper for the Beetle PSX core

libretro-beetle-vb/aramo 0.9.36.1+git20160623-2build1 amd64
  Libretro wrapper for the Beetle VB core

libretro-beetle-wswan/aramo 0.9.35.1+git20160623-2build1 amd64
  Libretro wrapper for the Beetle WSWAN core

libretro-bsnes-mercury-accuracy/aramo,now 094+git20160126-3build1 amd64 [installed]
  Libretro wrapper for bsnes-mercury accuracy core

libretro-bsnes-mercury-balanced/aramo 094+git20160126-3build1 amd64
  Libretro wrapper for bsnes-mercury balanced core

libretro-bsnes-mercury-performance/aramo 094+git20160126-3build1 amd64
  Libretro wrapper for bsnes-mercury performance core

libretro-desmume/aramo 0.9.11+git20160819+dfsg1-2build1 amd64
  Libretro wrapper for DeSmuME

libretro-gambatte/aramo 0.5.0+git20160522+dfsg1-2.1 amd64
  Libretro wrapper for Gambatte

libretro-mgba/aramo 0.9.3+dfsg-1 amd64
  Libretro wrapper for mGBA

libretro-mupen64plus/aramo 2.0+git20160207+dfsg2-1build1 amd64
  Libretro wrapper for Mupen64Plus

the problem is that some distros offer extremely few cores, which renders them useless for gaming with RetroArch, unless you download the cores manually.

Work with the distro maintainers to add more packages. Compilation is very dependent on the infrastructure of the machine. The buildbot often cannot be relied upon to build things correctly. It does pretty well! But it's much better for the distro to provide the cores... Like Steam, for example...

The apt ones are known to be old. Would love people to help out in maintaining them and add more support. I've been trying to add cores directly to the Flatpak package lately.

Given that, I'm still very much against pointing people to the nightlies from buildbot. Those more than often break and don't even work.

the problem is that some distros offer extremely few cores, which renders them useless for gaming with RetroArch, unless you download the cores manually.

Work with the distro maintainers to add more packages. Compilation is very dependent on the infrastructure of the machine. The buildbot often cannot be relied upon to build things correctly. It does pretty well! But it's much better for the distro to provide the cores... Like Steam, for example...

The apt ones are known to be old. Would love people to help out in maintaining them and add more support. I've been trying to add cores directly to the Flatpak package lately.

Given that, I'm still very much against pointing people to the nightlies from buildbot. Those more than often break and don't even work.

I understand. I cannot use save states, or rewind with these core while I'm playing games:

  • ./RetroArch-Linux-x86_64.AppImage -L bsnes_hd_beta_libretro.so anygame.sfc
    ** Save state: "Core does not support save states."
    ** Rewind: "Rewind unavailable because this core lacks serialized save state support."
  • ./RetroArch-Linux-x86_64.AppImage -L mednafen_psx_hw_libretro.so anygame.cue
    ** Save state: "Core does not support save states."
    ** Rewind: "Rewind unavailable because this core lacks serialized save state support."

If it matters, it didn't help to copy the info files to:

  • The core info file directory
  • To the content directory of loaded game
  • To the same directory as the .so file was loaded from

Check your verbose logs to see if there's any errors. Rewind can be really buggy with rewind, can be resource intensive, or not even be supported, especially for systems like ps1.

Also, try compiling from source. AppImage could be funky. https://docs.libretro.com/development/retroarch/compilation/linux-and-bsd/

Your info files need to go into your core info directory, the location of which you can find in settings > directory. On linux, that has the same default location as the core directory.

The whole "core does not support savestates/rewind/runahead/netplay" thing is powered by the info files, so if you're having trouble detecting those files, you're going to consistently get those messages unless you go to settings > core and set 'bypass core info save states features' to ON.

Check your verbose logs to see if there's any errors. Rewind can be really buggy with rewind, can be resource intensive, or not even be supported, especially for systems like ps1.

Oh, ok. Sound like my issue is caused by limited RetroArch core feature support, and not by the cores that I'm trying to load.