[PR #141] [MERGED] Draft: Add EmulationStation-DE image (based on RetroArch) and several emulators to use with it #186

Closed
opened 2026-10-15 12:49:48 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/games-on-whales/gow/pull/141
Author: @QuaiGoner
Created: 3/17/2023
Status: ✅ Merged
Merged: 6/9/2023
Merged by: @ABeltramo

Base: wolf-changes ← Head: emulationstation


📝 Commits (10+)

📊 Changes

24 files changed (+3190 additions, -7 deletions)

View changed files

📝 .github/workflows/auto-build.yml (+1 -0)
📝 .github/workflows/lint.yml (+10 -6)
➕ compose/apps/emulationstationde.yml (+51 -0)
📝 images/base-app/Dockerfile (+1 -0)
➕ images/es-de/Dockerfile (+91 -0)
➕ images/es-de/config.toml.example (+32 -0)
➕ images/es-de/configs/es/es_settings.xml (+140 -0)
➕ images/es-de/configs/es/es_systems.xml (+13 -0)
➕ images/es-de/configs/es/gamelist.xml (+69 -0)
➕ images/es-de/configs/pcsx2/PCSX2.ini (+537 -0)
➕ images/es-de/configs/retroarch/retroarch.cfg (+15 -0)
➕ images/es-de/configs/rpcs3/CurrentSettings.ini (+69 -0)
➕ images/es-de/configs/rpcs3/Default.yml (+546 -0)
➕ images/es-de/configs/xemu/xemu.toml (+15 -0)
➕ images/es-de/configs/yuzu/qt-config.ini (+1445 -0)
➕ images/es-de/scripts/custom_scripts/Emulators/pcsx2.sh (+8 -0)
➕ images/es-de/scripts/custom_scripts/Emulators/retroarch.sh (+6 -0)
➕ images/es-de/scripts/custom_scripts/Emulators/rpcs3.sh (+7 -0)
➕ images/es-de/scripts/custom_scripts/Emulators/xemu.sh (+8 -0)
➕ images/es-de/scripts/custom_scripts/Emulators/yuzu.sh (+8 -0)

...and 4 more files

📄 Description

Software added in the image:

Emulators added in the image:

  • Retroarch (based on it)
  • pcsx2 via Appimage
  • XEMU via Appimage
  • RPCS3 via Appimage
  • YUZU via Appimage
  • Wine via PPA (with winetricks)
  • Steam

Other additions in the image:

  • Custom configs for Wolf gamepads for various emulators
  • Single BIOS directory for all emulators in /bioses
  • ES media in /Media
  • ROMs in /ROMs
  • Custom platform in EmulationStation with various launch scripts

RetroArch-image based
From my initial testing all seems to be working, but need broader testing
I think this project (ESDE) can be a great base for a broader emulation/retro-gaming image for GOW
ROMs paths follow RetroPie/other ES based project (psx,ps2,ps3,wii, etc...)
kinda supercedes https://github.com/games-on-whales/gow/pull/139

BIOS/Keys:

  • Mount your ROMs folder to /ROMs
  • Mount your BIOSes folder to /bioses with following:
    • RetroArch bioses
    • Xemu BIOS and hdd image
    • PCSX2 BIOS
    • Yuzu keys
    • RPCS3 FW

What to do after first startup:

  • Launch RPCS3 Firmware install script from Custom Scripts (!Install_RPCS3_Firmware) and proceed with installation, close RPCS3
  • Launch RetroArch from Custom Scripts and install cores for your use (NO CORES SHIPPED WITH THE IMAGE)

TODO:

  • Make everything work
    • Launch&Play PCSX2 (qt packages were needed)
    • Launch&Play XEMU (crashes on startup - ALSA related) - was not image related
    • Launch&Play RPCS3 (qt packages and additional vulkan were needed)
    • Launch&Play YUZU (crashes after loading game - YUZU Requires a lot of RAM, 16 GB at least)
    • Fix RPCS3 Sound - was not image related
    • Fix PCSX2 Sound - was not image related
  • Make everything more user-friendly and automatic
    • RPCS3 Firmware install (added custom script for installing since there is no way install it without user interaction)
    • Disable RPCS3 auto-update pop-up and succesfull FW install pop-up
    • Disable YUZU telemetry pop-up in startup script
    • single BIOS/keys location/FW
    • Bind PCSX2 pause menu button in startup script
    • Bind Wolf Gamepads for PCSX2 in startup script
    • Bind Wolf Gamepads for RPCS3 in startup script
    • Rename сustom platform to "Scripts", add Icon
  • Maintance
    • Shrink the image. Image is about 3.6 gigs (Already doing cleanup on every stage)
    • Hard-code resource allocation in config.toml (70% for CPU) - it is very easy with emulation to load your system to 100 percent (see config.toml example)
    • Wait for Wolf release (with base-app image) for migrating to that
    • Migrate to ENVs and relative links in pre-defined configs (for multiple users configurations - not only retro)
      • Move ROMs directory from retro user
      • Move Bioses directory from retro user
      • Move Downloaded Media directory from retro user
      • Move AppImages directory from retro user (for multiple users configurations - not only retro)
      • Verify that saves folders are relative to $HOME
      • Move XEMU hdd location to saves, for consistency and dropping write access for bioses
    • Test First-time startup and write up steps to have fully ready install
    • Fix RPCS3 wrong gamepad allocation (using EVDEV and single controller is binding to number 4)
  • Optional
    • Add Steam with launch script
    • Add Wine
    • Add DXVK
    • Add more emulators (Dolphin, Xenia via Wine?, CEMU via Wine?)
    • single saves location for emulators per user (now everything is basically in $HOME, so for multi-user usage we just can switch $HOME variable for every new user connected to Wolf)
    • testing
      • Clean First Startup
      • Other cases
    • Documentation (if PR got merged)
      • First Startup
      • Troubleshooting
      • Examples

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/games-on-whales/gow/pull/141 **Author:** [@QuaiGoner](https://github.com/QuaiGoner) **Created:** 3/17/2023 **Status:** ✅ Merged **Merged:** 6/9/2023 **Merged by:** [@ABeltramo](https://github.com/ABeltramo) **Base:** `wolf-changes` ← **Head:** `emulationstation` --- ### 📝 Commits (10+) - [`7531557`](https://github.com/games-on-whales/gow/commit/75315579dd9f3fb288a437f3a30878a6c6c1460c) es initial app - [`e2893f2`](https://github.com/games-on-whales/gow/commit/e2893f217567aaf340b55f885167a3e7835bfce0) Update emulationstation.yml - [`601b4af`](https://github.com/games-on-whales/gow/commit/601b4afc0325b9a4328c1549dad3588081a84f66) add pcsx2/rpcs3 and fix startup - [`eef5e14`](https://github.com/games-on-whales/gow/commit/eef5e147a091c460260b15cf43a5ffe6045757d5) minor formatting - [`2477578`](https://github.com/games-on-whales/gow/commit/2477578d3586283b019dcff9ee2764a675768e45) Add XEMU and fix formatting - [`37873fd`](https://github.com/games-on-whales/gow/commit/37873fde6376b9c4af7cf1a399d1954a71061a40) Add Cleanup - [`b9d3b9c`](https://github.com/games-on-whales/gow/commit/b9d3b9c033d69d5f5a4ce59f33c1377997785338) auto yes - [`9a5ecdd`](https://github.com/games-on-whales/gow/commit/9a5ecdd94a7c85c7ed29334cbd9b697cdf07305c) fix ppa adding - [`f3cf894`](https://github.com/games-on-whales/gow/commit/f3cf894eda5f29d3502b56223a686f22ef323f01) add yuzu - [`e3ba928`](https://github.com/games-on-whales/gow/commit/e3ba928a83a700c0d84480d0cf9be4e7c571369b) add fuse and libfuse2 for appimages ### 📊 Changes **24 files changed** (+3190 additions, -7 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/auto-build.yml` (+1 -0) 📝 `.github/workflows/lint.yml` (+10 -6) ➕ `compose/apps/emulationstationde.yml` (+51 -0) 📝 `images/base-app/Dockerfile` (+1 -0) ➕ `images/es-de/Dockerfile` (+91 -0) ➕ `images/es-de/config.toml.example` (+32 -0) ➕ `images/es-de/configs/es/es_settings.xml` (+140 -0) ➕ `images/es-de/configs/es/es_systems.xml` (+13 -0) ➕ `images/es-de/configs/es/gamelist.xml` (+69 -0) ➕ `images/es-de/configs/pcsx2/PCSX2.ini` (+537 -0) ➕ `images/es-de/configs/retroarch/retroarch.cfg` (+15 -0) ➕ `images/es-de/configs/rpcs3/CurrentSettings.ini` (+69 -0) ➕ `images/es-de/configs/rpcs3/Default.yml` (+546 -0) ➕ `images/es-de/configs/xemu/xemu.toml` (+15 -0) ➕ `images/es-de/configs/yuzu/qt-config.ini` (+1445 -0) ➕ `images/es-de/scripts/custom_scripts/Emulators/pcsx2.sh` (+8 -0) ➕ `images/es-de/scripts/custom_scripts/Emulators/retroarch.sh` (+6 -0) ➕ `images/es-de/scripts/custom_scripts/Emulators/rpcs3.sh` (+7 -0) ➕ `images/es-de/scripts/custom_scripts/Emulators/xemu.sh` (+8 -0) ➕ `images/es-de/scripts/custom_scripts/Emulators/yuzu.sh` (+8 -0) _...and 4 more files_ </details> ### 📄 Description **Software added in the image:** - **EmulationStation-DE** ref: https://gitlab.com/es-de/emulationstation-de, all credits for app goes there **Emulators added in the image:** - **Retroarch** (based on it) - **pcsx2** via Appimage - **XEMU** via Appimage - **RPCS3** via Appimage - **YUZU** via Appimage - ~~**Wine** via PPA (with winetricks)~~ - ~~**Steam**~~ **Other additions in the image:** - Custom configs for Wolf gamepads for various emulators - Single BIOS directory for all emulators in /bioses - ES media in /Media - ROMs in /ROMs - Custom platform in EmulationStation with various launch scripts RetroArch-image based From my initial testing all seems to be working, but need broader testing I think this project (ESDE) can be a great base for a broader emulation/retro-gaming image for GOW ROMs paths follow RetroPie/other ES based project (psx,ps2,ps3,wii, etc...) kinda supercedes https://github.com/games-on-whales/gow/pull/139 **BIOS/Keys:** - Mount your ROMs folder to /ROMs - Mount your BIOSes folder to /bioses with following: - RetroArch bioses - Xemu BIOS and hdd image - PCSX2 BIOS - Yuzu keys - RPCS3 FW **What to do after first startup:** - Launch RPCS3 Firmware install script from Custom Scripts (!Install_RPCS3_Firmware) and proceed with installation, close RPCS3 - Launch RetroArch from Custom Scripts and install cores for your use (**NO CORES SHIPPED WITH THE IMAGE**) TODO: - [x] Make everything work - [x] Launch&Play PCSX2 (qt packages were needed) - [x] Launch&Play XEMU (crashes on startup - `ALSA related`) - was not image related - [x] Launch&Play RPCS3 (qt packages and additional vulkan were needed) - [x] Launch&Play YUZU (crashes after loading game - YUZU Requires a lot of RAM, 16 GB at least) - [x] Fix RPCS3 Sound - was not image related - [x] Fix PCSX2 Sound - was not image related - [x] Make everything more user-friendly and automatic - [x] RPCS3 Firmware install (added custom script for installing since there is no way install it without user interaction) - [x] Disable RPCS3 auto-update pop-up and succesfull FW install pop-up - [x] Disable YUZU telemetry pop-up in startup script - [x] single BIOS/keys location/FW - [x] Bind PCSX2 pause menu button in startup script - [x] Bind Wolf Gamepads for PCSX2 in startup script - [x] Bind Wolf Gamepads for RPCS3 in startup script - [x] Rename сustom platform to "Scripts", add Icon - [ ] Maintance - [x] Shrink the image. Image is about 3.6 gigs (Already doing cleanup on every stage) - [x] Hard-code resource allocation in config.toml (70% for CPU) - it is very easy with emulation to load your system to 100 percent (see config.toml example) - [x] Wait for Wolf release (with base-app image) for migrating to that - [x] Migrate to ENVs and relative links in pre-defined configs (for multiple users configurations - not only retro) - [x] Move ROMs directory from retro user - [x] Move Bioses directory from retro user - [x] Move Downloaded Media directory from retro user - [x] Move AppImages directory from retro user (for multiple users configurations - not only retro) - [x] Verify that saves folders are relative to $HOME - [x] Move XEMU hdd location to saves, for consistency and dropping write access for bioses - [x] Test First-time startup and write up steps to have fully ready install - [ ] Fix RPCS3 wrong gamepad allocation (using EVDEV and single controller is binding to number 4) - [ ] Optional - [x] ~~Add Steam with launch script~~ - [x] ~~Add Wine~~ - [x] ~~Add DXVK~~ - [ ] Add more emulators (Dolphin, Xenia via Wine?, CEMU via Wine?) - [x] single saves location for emulators per user (now everything is basically in $HOME, so for multi-user usage we just can switch $HOME variable for every new user connected to Wolf) - [ ] testing - [ ] Clean First Startup - [x] Other cases - [ ] Documentation (if PR got merged) - [ ] First Startup - [ ] Troubleshooting - [ ] Examples --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-15 12:49:48 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
games-on-whales/gow#186
No description provided.