Skip to content

Releases: Starkka15/GameVault

GameVault v1.2.1 — EA Play install cancel/duplicate fix

Choose a tag to compare

@Starkka15 Starkka15 released this 15 Jul 14:59

Patch release fixing EA Play (Ubisoft/Optima's sibling) game installs.

Fixed

  • Cancel now stops the download, and no more duplicate downloaders. The EA install wrapper ran maxima-cli in the foreground and stored the wrapper's PID as the game's pid — so Cancel killed the wrapper and orphaned maxima-cli to init, which kept downloading. Re-tapping Install then spawned a second racing downloader; two maxima-cli writing the same folder deadlocked (Battlefield 4 froze at 0.65%). The wrapper now backgrounds maxima-cli, records its real PID, and waits; Cancel kills that PID plus a targeted safety-net sweep for any orphan. (Same fix Optima got in v1.2.0.)

Also recommended

Update dependencies (About → Install Dependencies) to pull maxima-cli v0.14.2, which fixes the download percentage sitting frozen while the game actually downloads (live per-chunk progress).

Backend-only patch — no functional change to any other extension.

GameVault v1.2.0 — Optima downloads, cancel & tickets hardened

Choose a tag to compare

@Starkka15 Starkka15 released this 14 Jul 09:30

GameVault 1.2.0

Reliability pass on the Optima (Ubisoft Connect) extension — downloads, cancel,
tickets, and the loader all got hardened. Ubisoft games install and play natively on
the handheld through GameVault's own R1/R2 loaders (no Ubisoft Connect required).

Downloads

  • Byte-based progress — the progress bar and % are now computed from GB downloaded
    vs. total, and update mid-file, so you get a smooth bar and a live download speed
    instead of the old jumpy per-file/per-slice count.
  • Cancel now actually stops the download. Previously Cancel killed the wrapper and
    the downloader was orphaned to init, so it kept downloading in the background. The
    wrapper now tracks the real optima-cli PID and Cancel kills it (plus a targeted
    safety-net sweep for any stray downloader).
  • Slice CDN layout auto-detection. Older titles use a flat slices/<hash> layout,
    newer ones use slices_v3/<bucket>/<hash>. The installer now probes and picks the
    right one automatically — fixes the 404 loop that blocked Assassin's Creed Unity.

Tickets / auth

  • "Renew Ticket" button next to Logout. When a ticket expires it opens the Ubisoft
    WebAuth page (you're already signed in) and grabs a fresh ticket — no full re-login.
  • Fixed rememberMe churn — an empty/unknown ticket expiration was being treated as
    "expired", so every action burned the rememberMe token. Tickets now persist.

Loader / launch

  • Game Settings button fixed — it was reading the Steam id instead of the product id
    and doing nothing; now opens correctly.
  • Uplay R1 save-path fix (saves now land in the game's Saves/ folder) and a new
    OPTIMA_ONLINE toggle (defaults offline for single-player).
  • Executable resolved by scanning the install when the config lists none (fixes
    Watch_Dogs); loader shims signed for anti-tamper titles; Orbit R2 (AC3) support.

Tested & working

Confirmed installing and launching on the ROG Ally:

  • Assassin's Creed III
  • Assassin's Creed IV: Black Flag
  • Assassin's Creed Unity
  • Beyond Good & Evil
  • Tom Clancy's Splinter Cell
  • Watch_Dogs — note: on Nvidia desktop it hits a DXVK-specific crash that is not
    the loader (works fine on the Ally's AMD GPU); the loader itself is confirmed good.

Testing so far is single-player only. Multiplayer functionality is untested
the loaders emulate local ownership for offline single-player; online/MP is not expected
to work and hasn't been verified.

If a game won't launch

Optima has self-healing built in — on every launch it re-writes the registry keys,
Uplay.toml, makes sure the local Saves/ folder exists (your saves are never touched), and re-verifies the loader, so a one-off failure often
fixes itself on the next launch. Try launching a second time first. If it still
fails it's either unsupported DRM (Denuvo, or anything other than Uplay R1 / Orbit
R2 — those can't be emulated) or a real bug. For bugs, use the new "[Optima] game
won't launch"
issue template and include the game title, product id, and the Optima
logs from ~/homebrew/logs/GameVault/ (run-exe.log, <id>.log, <id>.progress).


Install / update: replace the plugin with this GameVault.zip, then in GameVault →
About → Install Dependencies to pull the updated optima-cli runtime (the download/
cancel/slice fixes live in that binary, which is fetched separately from the runtimes
release).

GameVault v1.1.7 — EA Play (beta) + itch.io Collections

Choose a tag to compare

@Starkka15 Starkka15 released this 12 Jul 19:38

🎮 New: EA Play extension (BETA)

Native EA / Origin game launching, powered by maxima-cli — real license
handshake (LSX + EALS + EbisuSDK), games run under maxima's own umu / GE-Proton.
Log in, install from your EA library, and launch straight from Steam.

Per-game fixes included in this release:

  • Battlefield: Hardline — boots to campaign (-webmode spoffline)
  • Battlefield 4 — boots to campaign (-webmode sparta -requestState State_Sparta)
  • Mirror's Edge: Catalyst — fixed the deterministic freeze on AMD/non-Nvidia
    handhelds (game's nvapi path; we disable nvapi so it never trips)
  • Mass Effect 2 — auto-installs its PhysX dependency into the prefix
  • Verified booting: Burnout Paradise, Need for Speed titles, and more

⚠️ This extension is VERY BETA — known issues

  • Downloads sometimes stall. If a download doesn't start or gets stuck,
    just keep clicking "Install Game" until it actually begins — it will pick
    up where it left off. A proper fix is coming in a later build.
  • Progress bar looks stuck on big games: it only advances when a whole file
    finishes, so it can sit at a low % while gigabytes are actually downloading.
    It's working — give it time. (Cosmetic; fix planned.)
  • Multiplayer is untested. Campaigns work; online is not validated.
  • Battlefield 3 is untested.
  • Some games need per-game dependencies or Proton quirks. These are data-driven
    and community-extendable (ea-dependencies.conf, ea-quirks.conf) — if a
    game needs a winetricks verb or an env tweak to run, it can be added there.

🎨 itch.io Collections

  • The itch.io tab is now a container: Owned plus a sub-tab for each of your
    collections
    .
  • New "Import Collections" toggle (itch.io tab settings) pulls games from
    all your itch.io collections into your library, not just owned titles
    (answers issue #3). itch.io RPG Maker / Ren'Py / NW.js titles run natively.

Install

About → Install Dependencies pulls the latest maxima-cli for the EA
extension. Game runtimes (NW.js / mkxp-z / RTPs) install from the Runtimes
prerelease.

GameVault v1.1.6

Choose a tag to compare

@Starkka15 Starkka15 released this 11 Jul 02:38

GameVault v1.1.6 — My Added Games, GOG DLC manager, artwork scan

My Added Games (formerly the "RPG Maker" tab)

The native-games tab is now a general drop-folder for far more than RPG Maker. Drop a game folder in and it's auto-detected and added to Steam as a native shortcut, in this order:

RPG Maker → ScummVM → DOS → Linux → Electron → Windows

  • RPG Maker MV/MZ → NW.js, VX Ace/XP/VX → mkxp-z (native, no Proton)
  • ScummVM / DOS → ScummVM / DOSBox Staging flatpaks
  • Linux builds run their native binary/.sh; Electron/NW.js via NW.js; Windows .exe via Proton
  • Wrong guess? Drop a one-word .gvengine file in the folder to force the engine (mv mz vxace xp vx scummvm dos linux electron windows).
  • Bundled a codec-enabled libffmpeg so MV title/cutscene videos (H.264/AAC) play instead of showing black.

Auto-rename: the drop folder is now Games/AddedGames (was Games/RPGMaker). On update it migrates itself automatically — your games move over and existing Steam shortcuts keep working (identity-preserving, with a back-compat symlink).

GOG DLC manager

  • New Install/Remove DLCs entry in a game's gear/settings menu: lists every DLC with per-DLC Install and Remove.
  • Removal deletes only the DLC's own files (never base-game/shared files) and keeps gogdl's manifest cache honest so a later reinstall works. DLCs that replace existing game files (uncensor/patch DLC) can't be fully reverted — a note in the manager explains this.
  • "Install DLCs with game" setting (GOG tab): turn it off to install the base game only, then add DLCs one at a time.

Fixes: GOG installs

  • Installs no longer hang at 99% — tolerate the gogdl progress-bar crash that struck at 100% and left games un-finalized.
  • DLC (re)install actually downloads — pass --with-dlcs to enable and --dlcs to target, and prune a removed DLC from the cached manifest so reinstall isn't a silent no-op.

Artwork scan (SteamGridDB)

  • New Fetch Artwork (SteamGridDB) action (tab's sliders menu) applies grid/hero/logo art to all listed added games at once, matched by name.
  • Confident name matching so it won't apply the wrong game's art, a proper User-Agent so the SteamGridDB CDN stops rejecting downloads, corrected artwork-slot mapping, and per-image fault isolation.
  • Requires a free SteamGridDB API key (Settings → SteamGridDB → API Key). Coverage depends on what SGDB actually has — well-known titles fill; many niche games aren't on SGDB.

Runtimes (NW.js, mkxp-z, VX Ace/XP RTPs, ScummVM/DOSBox) install on demand via About → Install Dependencies.

GameVault v1.1.5

Choose a tag to compare

@Starkka15 Starkka15 released this 08 Jul 19:07

GameVault v1.1.5 — RPG Maker native, refinements

The RPG Maker extension lets you run Windows RPG Maker games natively on SteamOS/Linux — no Wine or Proton. GameVault scans a folder of RPG Maker games, lists them in a "RPG Maker" tab, and adds them to Steam as native shortcuts:

  • MV / MZ run through native NW.js
  • VX Ace / XP / VX run through native mkxp-z

Runtimes (NW.js, mkxp-z, and the VX Ace + XP RTPs) are fetched on demand via About → Install Dependencies.

How to add games

  1. Extract the game so the game folder — the one containing Game.exe / package.json (MV/MZ) or Game.ini (VX Ace/XP) — sits inside your RPG Maker games folder (default ~/Games/RPGMaker/, selectable SSD/MicroSD in the tab's settings).
  2. Open the RPG Maker tab and hit Refresh. The game appears; select it and Add to create a native Steam shortcut.

Nested folders are handled (e.g. Egads RPG - Windows/Egads RPG/), and games can carry non-ASCII names.

What's new in 1.1.5

  • Case-insensitive asset loading (MV/MZ) — fixes "Failed to load: img/….png" caused by Windows-cased asset references on a case-sensitive filesystem.
  • XP RTP bundled — RPG Maker XP games no longer crash on missing stock sounds.
  • VX Ace/XP compatibility shim — no-ops Windows-only Win32API calls (gdiplus screenshots, window resize) and restores Ruby 1.9 TRUE/FALSE/NIL so more games boot under mkxp-z.
  • Better engine detection — handles Game.ini Library= values with a path prefix; won't mistake an asset subfolder for the game root.
  • Game Mode GPU flags tuned for reliable rendering (in-process GPU + ANGLE-GL).

Notes / caveats

  • No thumbnails/icons are generated — the RPG Maker tab lists games by title without box art.
  • Some VX Ace / XP games need manual Ruby-script tweaks. Windows RPG Maker shipped Ruby 1.9, which tolerated loose syntax that mkxp-z's Ruby 3.1 rejects (e.g. dead-code else, removed constants). Such a game may error on launch; the fix is a small edit to its Scripts data. Most games work as-is.

Install: download GameVault.zip, extract, and copy the GameVault folder into ~/homebrew/plugins/ (replace the existing one), then restart Decky. Existing users can also use the in-app updater.

GameVault v1.1.4

Choose a tag to compare

@Starkka15 Starkka15 released this 07 Jul 16:51

Adds the native RPG Maker extension (RPG Maker MV/MZ via NW.js, VX Ace/XP/VX via mkxp-z + bundled VX Ace RTP). Games self-add from a scanned folder with native Steam shortcuts — no Wine/Proton. Also fixes the update checker crashing on non-version release tags.

Copy RPG Maker game folders into ~/Games/RPGMaker/ and open the RPG Maker tab. Runtimes (~340MB) download automatically on first install.

GameVault Runtimes

GameVault Runtimes Pre-release
Pre-release

Choose a tag to compare

@Starkka15 Starkka15 released this 07 Jul 16:29

Prebuilt native runtimes for GameVault extensions. mkxp-z-x86_64.AppImage = mkxp-z (RGSS/VX Ace/XP/VX player) built on Ubuntu 22.04 for SteamOS glibc compatibility, used by the RPG Maker extension.

v1.1.3

Choose a tag to compare

@Starkka15 Starkka15 released this 04 Mar 10:39

v1.1.3: Native DOSBox/ScummVM Support (Beta, GOG Only), Download Queue

Native Emulator Support (Beta — GOG Extension Only)

DOSBox Staging Integration

  • Detect DOSBox games from goggame info files (primary and secondary playTasks)
  • Launch DOSBox games natively via flatpak (io.github.dosbox-staging) — no Proton needed
  • Resolve DOSBox -conf file paths from Windows backslash to absolute Linux paths
  • Case-insensitive file/directory lookup for conf files and working directories (handles GOG's Windows-cased paths on Linux filesystems)
  • Copy support files (conf files) from gogdl's gog-support/<id>/app/ directory to the game root after download
  • Strip Windows-only DOSBox flags (-noconsole, -c "exit") that break DOSBox Staging

ScummVM Integration

  • Auto-detect ScummVM games using flatpak ScummVM's --add and --detect CLI commands
  • Register detected games as ScummVM targets for direct launching
  • Launch ScummVM games natively via flatpak (org.scummvm.ScummVM) — no Proton needed
  • Handle both GOG-bundled ScummVM configs and auto-detected target IDs

Retrodetect

  • Scan already-installed games and backfill game type from install data and ScummVM auto-detection
  • Runs on GOG init/refresh to catch games installed before the update

New Dependencies

Installed automatically via GOG > About > Install Dependencies:

  • DOSBox Staging flatpak: io.github.dosbox-staging
  • ScummVM flatpak: org.scummvm.ScummVM

Note: Users must re-run Install Dependencies after updating to v1.1.3 to get the new emulator flatpaks.

Download Queue Improvements

  • Persistent download queue — survives plugin close/reopen
  • Reconnect to in-progress downloads on plugin mount
  • New dedicated Downloads page with full queue UI
  • Download badge showing active download count

Cleanup

  • Removed unused self_update.sh

Debug Logging

  • Extensive logging throughout detection, launch, and install pipelines for troubleshooting
  • Detection logs: ~/homebrew/logs/GameVault/detection.log
  • Per-game logs: ~/homebrew/logs/GameVault/<game_id>.log
  • If you encounter issues with DOSBox/ScummVM detection or launching, please include these logs when reporting

v1.1.2

Choose a tag to compare

@Starkka15 Starkka15 released this 03 Mar 02:12

Drop lgogdownloader — GOG API + gogdl for everything

Simplifies GOG authentication to a single tool and token file by removing the lgogdownloader dependency entirely.

Changes

  • GOG login: Direct OAuth flow via browser — no more lgogdownloader flatpak needed
  • Library listing: Uses GOG embed API instead of lgogdownloader --list
  • Token refresh: Automatic token refresh when expired
  • Game size display: Fixed — now correctly parses gogdl's per-language size format
  • DLC filtering: DLC no longer shows as separate games in the library (installs automatically with base game via --with-dlcs)
  • Logout cleanup: All stores now clear their game database on logout so stale data doesn't persist
  • Smaller footprint: Removed lgogdownloader flatpak + org.kde.Platform runtime from dependencies

Decky GameVault v1.1.1

Choose a tag to compare

@Starkka15 Starkka15 released this 03 Mar 00:40

Decky GameVault v1.1.1

New Features

  • Plugin Auto-Updater — New "Updates" tab in the About page. Check for new versions and install updates directly from Game Mode without needing to manually download and extract files. Downloads the latest release from GitHub, backs up the current install, applies the update, and restarts Decky Loader automatically. Includes an optional sudo password field for users who have set a password on their Deck.

Note: The auto-updater does not go through official Decky channels. Use at your own risk.

  • Version Display — Current plugin version is now shown on the About page and the Updates tab, injected at build time from package.json.

Performance Improvements

  • Content Cache — Store game lists are now cached in memory for 5 minutes, eliminating redundant backend calls when switching between tabs.

  • Search Debounce — Store grid search filter now debounces input by 400ms, reducing unnecessary re-renders and backend calls while typing.

  • Adaptive Install Polling — Install progress polling interval now adapts: starts at 1 second and backs off to 5 seconds when progress stalls, reducing unnecessary load during slow downloads.

Bug Fixes

  • Friday the 13th Achievement — Fixed check that was comparing day-of-week instead of day-of-month. The achievement now correctly triggers on Friday the 13th.

  • Cancel Install — Fixed cancel not immediately stopping the progress polling loop. The ref is now set before the state update so the polling loop exits on its next iteration.

  • Action Error Toasts — Failed backend actions now show a toast notification instead of silently returning null.

  • Batch Install Summary — Batch install queue now shows a toast when all items finish, reporting how many succeeded and how many failed.

Cleanup

  • Removed excessive debug logging from GameDetailsItem (dozens of log calls on every render)
  • Removed unused GameData interface from Types.ts

Full Changelog: v1.1.0 → v1.1.1

  • Add self-update system (check + install from GitHub releases)
  • Add build-time version injection and version display
  • Add in-memory content cache (5 min TTL) for tab switches
  • Add search filter debounce (400ms) in store grid
  • Add toast notifications for failed actions and batch install completion
  • Add adaptive polling for install progress
  • Fix Friday the 13th achievement (day-of-week → day-of-month)
  • Fix cancel install not stopping progress polling immediately
  • Remove excessive debug logging from GameDetailsItem
  • Remove unused GameData interface

Install

  1. Download GameVault.zip below
  2. Extract to ~/homebrew/plugins/GameVault/ on your Steam Deck
  3. Restart Decky Loader