feat: Enhance game station setup and configuration

- Updated README with detailed instructions for creating a dedicated Ansible user on Linux, including SSH key setup and passwordless sudo.
- Added userConfigurations.json for Steam ROM Manager with configurations for various gaming consoles.
- Introduced scripts for managing Gamescope and Steam sessions, including launch scripts for various emulators (Genesis, PSP, RPCS3, SNES).
- Created systemd service for Gamescope session management.
- Developed Ansible playbook for configuring Fedora for optimized Sunshine and Gamescope streaming, including user setup and system configurations.
- Updated Prometheus configuration to reflect changes in exporter targets.
- Commented out the Devolo exporter module in Terraform configuration for future reference.
This commit is contained in:
2025-10-25 23:54:05 +02:00
parent 161efa5230
commit adc893de6e
18 changed files with 1078 additions and 18 deletions
@@ -0,0 +1,22 @@
#!/usr/bin/env bash
set -euo pipefail
LOGFILE="$HOME/.local/logs/retroarch-genesis.log"
log() { echo "[$(date --iso-8601=seconds)] $*" | tee -a "$LOGFILE"; }
RETROARCH_HOME="$HOME/.local/share/Steam/steamapps/common/RetroArch"
if [ ! -d "$RETROARCH_HOME" ]; then
log "ERROR: RetroArch directory not found at $RETROARCH_HOME, install it via Steam"
exit 127
fi
RETROARCH_BIN="$RETROARCH_HOME/retroarch"
RETROARCH_CORE=genesis_plus_gx_libretro.so
if [ ! -f "$RETROARCH_BIN" ] || [ ! -f "$RETROARCH_HOME/cores/$RETROARCH_CORE" ]; then
log "ERROR: retroarch or core not found, install it via Steam"
exit 127
fi
log "Launching RetroArch: $RETROARCH_BIN -L \"$RETROARCH_HOME/cores/$RETROARCH_CORE\" \"${@}\""
cd "$RETROARCH_HOME"
$HOME/.steam/steam/ubuntu12_32/steam-runtime/run.sh "$RETROARCH_BIN" -L "$RETROARCH_HOME/cores/$RETROARCH_CORE" "${@}" >>"$LOGFILE"
@@ -0,0 +1,20 @@
#!/usr/bin/env bash
set -euo pipefail
LOGFILE="$HOME/.local/logs/retroarch-ppsspp.log"
log() { echo "[$(date --iso-8601=seconds)] $*" | tee -a "$LOGFILE"; }
RETROARCH_HOME="$HOME/.local/share/Steam/steamapps/common/RetroArch"
if [ ! -d "$RETROARCH_HOME" ]; then
log "ERROR: RetroArch directory not found at $RETROARCH_HOME, install it via Steam"
exit 127
fi
RETROARCH_BIN="$RETROARCH_HOME/retroarch"
RETROARCH_CORE=ppsspp_libretro.so
if [ ! -f "$RETROARCH_BIN" ] || [ ! -f "$RETROARCH_HOME/cores/$RETROARCH_CORE" ]; then
log "ERROR: retroarch or core not found, install it via Steam"
exit 127
fi
log "Launching RetroArch: $RETROARCH_BIN -L \"$RETROARCH_HOME/cores/$RETROARCH_CORE\" \"${@}\""
"$RETROARCH_BIN" -L "$RETROARCH_HOME/cores/$RETROARCH_CORE" "${@}" >>"$LOGFILE"
@@ -0,0 +1,15 @@
#!/usr/bin/env bash
set -euo pipefail
LOGFILE="$HOME/.local/logs/rpcs3.log"
log() { echo "[$(date --iso-8601=seconds)] $*" | tee -a "$LOGFILE"; }
RPCS_BIN="$(command -v rpcs3 || true)"
if [ -z "$RPCS_BIN" ]; then
log "ERROR: rpcs3 not found in PATH"
exit 127
fi
log "Launching RPCS3: $RPCS_BIN \"${@}\""
"$RPCS_BIN" --no-gui --fullscreen "${@}" >>"$LOGFILE"
@@ -0,0 +1,21 @@
#!/usr/bin/env bash
set -euo pipefail
LOGFILE="$HOME/.local/logs/retroarch-snes.log"
log() { echo "[$(date --iso-8601=seconds)] $*" | tee -a "$LOGFILE"; }
RETROARCH_HOME="$HOME/.local/share/Steam/steamapps/common/RetroArch"
if [ ! -d "$RETROARCH_HOME" ]; then
log "ERROR: RetroArch directory not found at $RETROARCH_HOME, install it via Steam"
exit 127
fi
RETROARCH_BIN="$RETROARCH_HOME/retroarch"
RETROARCH_CORE=mesen-s_libretro.so.so
if [ ! -f "$RETROARCH_BIN" ] || [ ! -f "$RETROARCH_HOME/cores/$RETROARCH_CORE" ]; then
log "ERROR: retroarch or core not found, install it via Steam"
exit 127
fi
log "Launching RetroArch: $RETROARCH_BIN -L \"$RETROARCH_HOME/cores/$RETROARCH_CORE\" \"${@}\""
cd "$RETROARCH_HOME"
"$RETROARCH_BIN" -L "$RETROARCH_HOME/cores/$RETROARCH_CORE" "${@}" >>"$LOGFILE"