atxoxx/GameIndex

Unify your Steam, GOG, Epic, and DRM-free libraries into a single, fast, native experience — with discovery, sync, activity tracking, and a controller-first Big Picture mode (Beta).

34

stars

884

commits

TypeScript

primary language

Sep 11, 2026

updated

game
library

README

GameIndex logo

GameIndex

A unified, cross-store game launcher and library manager.

Unify your Steam, GOG, Epic, Rockstar, Ubisoft, and DRM-free libraries into a single, fast, native experience — with discovery, deals & news, activity tracking, achievements, Linux/Steam Deck Proton support, a social layer, and a controller-first 10-foot UI.


Status Platforms Stack License: MIT Demo


🎬 Demo Video

A quick guided tour of GameIndex — the launcher, unified library, game pages, and more:

GameIndex demo video on YouTube

▶️ Watch the presentation on YouTube


📑 Table of Contents


✨ Features

FeatureDescription
Unified LibrarySteam, GOG Galaxy, Epic Games Store, Rockstar, Ubisoft Connect, Humble Bundle, and manual imports in one cohesive grid.
Rich Game PagesHero, metadata, reviews, achievements, screenshots, videos, web links, HowLongToBeat stats, Crackwatch, ProtonDB, Steam community features, and live player counts.
Game NotesPer-game Markdown workspace with multiple notes, 7 templates (walkthrough, checklist, boss strategy, build & loadout, quest log, progress journal), search & tag filters, pinning, live preview (write/split), word count, copy/export, and debounced auto-save.
Game VersionsDetects installed versions from GOG/Epic/Steam manifests or PE metadata and flags newer releases on game pages and in the download modal.
Achievements HubCross-platform achievement tracking and analytics — sync Steam, GOG, Epic, RetroAchievements, and manual lists, with gamerscore totals, rarity & unlock-activity charts, and per-game completion shelves.
Emulators & ROMsIntegrated emulator manager: launch emulator executables, catalog multi-system platforms, and manage ROMs with bulk actions — with native Linux/AppImage emulator installs plus Flatpak/Snap binary discovery.
Mod ManagerDual-pane mod manager for Steam Workshop & Nexus Mods with bulk multi-select (enable/disable/delete), stat cards, and mod size tracking.
IGDB StorefrontIGDB-powered catalog browsing (search, filters, rails, price badges, comparisons).
Store CompareSide-by-side comparison tray and modal for up to 4 games — best-value badges on numeric rows plus shared genre/platform/mode/theme chips.
Deals HubReal-time price deals across Steam, GOG, Epic, Humble, Fanatical, and more — plus an Xbox Game Pass catalog, giveaways with live countdowns, and playtester listings.
WishlistDedicated wishlist tab with release-date countdowns, per-game notes, genre/platform filters, and share-with-friends cards.
News ReaderBuilt-in RSS reader on a dedicated News page — curated gaming feeds, regional feeds and feed packs, with article reading that stays in the app.
Activity TrackingFPS, frametime, and per-session metrics via MSI Afterburner / RTSS on Windows (MangoHud / GameScope on Linux), with interactive timeline, Gantt, performance, and sparkline views.
DownloadsUnified concurrent download engine with seeding, HTTP direct, debrid (Real-Debrid / AllDebrid / TorBox), browser-resolver captures, and torrents via librqbit.
Linux & Steam DeckFirst-class Proton/Wine compatibility: runner manager (GE-Proton, CachyOS, Proton-EM, Wine-GE, Soda, Kron4ek…), shared prefixes with per-game overrides, DXVK/VKD3D, esync/fsync/ntsync, MangoHud, GameMode, GameScope, per-game GPU pinning, controller & anti-cheat runtimes, captured logs with a live viewer, Wine tools and system diagnostics. → Full guide
Storage ManagerVisualize disk usage, move installs between drives, track emulator & mod footprints, and bulk-recalculate sizes.
Backup & RestoreSelectable, cancellable backups with live progress — raw NDJSON export plus merge/replace restore modes from the Settings backup tab, including Proton/Wine compatibility profiles.
Community & FriendsLocal-first social layer: profiles, friend sync, shared recommendations, and a community feed.
Discord Rich PresencePlaying and browsing presence — platform/playtime context, dynamic game poster, and a launcher toggle.
Big Picture ModeFull-screen, controller-first 10-foot UI with rail-aware gamepad navigation across the whole app — Library, Store, Deals, News, Activity, Friends, and Community, plus system pages (Downloads, Storage, Achievements, Mods, Emulators, Settings, Docs) — with animated game backdrops, focus memory, and fluid rail wrapping.
Live Player CountsSteam player counts with a hero banner, tabbed popover, and historical player-count graph with range toggle.
Command PaletteGlobal Ctrl/Cmd+K launcher for navigation, search, and system actions — recents, calculator, cheat sheet, random-game picker, and power filters — with synthesized UI sounds and a live now-playing chip.
Themes, i18n & PrivacyAdaptive theming that samples the active game's artwork into chrome accents, dark/light + alternate themes with a custom accent picker, a full theme creator (live preview, presets, JSON import/export), six-language support (LanguageContext), and a Privacy & Data tab to view/wipe local storage.
App UpdatesIn-app update checks per install type (NSIS installer, AppImage, .deb, portable) plus a browsable Release History fetched from GitHub — version timeline, latest/pre-release/installed badges and full release notes without leaving the app.
Built-in GuideSearchable in-app documentation with grouped navigation, covering every major feature — plus a controller-friendly Big Screen variant.
Customizable InterfaceDrag-and-drop top-nav tab ordering with per-item visibility, right-click context menus across library, downloads, store, mods, news, emulators and storage, a resizable sidebar that folds to an icon rail on narrow windows, and fluid layouts tuned for handhelds and Steam Deck.

