Created
April 18, 2026 02:22
-
-
Save Veticia/f56d97434a381e7f8fbd3084e128fea1 to your computer and use it in GitHub Desktop.
RetroArch core updater for Steam on Linux (Dolphin, PCSX2, Azahar)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # update_cores.sh — RetroArch nightly core updater for Steam (Linux) | |
| # | |
| # Updates the following libretro cores from buildbot.libretro.com nightly builds: | |
| # - Dolphin (GameCube / Wii) | |
| # - PCSX2 (PlayStation 2) | |
| # - Azahar (Nintendo 3DS) | |
| # | |
| # Also downloads matching .info files and required system files. | |
| # | |
| # Usage: | |
| # chmod +x update_cores.sh | |
| # ./update_cores.sh | |
| # | |
| # Requirements: | |
| # - RetroArch installed via Steam (default path assumed) | |
| # - wget, unzip | |
| # | |
| # Notes: | |
| # - PS2 BIOS not included — place manually in: ~/.steam/steam/steamapps/common/RetroArch/system/pcsx2/bios/ | |
| # - 3DS BIOS/keys optional — place in: ~/.steam/steam/steamapps/common/RetroArch/system/ | |
| set -e | |
| RA="$HOME/.steam/steam/steamapps/common/RetroArch" | |
| BUILDBOT="https://buildbot.libretro.com/nightly/linux/x86_64/latest" | |
| ASSETS="https://buildbot.libretro.com/assets" | |
| TMP=$(mktemp -d) | |
| trap 'rm -rf "$TMP"' EXIT | |
| CORES=( | |
| dolphin_libretro.so.zip | |
| pcsx2_libretro.so.zip | |
| azahar_libretro.so.zip | |
| ) | |
| echo "==> Downloading cores..." | |
| for core in "${CORES[@]}"; do | |
| echo " $core" | |
| wget -q --show-progress -P "$TMP" "$BUILDBOT/$core" | |
| unzip -oq "$TMP/$core" -d "$RA/cores/" | |
| done | |
| echo "==> Downloading info files..." | |
| wget -q --show-progress -O "$TMP/info.zip" "$ASSETS/frontend/info.zip" | |
| unzip -oq "$TMP/info.zip" dolphin_libretro.info -d "$RA/cores/" | |
| unzip -oq "$TMP/info.zip" pcsx2_libretro.info -d "$RA/cores/" | |
| unzip -oq "$TMP/info.zip" azahar_libretro.info -d "$RA/cores/" | |
| echo "==> Downloading system files..." | |
| mkdir -p "$RA/system/dolphin-emu" | |
| wget -q --show-progress -O "$TMP/Dolphin.zip" "$ASSETS/system/Dolphin.zip" | |
| unzip -oq "$TMP/Dolphin.zip" -d "$RA/system/dolphin-emu/" | |
| wget -q --show-progress -O "$TMP/LRPS2.zip" "$ASSETS/system/LRPS2.zip" | |
| unzip -oq "$TMP/LRPS2.zip" -d "$RA/system/" | |
| echo "==> Done." | |
| echo " PS2 BIOS → $RA/system/pcsx2/bios/" | |
| echo " 3DS BIOS → $RA/system/ (optional)" |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
spent way too long trying to get standalone RetroArch running through Steam while keeping cloud saves. tried basically everything:
ended up just going back to stock Steam RetroArch and manually dropping the missing cores from buildbot.libretro.com into cores/. took 5 minutes. hence this script.