is an application that archives games into squashfs archives and launch them by mounting the archives (without needing to fully unpack them) on Linux. It is meant for use with Windows games via Proton, but it can also be used for native Linux titles. You can also launch non-archived games with this tool by using it as a normal game launcher. In terms of UI it is mostly built inspired by the Steam Bigpicture mode, meant to also be usable for livingroom PCs, but not yet implemented for Gamepad controls.
All games launched with this tool should be DRM-FREE (like for example games from GOG.com). I do not condone game piracy of any type and this project is not meant to be used with illegaly obtained games. This tool does not contain any sofware for removing DRM or other piracy related actions.
- Install Dependencies:
- fuse3 (fusermount3)
- fuse-overlayfs
- Download the latest statically-linked build from the releases section.
- Execute the downloaded build:
./game_archive-x86_64-musl-static
- Visit the Web-UI at: http://localhost:8000
- Add a compatibility tool by clicking on "Add" in the header bar
- Add a game from the same menu
- Install Dependencies:
- libfuse3 (fusermount3, development libs)
- fuse-overlayfs (development libs)
- rust-toolchain (recommended via rustup) OR (NixOS)
nix-shell
- Build / Run
cargo run -r
All config files are located in your .config folder (home directory):
/home/[user]/.config/game_archive/
- Editing the UI:
The UI comes bundled into the executable by default.
Overrides can be done by placing the file into the
web-mixindirectory (in the config directory) with the same filename as in the static directory of this repo. The hierarchy is the following:
dynamic API (/api/*) -> "web-mixin" direcory -> bundled
- Editing the Rocket.toml The Rocket.toml is also located in the config directory. Per default it describes the location of the GameArchive's Database (located in the config directory as well) which can also be changed there. For other config options look up the Rocket.rs Rocket.toml documentation.
- Backend
-
- Ability to archive games
-
- Ability to play archived games (mount, etc.)
-
- Track playtime of games (local DB)
-
- Track play sessions of games (local DB)
- Frontend
-
- Display games sorted by playtime, last-launch and alphabetically
-
- Launch games
-
- Add games + compatibility tools
-
- Configure games + compatibility tools
-
- Visualize game sessions (with their playtime) [Mocked up]
-
- Ability to remove compatibility tools