🚧 Planned / in progress: per-game performance profiles and user tags · community theme browser · broader plugin hooks and marketplace.


🐧 Linux, Wine & Proton

GameIndex is built for Linux gaming, not ported to it. The compatibility layer is configurable globally and per game, with no external helper scripts required:

  • Runners — detect Steam/System Wine, CachyOS, Lutris, Heroic and community builds; download GE-Proton, CachyOS, Proton-EM, Wine-GE, Kron4ek and Soda releases in-app; install local archives; uninstall what GameIndex manages.
  • Prefixes — shared default prefix or one per game, compatdata reuse for Steam titles, prefix inspection (arch, validity, version, size, linked games), clone/reset/delete, Wine tools and one-click winetricks packages.
  • Launch pipeline[gamescope] [gamemoderun] [mangohud] [umu-run | runner] game.exe, with DXVK/VKD3D, esync/fsync/ntsync, Wayland, WoW64, large-address-aware, DLL overrides, per-game env vars and exclusion lists.
  • Display & performance — Gamescope (FSR/NIS, HDR, VRR, resolution/FPS/refresh controls), MangoHud logging, GameMode, PRIME/GPU pinning and FPS readback into Activity.
  • Steam integration — reversible Wine/Proton launch-option merging in localconfig.vdf (skipped while Steam runs, one-time backup), Steam launch routes and the native launch-options picker.
  • Logs & diagnostics — per-game Wine/Proton logs with a live viewer, Linux system diagnostics, anti-cheat runtime installs and runner maintenance.
  • Packaging — AppImage and .deb builds with matching in-app updates.

📖 Read the full feature guide: docs/linux-wine-proton.md


📸 Screenshots

Dark-first UI, captured on Windows and Linux at 1920×1080. The same interface adapts to light mode and desktop use.

GameIndex library grid

🏠 Library

Library grid view Library with filters and detail rail

🎮 Game Page

Game page hero banner Game page metadata Game page details and media

🛒 Store

Store catalogue Store browsing with filters Store product page

📰 News

News feed News article

💰 Deals

Deals view 1 Deals view 2 Deals view 3

📊 Stats

Stats overview Stats charts Stats breakdown

🎯 Activity

Activity timeline Activity charts Session metrics

👥 Friends

Friends hub Friend profile Friends chat

🧩 Mods & 🕹️ Emulators

Mod manager Emulator manager Emulator library

📥 Downloads

Downloads manager

💾 Storage

Storage manager Storage breakdown Storage actions

🏆 Achievements & 💜 Wishlist

Achievements Wishlist

📝 Game Notes

Notes tab empty state with note templates New note template menu Markdown note editor with split preview

🐧 Linux & Steam Deck — Proton / Wine

The global Proton/Wine settings, per-game compatibility overrides, and the live Wine/Proton log viewer. Full walkthrough in the Linux, Wine & Proton feature guide.

Proton/Wine runner management Wine prefix manager Direct3D and graphics translation settings

Synchronization engine settings Gamescope compositor settings Gaming tools and overlays

