wolf: document the ES-DE/RetroArch-in-Steam workflow in the generated README
The steam-setup-frontends command and the ES-DE/RetroArch AppImage download step had no matching section in the ~/docker/wolf/README.md content this file generates, unlike every other manage.sh command. Adds one, alongside the existing Cemu-in-Steam section: why you'd want it, how the mounts/cores are already shared, and the two honest caveats (returning to Steam from ES-DE only works via this path, and whether controller mappings sync across separately-paired Wolf clients is expected but unconfirmed). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015Z4nqULUEipWNgBsPoSuAb
This commit is contained in:
@@ -5176,6 +5176,69 @@ container-created virtual controllers specifically (real hardware behaves
|
||||
this way; whether Steam Input sees Wolf's virtual joypads the same way is
|
||||
still to be tested) — worth trying before assuming it works.
|
||||
|
||||
## Running ES-DE and/or RetroArch through Steam instead of their own Wolf apps
|
||||
The same Steam Input reasoning above applies beyond just Cemu: ES-DE and
|
||||
RetroArch both ship their own official standalone Linux AppImages
|
||||
(separate from the \`esde\`/\`retroarch\` Wolf catalog apps this installer
|
||||
already runs), and adding one of those to Steam gets you the same
|
||||
per-device controller assignment for every system it covers, not just
|
||||
Cemu. \`sudo ./setup.sh wolf\` offers to download both (opt-in, default
|
||||
no) right after the Cemu step — ES-DE's from its GitLab releases (it
|
||||
isn't on GitHub), RetroArch's from \`hizzlekizzle/RetroArch-AppImage\` (a
|
||||
well-regarded third-party nightly build — libretro.org's own buildbot
|
||||
doesn't publish through an API this installer can automate against).
|
||||
Both land in \`emulators/\` under a fixed name (\`ES-DE.AppImage\` /
|
||||
\`RetroArch.AppImage\`) regardless of the real release asset's own
|
||||
filename, so Steam's non-Steam-game matching finds them reliably.
|
||||
|
||||
They reuse the exact same \`roms/\`, \`saves/\`, \`bios/\`, \`retro-home\`, and
|
||||
\`retroarch\` (cores/shaders/overlays) directories the \`esde\`/\`retroarch\`
|
||||
containers already use — the \`steam\` Wolf app mounts all of the same
|
||||
paths, so nothing needs re-downloading or re-scraping just because it's
|
||||
now also reachable from Steam. If you haven't already populated cores:
|
||||
\`\`\`bash
|
||||
cd $WOLF_DIR && ./manage.sh cores all
|
||||
\`\`\`
|
||||
|
||||
Finishing the Steam side needs one thing that can't be scripted — Steam
|
||||
Guard's QR-code sign-in requires a phone approving a prompt — so this
|
||||
polls for it instead of trying to script past it:
|
||||
\`\`\`bash
|
||||
cd $WOLF_DIR && ./manage.sh steam-setup-frontends
|
||||
\`\`\`
|
||||
Starts Wolf if it isn't already up, checks whether Steam's already
|
||||
signed in (proceeds immediately if so), otherwise prints the QR-code
|
||||
steps and waits (up to 10 minutes) for sign-in to complete, then adds
|
||||
whichever of ES-DE.AppImage/RetroArch.AppImage was downloaded as a Steam
|
||||
non-Steam game — re-using \`steam-add-nonsteam-game\` above rather than
|
||||
duplicating its shortcuts.vdf-writing logic. Safe to re-run any time
|
||||
(e.g. if it timed out waiting, or you downloaded the second AppImage
|
||||
later) — already-added shortcuts are updated in place, not duplicated.
|
||||
|
||||
**Returning to Steam from ES-DE, without a second instance:** if ES-DE
|
||||
is running as a Steam non-Steam game (via the AppImage above, not the
|
||||
separate \`esde\` Wolf app), Steam is the parent process the whole
|
||||
time — quitting ES-DE drops you back into the same still-running Steam
|
||||
Big Picture session rather than starting a new one. This only works for
|
||||
the AppImage-in-Steam path; the standalone \`esde\` Wolf app is a
|
||||
completely separate container, and Wolf has no supported way to hand off
|
||||
from one running app to another mid-session (switching apps means
|
||||
closing the Moonlight session and reconnecting to the other one).
|
||||
|
||||
**Multiple devices, same Steam account, same controller mappings?**
|
||||
Worth knowing before relying on it: Wolf gives each *paired client* its
|
||||
own separate Steam container/home directory (confirmed against this
|
||||
repo's own \`_steam_home()\` — it searches across multiple
|
||||
\`.../Steam\` directories, not just one), so a second device connecting
|
||||
to Wolf doesn't reuse the first device's Steam install and has to sign
|
||||
in separately the first time. Once it's signed into the *same* Steam
|
||||
account, Valve's own account-level Steam Cloud config sync should
|
||||
replicate your Steam Input controller bindings across those separate
|
||||
local installs (the same mechanism that syncs bindings between a Steam
|
||||
Deck and a gaming PC) — but that's a Steam-account feature, not
|
||||
something Wolf or this installer controls, and hasn't been confirmed
|
||||
live in this specific setup.
|
||||
|
||||
## Multiple controllers (same game/emulator can't tell them apart)
|
||||
**Symptom:** two or more controllers connected through the same Moonlight
|
||||
session, but the game/emulator only ever sees one — the first controller
|
||||
|
||||
Reference in New Issue
Block a user