27 releases
Uses new Rust 2024
| new 0.0.29 | Feb 12, 2026 |
|---|---|
| 0.0.28 | Dec 1, 2025 |
| 0.0.27 | Nov 14, 2025 |
| 0.0.20 | Apr 5, 2025 |
| 0.0.3 | Nov 15, 2023 |
#202 in Configuration
Used in rgd
145KB
3K
SLoC
lib_game_detector
A Rust library for detecting and parsing data about games installed on the system. Currently only supports Linux.
Description
This is a Rust library intended to be used for programs which need information on currently installed games, such as a games launcher, or mod manager. It can provide information such as what games are installed across multiple launchers (such as Steam and Heroic Games Launcher), where those games are installed, what command will launch them, and more.
Quick start
Install with:
cargo add lib_game_detector
Support for serialization via serde, which is enabled by default, can be disabled
by installing with:
cargo add lib_game_detector --no-default-features
Support for Itch requires rusqlite to read an sqlite database file. The bundled feature
(to include a bundled version of sqlite) is disabled by default, but can be enabled by
installing with:
cargo add lib_game_detector --features bundled_sqlite
Usage
use lib_game_detector::{data::SupportedLaunchers, get_detector};
let detector = get_detector();
let detected_launchers = detector.get_detected_launchers();
let all_games = detector.get_all_detected_games();
let all_games_by_launcher = detector.get_all_detected_games_per_launcher();
let all_games_from_steam = detector.get_all_detected_games_from_specific_launcher(SupportedLaunchers::Steam);
Examples
- Checkout rofi-games or rgd to see this library being used to find games and their box art for displaying in a launcher
- Check the examples folder
Currently supported game sources
- Steam
- Non-Steam games added as shortcuts are also supported. Just make sure to launch newly added shortcuts through Steam at at least once for them to be detected correctly (some files need to be generated).
- Heroic Games Launcher (Legendary, Nile, GOG, and manually added games)
- Lutris
- Bottles
- Only lists entries included in the Library
- Modded Minecraft (Prism Launcher, ATLauncher)
- Titles are given as
Minecraft - {instance name}
- Titles are given as
- Itch (itch.io app)
License
Dependencies
~36MB
~608K SLoC