Suggestions for restoring cores on non-rooted devices

Hi!

The circumstance that there is no separate repository for stable cores means that users with non-rooted Android devices have no chance to roll back to a working version if they updated to a broken core until it has been fixed. I would like to suggest two solutions and hear your opinions.

1) The cores need to be accessible in a location where RetroArch is able to execute binaries. That’s why RetroArch always resets the libretro_directory to it’s default which is /data/data/com.retroarch/cores. But what if the user could change this to whatever readable and writable location he wants and whenever RetroArch tries to start a core it copies the appropriate core to maybe /data/data/com.retroarch/cores/current_core.so and executes this one? In this case the user can always backup and restore a working core version.

If you don’t like such an Android-only workaround what do you think about this:

2) When updating cores they are downloaded to the core_assets_directory (which is /sdcard/Download by default), extracted and stored in /data/data/com.retroarch/cores. If a user would like to restore a previously download core from the build bot website he just needs to place the zip file into this location. Now when he triggers the core update the updater notices that there already is a file with the name he was instructed to update. So the updater skips to download anything but continues the process with the existing zip file.

I did get around th issue by creating a local webserver and pointed RetroArch online update url to my laptop.

It was a right faff getting it all setup. Some of The reasons why this has not been sorted are the normal lack of time/help which is a fair reason and it will only help a few people so therefore low priority. Also I remember reading a conversation that reasoned libretro devs struggle with people not testing cores so it works in their favour. Which I’m sort sure is correct. As a non-root android user I avoid updating cores unless unavoidable because rolling back is pita. It would be great to see a decent solution in the future

The custom webserver solution is already on my list for testing. But yes, it’s not the easiest way for everyone.

If you just have save files, state states, or screenshots you want to move to SD card (to move elsewhere…i.e., an Everdrive) I found a workaround. Install ES Pro, make it your default file manager. Then, download the plainly named File Manager. Browse to your file and attempt to move it. ES Pro will ask if you want to move the file for you (since it’s default). Viola, problem solved. Was able to finally move my Phantasy Star II (grind fest :/) file this way.