- Rust 69%
- TypeScript 28.7%
- JavaScript 1.7%
- Shell 0.3%
- CSS 0.2%
|
Some checks are pending
CI / frontend (push) Waiting to run
CI / rust (ubuntu-24.04) (push) Waiting to run
CI / rust (windows-latest) (push) Waiting to run
Release / test (push) Blocked by required conditions
Release / bundle (ubuntu-24.04) (push) Blocked by required conditions
Release / bundle (windows-latest) (push) Blocked by required conditions
Release / flatpak (push) Blocked by required conditions
Release / publish (push) Blocked by required conditions
Release / frontend (push) Waiting to run
Release / rust (ubuntu-24.04) (push) Waiting to run
Release / rust (windows-latest) (push) Waiting to run
|
||
|---|---|---|
| .cargo | ||
| .github/workflows | ||
| assets | ||
| crates | ||
| docs | ||
| flatpak | ||
| scripts | ||
| src | ||
| src-tauri | ||
| .gitignore | ||
| .markdownlint-cli2.jsonc | ||
| Cargo.lock | ||
| Cargo.toml | ||
| cspell.json | ||
| fork.config.json | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.js | ||
| README.md | ||
| rust-toolchain.toml | ||
| tailwind.config.js | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
gameyfin-app
This app was made with AI.
gameyfin-app is a client for Gameyfin on Windows and Linux. Browse your server's library, download and install games, play them, and keep your saves in sync between PCs.
Features
- Library: search, filters, sorting, cover sizes, photos and trailers. Stays usable offline.
- Downloads: a speed limit, several games folders and optional auto install.
- Installing: unpacks archives (including password protected ones), runs setup programs, finds the game's executable and uninstalls cleanly.
- Playing: playtime tracking, and a readable reason when a game crashes on start.
- Windows games on Linux: Proton through umu with per-title fixes, optional GE-Proton and Proton-CachyOS, and Gameyfin's own Wine as a fallback, all downloaded when needed. Per-game launch options, prefixes and winetricks.
- Save sync: saves are backed up with Ludusavi after you play and restored before you start. They can be kept on the Gameyfin server, in a folder or on a WebDAV share, with version history, conflict handling and Windows/Proton interchange.
- Shortcuts: applications menu, desktop and Steam.
- Controller support: navigation by gamepad and a large layout for the sofa.
- Desktop integration: tray icon, start with login, notifications, taskbar progress and automatic updates.
Server support
The app works with any Gameyfin 2.4 server. Three features need server changes that are not
merged into Gameyfin yet: save sync to the server
(a folder or WebDAV share works anywhere), staying signed in past the server's four-hour
session, and the server's version in Settings. They are in
ghcr.io/wieluk/gameyfin:gameyfin-app, built from the integration/gameyfin-app branch of
this fork. On a stock server the app leaves them out.
Screenshots
| Library | Game details |
|---|---|
![]() |
![]() |
| Saves | Installed games |
![]() |
![]() |
Install
Download a build from the releases page:
.exe for Windows, .deb, .rpm or .flatpak for Linux.
See Getting started for first-time setup.
Documentation
The docs explain every feature in more depth, especially save sync.
Development
npm install
npm run dev # frontend only, with fixture data
npm run fetch-sidecars # bundled helpers, needed for the Rust tests
npm run tauri dev # the full app
npm run verify # typecheck, tests and clippy
npm run package # installers for this platform, into build/
Linux builds need libudev-dev plus the WebKit and GTK dev packages. Installers cannot be
cross-built; .github/workflows/release.yml builds each platform on its own runner.
Licence
MIT