Environment variables and DLL overrides Linux system diagnostics and maintenance Wine/Proton compatibility log viewer

Per-game compatibility layer and runner selection Per-game prefix, architecture and Wine debug options Per-game graphics and Direct3D overrides

Per-game tools and overlay overrides Per-game environment and DLL override inheritance Per-game prefix maintenance tools

📁 Full sets live in Screenshots/ — including Game page (13), Linux & Proton/Wine (15), Activity (10), Friends (9), Stats (8), Deals (4), and Notes (3) shots.


💡 Inspiration

GameIndex is built with — not just inspired by — excellent projects in the launcher space:

  • Hydra Launcher — the clean, modern approach to game distribution.
  • Playnite — the extensible, library-aggregation philosophy and customization depth.
  • LaunchBox — rich metadata, media, and emulation-focused cataloging.
  • Steam + GOG Galaxy — unified-library UX patterns.

We borrow the best ideas from each and aim to combine them into a single, lightweight native app.


🛠️ Tech Stack

LayerTechnology
ShellTauri v2 (Rust)
FrontendReact 19 + TypeScript
BundlerVite 7
DBSQLite (rusqlite + r2d2_sqlite)
SecretsOS keychain via keyring
Torrentslibrqbit
ChartsCustom SVG (src/components/charts/)
RoutingReact Router v7 (HashRouter for Tauri file://)

🚀 Getting Started

Prerequisites

Development

npm install
npm run tauri dev      # launches the native window with hot reload

Frontend-only iteration (no native shell):

npm run dev            # Vite at http://localhost:1420

Build

npm run tauri build    # tsc + vite build + native bundles

❄️ Nix & NixOS

If you use Nix or NixOS, a flake.nix is included providing all Tauri v2 runtime libraries (WebKitGTK 4.1, GTK3, D-Bus, Clang for bindgen) and toolchains:

# Enter the isolated development shell
nix develop

# Or with direnv:
direnv allow

Inside the shell, run the standard npm install and npm run tauri dev.

🔎 VirusTotal scans

Independent antivirus scans of the latest release artifacts:

Why does VirusTotal flag GameIndex? The detections you may see (e.g. Trapmine's Malicious.moderate.ml.score or Acronis's Static ML) are machine-learning heuristics, not malware signatures — there is no malicious behavior being matched. GameIndex is a Tauri (Rust) app, and Rust-compiled binaries are routinely flagged for these characteristics:

  • Unsigned binaries. Release builds are not code-signed, so antivirus engines have no publisher identity to anchor on and treat the file as an "unknown new binary."
  • Rust binary traits. Static Rust executables have high entropy and an import table atypical of native apps — a classic ML trigger.
  • Self-contained packaging. The standalone/portable build embeds its WebView2 bootstrap, which heuristic engines find suspicious.

This is a known false-positive pattern affecting many legitimate Tauri and Rust projects. Nothing in the source code matches malware behavior — it's fully open source, so you can verify the code yourself and build from source (npm run tauri build). The files are intentionally unsigned because code-signing certificates cost money; the ML flags typically disappear once a release is signed.

Typecheck

npx tsc --noEmit

📁 Project Structure

.
├── src/                 React + TypeScript frontend
│   ├── pages/           Top-level route components (Home, Library, Store, Deals,
│   │                   News, Wishlist, Emulators, Mods, Activity, Achievements,
│   │                   Storage, Downloads, Community, Friends, Settings, Docs)
│   ├── components/      Feature-scoped UI (game/, library/, store/, downloads/,
│   │                   news/, activity/, reviews/, sidebar/, charts/, bigscreen/, ui/)
│   ├── context/         Cross-cutting providers (Game, Activity, Theme, Language, ...)
│   ├── hooks/           Reusable stateful helpers
│   ├── types/           Mirrors of Rust serde models
│   └── styles/          Themed CSS
└── src-tauri/           Rust backend
    ├── src/             Tauri commands, DB DAOs, integrations
    │   ├── steam|gog|epic|rockstar|uplay|humble/   Per-store sync + auth
    │   ├── downloads/        Concurrent direct, debrid, torrent & browser-resolver downloads
    │   ├── compatibility.rs  Proton/Wine runners, prefixes, GameScope, GPU pinning
    │   ├── db/               Per-domain SQLite pools + schema (incl. compatibility.db)
    │   └── ...
    └── tauri.conf.json  Frameless window + bundle config

For deeper architectural notes and conventions, see knowledge.md.


🗺️ Roadmap

Track progress, ideas, and priorities in todo.md. Highlights:

  • ✅ Steam, GOG, Epic, Rockstar, Ubisoft, Humble library sync
  • ✅ Steam achievements, HowLongToBeat, Crackwatch, live + historical player counts
  • ✅ Activity dashboard with FPS + frametime charts
  • ✅ Downloads engine rewrite (concurrent downloads, seeding, direct/debrid/torrent sources, browser resolver)
  • ✅ Storage manager + emulator & mod footprint breakdown
  • ✅ News page with RSS feeds
  • ✅ IGDB-powered storefront (search, filters, rails, price badges, comparisons)
  • ✅ Community & Friends social layer
  • ✅ Big Picture Mode (controller-first 10-foot UI with rail navigation)
  • ✅ Emulators manager & ROM library tools
  • ✅ Mod manager (Steam Workshop & Nexus Mods integration)
  • ✅ Discord Rich Presence (playing + browsing presence, dynamic poster, launcher toggle)
  • ✅ Internationalization (i18n) & language switcher
  • ✅ Privacy & Data management in Settings
  • ✅ Theme gallery + custom accent picker
  • ✅ Steam reviews & multi-source ratings
  • ✅ Sandboxed plugin system for search/download sources
  • ✅ Deals hub — real-time store deals, Xbox Game Pass catalog, giveaways, and playtester listings
  • ✅ Multi-source Achievements dashboard with analytics
  • ✅ Wishlist tab with release countdowns and notes
  • ✅ Backup & restore with merge/replace NDJSON modes (incl. compatibility profiles)
  • ✅ Command palette, adaptive game-art theming, and now-playing HUD
  • ✅ Linux + Steam Deck support — Proton/Wine runner manager, shared prefixes, DXVK/VKD3D, MangoHud/GameMode/GameScope, GPU pinning, Wine logs, system diagnostics (full guide)
  • ✅ Per-game environment variables & compatibility profiles
  • ✅ Per-game GPU selection, controller support, and anti-cheat runtime installs
  • ✅ Store side-by-side compare mode
  • ✅ Game version detection & newer-release badges
  • ✅ Game notes workspace — Markdown notes, templates, tags, search & export
  • ✅ Theme creator with live preview, presets and JSON import/export
  • ✅ Release history + per-install update channels (NSIS, AppImage, .deb, portable)
  • ✅ Right-click context menus across library, downloads, store, mods, news, emulators and storage
  • ✅ Native Linux emulator installs (AppImage/tarball) & Flatpak/Snap discovery
  • ✅ Standalone always-on-top launch splash window that survives minimize-on-launch
  • ✅ Reorderable nav tabs, collapsible icon-rail sidebar & handheld/Deck layout pass
  • ✅ Animated Big Picture backdrops, focus memory & fluid rail navigation
  • 🚧 Per-game performance profiles and user tags
  • 🚧 Theme creator shipped; community theme browser planned
  • ⏳ Broader plugin hooks and marketplace

📌 Status

🛠️ Personal project, vibe-coded — built in my free time as a learning exercise and a love-letter to PC gaming. Expect rough edges, breaking changes, and rapid iteration. Contributions and ideas are welcome.


🤝 Contributing

  1. Read the conventions in knowledge.md (theme tokens, routing, schema migrations, etc.).
  2. Fork the repo and create a feature branch.
  3. Keep PRs focused and documented.
  4. Run npx tsc --noEmit and cargo check before submitting.

Please open an issue before starting large changes so we can discuss direction.


⚖️ Disclaimer

  • If you like a game, support its developers — buy it from official stores (Steam, GOG, Epic, etc.) where the money actually reaches the people who made it.

We believe in the open-source community, the games we love, and the developers who make them. Please use GameIndex responsibly and in accordance with the laws of your country.


📄 License

GameIndex is released under the MIT License — free to use, modify, and distribute, including for contributing back to the project. Attribution appreciated.

See the full text in the LICENSE file.


🙏 Acknowledgments

  • The Tauri, React, and Rust communities for the excellent tooling.
  • IGDB, HowLongToBeat, Steam, GOG, Epic, and IsThereAnyDeal for the data.
  • Hydra Launcher, Playnite, and LaunchBox for the inspiration.
Built with ☕ and a lot of music.

Contributors

atxoxx

884 commits

atxoxx/GameIndex

Unify your Steam, GOG, Epic, and DRM-free libraries into a single, fast, native experience — with discovery, sync, activity tracking, and a controller-first Big Picture mode (Beta).

34

stars

884

commits

TypeScript

primary language

Sep 11, 2026

updated

game
library

README

GameIndex logo

GameIndex

A unified, cross-store game launcher and library manager.

Unify your Steam, GOG, Epic, Rockstar, Ubisoft, and DRM-free libraries into a single, fast, native experience — with discovery, deals & news, activity tracking, achievements, Linux/Steam Deck Proton support, a social layer, and a controller-first 10-foot UI.


Status Platforms Stack License: MIT Demo


🎬 Demo Video

A quick guided tour of GameIndex — the launcher, unified library, game pages, and more:

GameIndex demo video on YouTube

▶️ Watch the presentation on YouTube


📑 Table of Contents


✨ Features

FeatureDescription
Unified LibrarySteam, GOG Galaxy, Epic Games Store, Rockstar, Ubisoft Connect, Humble Bundle, and manual imports in one cohesive grid.
Rich Game PagesHero, metadata, reviews, achievements, screenshots, videos, web links, HowLongToBeat stats, Crackwatch, ProtonDB, Steam community features, and live player counts.
Game NotesPer-game Markdown workspace with multiple notes, 7 templates (walkthrough, checklist, boss strategy, build & loadout, quest log, progress journal), search & tag filters, pinning, live preview (write/split), word count, copy/export, and debounced auto-save.
Game VersionsDetects installed versions from GOG/Epic/Steam manifests or PE metadata and flags newer releases on game pages and in the download modal.
Achievements HubCross-platform achievement tracking and analytics — sync Steam, GOG, Epic, RetroAchievements, and manual lists, with gamerscore totals, rarity & unlock-activity charts, and per-game completion shelves.
Emulators & ROMsIntegrated emulator manager: launch emulator executables, catalog multi-system platforms, and manage ROMs with bulk actions — with native Linux/AppImage emulator installs plus Flatpak/Snap binary discovery.
Mod ManagerDual-pane mod manager for Steam Workshop & Nexus Mods with bulk multi-select (enable/disable/delete), stat cards, and mod size tracking.
IGDB StorefrontIGDB-powered catalog browsing (search, filters, rails, price badges, comparisons).
Store CompareSide-by-side comparison tray and modal for up to 4 games — best-value badges on numeric rows plus shared genre/platform/mode/theme chips.
Deals HubReal-time price deals across Steam, GOG, Epic, Humble, Fanatical, and more — plus an Xbox Game Pass catalog, giveaways with live countdowns, and playtester listings.
WishlistDedicated wishlist tab with release-date countdowns, per-game notes, genre/platform filters, and share-with-friends cards.
News ReaderBuilt-in RSS reader on a dedicated News page — curated gaming feeds, regional feeds and feed packs, with article reading that stays in the app.
Activity TrackingFPS, frametime, and per-session metrics via MSI Afterburner / RTSS on Windows (MangoHud / GameScope on Linux), with interactive timeline, Gantt, performance, and sparkline views.
DownloadsUnified concurrent download engine with seeding, HTTP direct, debrid (Real-Debrid / AllDebrid / TorBox), browser-resolver captures, and torrents via librqbit.
Linux & Steam DeckFirst-class Proton/Wine compatibility: runner manager (GE-Proton, CachyOS, Proton-EM, Wine-GE, Soda, Kron4ek…), shared prefixes with per-game overrides, DXVK/VKD3D, esync/fsync/ntsync, MangoHud, GameMode, GameScope, per-game GPU pinning, controller & anti-cheat runtimes, captured logs with a live viewer, Wine tools and system diagnostics. → Full guide
Storage ManagerVisualize disk usage, move installs between drives, track emulator & mod footprints, and bulk-recalculate sizes.
Backup & RestoreSelectable, cancellable backups with live progress — raw NDJSON export plus merge/replace restore modes from the Settings backup tab, including Proton/Wine compatibility profiles.
Community & FriendsLocal-first social layer: profiles, friend sync, shared recommendations, and a community feed.
Discord Rich PresencePlaying and browsing presence — platform/playtime context, dynamic game poster, and a launcher toggle.
Big Picture ModeFull-screen, controller-first 10-foot UI with rail-aware gamepad navigation across the whole app — Library, Store, Deals, News, Activity, Friends, and Community, plus system pages (Downloads, Storage, Achievements, Mods, Emulators, Settings, Docs) — with animated game backdrops, focus memory, and fluid rail wrapping.
Live Player CountsSteam player counts with a hero banner, tabbed popover, and historical player-count graph with range toggle.
Command PaletteGlobal Ctrl/Cmd+K launcher for navigation, search, and system actions — recents, calculator, cheat sheet, random-game picker, and power filters — with synthesized UI sounds and a live now-playing chip.
Themes, i18n & PrivacyAdaptive theming that samples the active game's artwork into chrome accents, dark/light + alternate themes with a custom accent picker, a full theme creator (live preview, presets, JSON import/export), six-language support (LanguageContext), and a Privacy & Data tab to view/wipe local storage.
App UpdatesIn-app update checks per install type (NSIS installer, AppImage, .deb, portable) plus a browsable Release History fetched from GitHub — version timeline, latest/pre-release/installed badges and full release notes without leaving the app.
Built-in GuideSearchable in-app documentation with grouped navigation, covering every major feature — plus a controller-friendly Big Screen variant.
Customizable InterfaceDrag-and-drop top-nav tab ordering with per-item visibility, right-click context menus across library, downloads, store, mods, news, emulators and storage, a resizable sidebar that folds to an icon rail on narrow windows, and fluid layouts tuned for handhelds and Steam Deck.

🚧 Planned / in progress: per-game performance profiles and user tags · community theme browser · broader plugin hooks and marketplace.


🐧 Linux, Wine & Proton

GameIndex is built for Linux gaming, not ported to it. The compatibility layer is configurable globally and per game, with no external helper scripts required:

  • Runners — detect Steam/System Wine, CachyOS, Lutris, Heroic and community builds; download GE-Proton, CachyOS, Proton-EM, Wine-GE, Kron4ek and Soda releases in-app; install local archives; uninstall what GameIndex manages.
  • Prefixes — shared default prefix or one per game, compatdata reuse for Steam titles, prefix inspection (arch, validity, version, size, linked games), clone/reset/delete, Wine tools and one-click winetricks packages.
  • Launch pipeline[gamescope] [gamemoderun] [mangohud] [umu-run | runner] game.exe, with DXVK/VKD3D, esync/fsync/ntsync, Wayland, WoW64, large-address-aware, DLL overrides, per-game env vars and exclusion lists.
  • Display & performance — Gamescope (FSR/NIS, HDR, VRR, resolution/FPS/refresh controls), MangoHud logging, GameMode, PRIME/GPU pinning and FPS readback into Activity.
  • Steam integration — reversible Wine/Proton launch-option merging in localconfig.vdf (skipped while Steam runs, one-time backup), Steam launch routes and the native launch-options picker.
  • Logs & diagnostics — per-game Wine/Proton logs with a live viewer, Linux system diagnostics, anti-cheat runtime installs and runner maintenance.
  • Packaging — AppImage and .deb builds with matching in-app updates.

📖 Read the full feature guide: docs/linux-wine-proton.md


📸 Screenshots

Dark-first UI, captured on Windows and Linux at 1920×1080. The same interface adapts to light mode and desktop use.

GameIndex library grid

🏠 Library

Library grid view Library with filters and detail rail

🎮 Game Page

Game page hero banner Game page metadata Game page details and media

🛒 Store

Store catalogue Store browsing with filters Store product page

📰 News

News feed News article

💰 Deals

Deals view 1 Deals view 2 Deals view 3

📊 Stats

Stats overview Stats charts Stats breakdown

🎯 Activity

Activity timeline Activity charts Session metrics

👥 Friends

Friends hub Friend profile Friends chat

🧩 Mods & 🕹️ Emulators

Mod manager Emulator manager Emulator library

📥 Downloads

Downloads manager

💾 Storage

Storage manager Storage breakdown Storage actions

🏆 Achievements & 💜 Wishlist

Achievements Wishlist

📝 Game Notes

Notes tab empty state with note templates New note template menu Markdown note editor with split preview

🐧 Linux & Steam Deck — Proton / Wine

The global Proton/Wine settings, per-game compatibility overrides, and the live Wine/Proton log viewer. Full walkthrough in the Linux, Wine & Proton feature guide.

Proton/Wine runner management Wine prefix manager Direct3D and graphics translation settings

Synchronization engine settings Gamescope compositor settings Gaming tools and overlays

Environment variables and DLL overrides Linux system diagnostics and maintenance Wine/Proton compatibility log viewer

Per-game compatibility layer and runner selection Per-game prefix, architecture and Wine debug options Per-game graphics and Direct3D overrides

Per-game tools and overlay overrides Per-game environment and DLL override inheritance Per-game prefix maintenance tools

📁 Full sets live in Screenshots/ — including Game page (13), Linux & Proton/Wine (15), Activity (10), Friends (9), Stats (8), Deals (4), and Notes (3) shots.


💡 Inspiration

GameIndex is built with — not just inspired by — excellent projects in the launcher space:

  • Hydra Launcher — the clean, modern approach to game distribution.
  • Playnite — the extensible, library-aggregation philosophy and customization depth.
  • LaunchBox — rich metadata, media, and emulation-focused cataloging.
  • Steam + GOG Galaxy — unified-library UX patterns.

We borrow the best ideas from each and aim to combine them into a single, lightweight native app.


🛠️ Tech Stack

LayerTechnology
ShellTauri v2 (Rust)
FrontendReact 19 + TypeScript
BundlerVite 7
DBSQLite (rusqlite + r2d2_sqlite)
SecretsOS keychain via keyring
Torrentslibrqbit
ChartsCustom SVG (src/components/charts/)
RoutingReact Router v7 (HashRouter for Tauri file://)

🚀 Getting Started

Prerequisites

Development

npm install
npm run tauri dev      # launches the native window with hot reload

Frontend-only iteration (no native shell):

npm run dev            # Vite at http://localhost:1420

Build

npm run tauri build    # tsc + vite build + native bundles

❄️ Nix & NixOS

If you use Nix or NixOS, a flake.nix is included providing all Tauri v2 runtime libraries (WebKitGTK 4.1, GTK3, D-Bus, Clang for bindgen) and toolchains:

# Enter the isolated development shell
nix develop

# Or with direnv:
direnv allow

Inside the shell, run the standard npm install and npm run tauri dev.

🔎 VirusTotal scans

Independent antivirus scans of the latest release artifacts:

Why does VirusTotal flag GameIndex? The detections you may see (e.g. Trapmine's Malicious.moderate.ml.score or Acronis's Static ML) are machine-learning heuristics, not malware signatures — there is no malicious behavior being matched. GameIndex is a Tauri (Rust) app, and Rust-compiled binaries are routinely flagged for these characteristics:

  • Unsigned binaries. Release builds are not code-signed, so antivirus engines have no publisher identity to anchor on and treat the file as an "unknown new binary."
  • Rust binary traits. Static Rust executables have high entropy and an import table atypical of native apps — a classic ML trigger.
  • Self-contained packaging. The standalone/portable build embeds its WebView2 bootstrap, which heuristic engines find suspicious.

This is a known false-positive pattern affecting many legitimate Tauri and Rust projects. Nothing in the source code matches malware behavior — it's fully open source, so you can verify the code yourself and build from source (npm run tauri build). The files are intentionally unsigned because code-signing certificates cost money; the ML flags typically disappear once a release is signed.

Typecheck

npx tsc --noEmit

📁 Project Structure

.
├── src/                 React + TypeScript frontend
│   ├── pages/           Top-level route components (Home, Library, Store, Deals,
│   │                   News, Wishlist, Emulators, Mods, Activity, Achievements,
│   │                   Storage, Downloads, Community, Friends, Settings, Docs)
│   ├── components/      Feature-scoped UI (game/, library/, store/, downloads/,
│   │                   news/, activity/, reviews/, sidebar/, charts/, bigscreen/, ui/)
│   ├── context/         Cross-cutting providers (Game, Activity, Theme, Language, ...)
│   ├── hooks/           Reusable stateful helpers
│   ├── types/           Mirrors of Rust serde models
│   └── styles/          Themed CSS
└── src-tauri/           Rust backend
    ├── src/             Tauri commands, DB DAOs, integrations
    │   ├── steam|gog|epic|rockstar|uplay|humble/   Per-store sync + auth
    │   ├── downloads/        Concurrent direct, debrid, torrent & browser-resolver downloads
    │   ├── compatibility.rs  Proton/Wine runners, prefixes, GameScope, GPU pinning
    │   ├── db/               Per-domain SQLite pools + schema (incl. compatibility.db)
    │   └── ...
    └── tauri.conf.json  Frameless window + bundle config

For deeper architectural notes and conventions, see knowledge.md.


🗺️ Roadmap

Track progress, ideas, and priorities in todo.md. Highlights:

  • ✅ Steam, GOG, Epic, Rockstar, Ubisoft, Humble library sync
  • ✅ Steam achievements, HowLongToBeat, Crackwatch, live + historical player counts
  • ✅ Activity dashboard with FPS + frametime charts
  • ✅ Downloads engine rewrite (concurrent downloads, seeding, direct/debrid/torrent sources, browser resolver)
  • ✅ Storage manager + emulator & mod footprint breakdown
  • ✅ News page with RSS feeds
  • ✅ IGDB-powered storefront (search, filters, rails, price badges, comparisons)
  • ✅ Community & Friends social layer
  • ✅ Big Picture Mode (controller-first 10-foot UI with rail navigation)
  • ✅ Emulators manager & ROM library tools
  • ✅ Mod manager (Steam Workshop & Nexus Mods integration)
  • ✅ Discord Rich Presence (playing + browsing presence, dynamic poster, launcher toggle)
  • ✅ Internationalization (i18n) & language switcher
  • ✅ Privacy & Data management in Settings
  • ✅ Theme gallery + custom accent picker
  • ✅ Steam reviews & multi-source ratings
  • ✅ Sandboxed plugin system for search/download sources
  • ✅ Deals hub — real-time store deals, Xbox Game Pass catalog, giveaways, and playtester listings
  • ✅ Multi-source Achievements dashboard with analytics
  • ✅ Wishlist tab with release countdowns and notes
  • ✅ Backup & restore with merge/replace NDJSON modes (incl. compatibility profiles)
  • ✅ Command palette, adaptive game-art theming, and now-playing HUD
  • ✅ Linux + Steam Deck support — Proton/Wine runner manager, shared prefixes, DXVK/VKD3D, MangoHud/GameMode/GameScope, GPU pinning, Wine logs, system diagnostics (full guide)
  • ✅ Per-game environment variables & compatibility profiles
  • ✅ Per-game GPU selection, controller support, and anti-cheat runtime installs
  • ✅ Store side-by-side compare mode
  • ✅ Game version detection & newer-release badges
  • ✅ Game notes workspace — Markdown notes, templates, tags, search & export
  • ✅ Theme creator with live preview, presets and JSON import/export
  • ✅ Release history + per-install update channels (NSIS, AppImage, .deb, portable)
  • ✅ Right-click context menus across library, downloads, store, mods, news, emulators and storage
  • ✅ Native Linux emulator installs (AppImage/tarball) & Flatpak/Snap discovery
  • ✅ Standalone always-on-top launch splash window that survives minimize-on-launch
  • ✅ Reorderable nav tabs, collapsible icon-rail sidebar & handheld/Deck layout pass
  • ✅ Animated Big Picture backdrops, focus memory & fluid rail navigation
  • 🚧 Per-game performance profiles and user tags
  • 🚧 Theme creator shipped; community theme browser planned
  • ⏳ Broader plugin hooks and marketplace

📌 Status

🛠️ Personal project, vibe-coded — built in my free time as a learning exercise and a love-letter to PC gaming. Expect rough edges, breaking changes, and rapid iteration. Contributions and ideas are welcome.


🤝 Contributing

  1. Read the conventions in knowledge.md (theme tokens, routing, schema migrations, etc.).
  2. Fork the repo and create a feature branch.
  3. Keep PRs focused and documented.
  4. Run npx tsc --noEmit and cargo check before submitting.

Please open an issue before starting large changes so we can discuss direction.


⚖️ Disclaimer

  • If you like a game, support its developers — buy it from official stores (Steam, GOG, Epic, etc.) where the money actually reaches the people who made it.

We believe in the open-source community, the games we love, and the developers who make them. Please use GameIndex responsibly and in accordance with the laws of your country.


📄 License

GameIndex is released under the MIT License — free to use, modify, and distribute, including for contributing back to the project. Attribution appreciated.

See the full text in the LICENSE file.


🙏 Acknowledgments

  • The Tauri, React, and Rust communities for the excellent tooling.
  • IGDB, HowLongToBeat, Steam, GOG, Epic, and IsThereAnyDeal for the data.
  • Hydra Launcher, Playnite, and LaunchBox for the inspiration.
Built with ☕ and a lot of music.

Contributors

atxoxx

884 commits

Languages

TypeScript

62.0%

Rust

19.6%

CSS

18.1%