wolf: symlink downloaded Dolphin AppImage to the name ES-DE actually looks for
ES-DE's es_find_rules.xml DOLPHIN entry only auto-detects a file literally named Dolphin_Emulator*.AppImage under ~/Applications. pkgforge-dev's own community-build release asset isn't named that, so the AppImage downloaded by install_wolf() sat in emulators/ unnoticed and ES-DE reported "Couldn't launch game, emulator not found" (%EMULATOR_DOLPHIN% unresolved) even though the file was right there — confirmed live on a real box. Drop a same-directory Dolphin_Emulator.AppImage symlink pointing at whatever the real download is named, without renaming/losing the vendor filename. Runs unconditionally (not just after a fresh download) so it also repairs installs that grabbed the file before this fix existed.
This commit is contained in:
+28
-2
@@ -277,7 +277,8 @@ EOF
|
|||||||
echo " - Start Wolf and inject Steam + EmulationStation app profiles"
|
echo " - Start Wolf and inject Steam + EmulationStation app profiles"
|
||||||
echo " - Create bios/ + retroarch/{cores,shaders,overlays}/ on the game drive and pre-download RetroArch cores (~1.5 GB)"
|
echo " - Create bios/ + retroarch/{cores,shaders,overlays}/ on the game drive and pre-download RetroArch cores (~1.5 GB)"
|
||||||
echo " - Offer to auto-download standalone emulator AppImages into emulators/:"
|
echo " - Offer to auto-download standalone emulator AppImages into emulators/:"
|
||||||
echo " Azahar (3DS), PCSX2 (PS2), Dolphin (GameCube/Wii — unofficial community build)"
|
echo " Azahar (3DS), PCSX2 (PS2), Dolphin (GameCube/Wii — unofficial community build,"
|
||||||
|
echo " symlinked to Dolphin_Emulator.AppImage so ES-DE's own find-rules can see it)"
|
||||||
echo " - Offer to set up AntiMicroX (universal controller-combo hotkey, experimental —"
|
echo " - Offer to set up AntiMicroX (universal controller-combo hotkey, experimental —"
|
||||||
echo " downloads it and wires a Sway launch hook; the button mapping itself is"
|
echo " downloads it and wires a Sway launch hook; the button mapping itself is"
|
||||||
echo " built later through AntiMicroX's own GUI)"
|
echo " built later through AntiMicroX's own GUI)"
|
||||||
@@ -847,6 +848,24 @@ UDEV
|
|||||||
_wolf_download_emulator_appimage \
|
_wolf_download_emulator_appimage \
|
||||||
"Dolphin (GameCube/Wii, community AppImage build)" "pkgforge-dev/Dolphin-emu-AppImage" "*[Dd]olphin*.AppImage" "$_EMU_DIR"
|
"Dolphin (GameCube/Wii, community AppImage build)" "pkgforge-dev/Dolphin-emu-AppImage" "*[Dd]olphin*.AppImage" "$_EMU_DIR"
|
||||||
|
|
||||||
|
# ES-DE's own find-rules (es_find_rules.xml, DOLPHIN entry's <staticpath>)
|
||||||
|
# only match a file literally named Dolphin_Emulator*.AppImage under
|
||||||
|
# ~/Applications — confirmed live: ES-DE reported "Couldn't launch game,
|
||||||
|
# emulator not found" / unresolved %EMULATOR_DOLPHIN% even with the
|
||||||
|
# AppImage sitting right there in emulators/, because pkgforge-dev's own
|
||||||
|
# release asset isn't named that. Point ES-DE at it with a same-directory
|
||||||
|
# symlink under the exact name it looks for, without renaming/losing the
|
||||||
|
# real vendor filename. Re-run unconditionally (not just right after a
|
||||||
|
# fresh download) so this also repairs an existing install that grabbed
|
||||||
|
# the file before this fix existed.
|
||||||
|
local _DOLPHIN_REAL
|
||||||
|
_DOLPHIN_REAL=$(ls "$_EMU_DIR"/*[Dd]olphin*.AppImage 2>/dev/null | grep -vi '/Dolphin_Emulator.*\.AppImage$' | head -1)
|
||||||
|
if [[ -n "$_DOLPHIN_REAL" ]]; then
|
||||||
|
ln -sf "$(basename "$_DOLPHIN_REAL")" "$_EMU_DIR/Dolphin_Emulator.AppImage"
|
||||||
|
chown -h "$ACTUAL_USER:$ACTUAL_USER" "$_EMU_DIR/Dolphin_Emulator.AppImage" 2>/dev/null || true
|
||||||
|
log_success "Linked $_EMU_DIR/Dolphin_Emulator.AppImage -> $(basename "$_DOLPHIN_REAL") (the filename ES-DE's own find-rules require)"
|
||||||
|
fi
|
||||||
|
|
||||||
# ── Optional: AntiMicroX for a universal controller-combo hotkey ─────────
|
# ── Optional: AntiMicroX for a universal controller-combo hotkey ─────────
|
||||||
# RetroArch's own hotkeys (Settings -> Input -> Input Hotkey Binds) are
|
# RetroArch's own hotkeys (Settings -> Input -> Input Hotkey Binds) are
|
||||||
# global across every libretro core, but Dolphin/PCSX2/Azahar each run as
|
# global across every libretro core, but Dolphin/PCSX2/Azahar each run as
|
||||||
@@ -3233,7 +3252,14 @@ them off to standalone AppImages instead:
|
|||||||
AppImage (dolphin-emu.org's own Linux distribution is Flatpak-only); this
|
AppImage (dolphin-emu.org's own Linux distribution is Flatpak-only); this
|
||||||
uses a well-regarded but **third-party** community AppImage build
|
uses a well-regarded but **third-party** community AppImage build
|
||||||
(pkgforge-dev) instead. Skip it and install Dolphin's own Flatpak by hand
|
(pkgforge-dev) instead. Skip it and install Dolphin's own Flatpak by hand
|
||||||
if you'd rather not run an unofficial build.
|
if you'd rather not run an unofficial build. ES-DE only auto-detects a
|
||||||
|
file literally named \`Dolphin_Emulator*.AppImage\` — since pkgforge-dev's
|
||||||
|
own release asset isn't named that, this installer also drops a
|
||||||
|
\`Dolphin_Emulator.AppImage\` symlink next to the real download pointing at
|
||||||
|
it, so ES-DE actually finds it. If you ever grab a different Dolphin
|
||||||
|
AppImage by hand instead, re-point (or recreate) that symlink at it, or
|
||||||
|
ES-DE will report "emulator not found" even with the file sitting right
|
||||||
|
there.
|
||||||
|
|
||||||
All three live in \`emulators/\` → mounted at \`/mnt/games/emulators\` and
|
All three live in \`emulators/\` → mounted at \`/mnt/games/emulators\` and
|
||||||
\`~/Applications\` (where ES-DE's app finder looks). Point ES-DE's
|
\`~/Applications\` (where ES-DE's app finder looks). Point ES-DE's
|
||||||
|
|||||||
Reference in New Issue
Block a user