Open source · GPL-3.0-or-later
Diagnose Linux gaming problems.
GameDiag scans your local Steam and Proton setup and shows what may be preventing a game from working correctly.
Current stable version: checking…
Example output
- PASSSteam installation
- PASSProton prefix
- PASSVulkan
- WARNINGNTFS library
- PASSPrefix permissions
Features
GameDiag focuses on one job: finding out why a game does not run correctly.
Steam Discovery
Finds installed Steam games across multiple libraries, including drives that are currently unmounted.
Proton Diagnostics
Checks Proton prefixes for structure, permissions, ownership and drive symlinks.
Graphics and Vulkan
Reports the GPU, the active graphics driver, and 64-bit and 32-bit Vulkan availability.
Filesystem Checks
Detects the filesystem a game and its Proton prefix live on, including mount options like noexec.
System Diagnostics
Reads distribution, kernel, CPU and desktop session information relevant to gaming.
Readable Reports
Exports JSON and Markdown reports with the full check results and system context.
How it works
Scan
GameDiag finds installed Steam games and libraries.
Diagnose
GameDiag checks the selected game, its Proton environment and the Linux system.
Understand
Results explain what was tested, what was found, and why it matters.
Terminal
The terminal interface is a complete way to use GameDiag, not a fallback.
$ gamediag list
1245620 Elden Ring [Proton data] 66.2 GiB
1091500 Cyberpunk 2077 [Proton data] 58.9 GiB
$ gamediag scan 1245620
Elden Ring [1245620]
5 passed 1 warning 0 failed
PASS Steam manifest
PASS Game directory
PASS Proton prefix
PASS Prefix permissions
WARN NTFS filesystem
PASS Vulkan
Graphical interface
GameDiag also has a graphical interface built with PySide6, for anyone who prefers not to use the terminal. It lists installed games, runs the same checks as the CLI, and can scan every installed game or export a report without leaving the window. Scans run in the background, so the window stays responsive.
- Search and select an installed game
- Scan all installed games
- Run a full system diagnosis
- Check for GameDiag updates
- Export a JSON or Markdown report
GameDiag asks once, on first run, whether the graphical or terminal interface should be
the default. Either one is always available with gamediag gui or
gamediag terminal.
Install
GameDiag is currently installed from source.
$ git clone https://github.com/lucahmb/GameDiag.git
$ cd GameDiag
$ ./install.sh
$ gamediag
Arch package repository support is planned. GameDiag is not yet available via pacman.
Commands
gamediag gui
gamediag terminal
gamediag scan
gamediag system
Open source
GPL-3.0-or-later. Source available on GitHub.
View source