Skip to content

rpcs3-sa: keep the wiki config database fresh - #3193

Open
xiaodoudou wants to merge 1 commit into
ROCKNIX:nextfrom
xiaodoudou:rpcs3-config-database-refresh
Open

rpcs3-sa: keep the wiki config database fresh#3193
xiaodoudou wants to merge 1 commit into
ROCKNIX:nextfrom
xiaodoudou:rpcs3-config-database-refresh

Conversation

@xiaodoudou

@xiaodoudou xiaodoudou commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

Summary

  • What is the goal of this PR? Make RPCS3's wiki config database work on ROCKNIX. RPCS3 applies per-game settings curated from the RPCS3 wiki (GuiConfigs/config_database.dat) at boot, including --no-gui boots, but only the desktop GUI ever downloads that file. Since ROCKNIX launches games headless, the file never exists and games boot without the curated fixups (Write Color Buffers for Demon's Souls, frame limit modes for the Tales games, and so on). This change fetches the database at game launch when the cached copy is missing or older than a week, so every user gets the wiki-recommended per-game settings automatically.

Testing

  • How was this tested? On an AYN Odin 2 (SM8550), with the modified script bind-mounted over /usr/bin/start_rpcs3.sh on a stock build. Covered the missing-file first download, the stale path (file backdated past a week re-downloads, fresh file is left alone), the unreachable-network path (curl against a non-routable address), and a headless game boot with the database in place.
  • Test results: First launch downloads the database (297 KB, 2164 titles). On boot RPCS3 logs Found database config for: 'BLES01815' and Applying database config, and the effective config picks up the database's Frame limit: PS3 Native for Tales of Xillia. With the API unreachable, curl aborts in 3.0 s (exit 28) and the game boots normally with the cached copy.

Additional Context

  • The download goes to a .tmp file and is checked for the expected "games" key before replacing the cached copy, so captive portals or truncated downloads cannot corrupt a working database.
  • RPCS3 skips the database for titles where the user has a custom per-game config, and launching the desktop GUI remains the way to force an immediate refresh; this change only covers the headless path.

AI Usage

Did you use AI tools to help write this code? YES

RPCS3 applies per-game settings from a wiki-curated config database
(GuiConfigs/config_database.dat) at boot, including headless boots,
but only the desktop GUI ever downloads that file, and on these
builds the GUI never runs, so games launch without the curated
fixups.

Fetch the database at launch when the cached copy is missing or
older than a week. Offline launches fail fast on the connect
timeout, and the download is validated before it replaces the
cached file.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant