CLI tool for checking ProtonDB compatibility of your Steam games.

Overview

ProtonDB logo

protondb-check


protondb-check is currently in active development stage, there might be bugs or other problems.

Table Of Contents

About

protondb-check relies on data provided by Steam on products you own and later on lets you choose the game you want to check utilizing ProtonDB API.

Available commands

While -p or -a are both listed as not required, at least one should be provided.

Command Description Args Required Example
protondb-check Choose one game from all owned -p --profile-id No protondb-check -p 76561198354374976
protondb-check Check particular app even if not owned in Steam -a --app-id No protondb-check -a 1145360

Install

Windows / Linux

You can install protondb-check via

cargo install protondb-check

or using prebuilt binaries on the Releases page.

MacOS

Only cargo install protondb-check available for MacOS.

Compiling from source

Dependencies

  • cargo
  • rustc
  • openssl
  • pkg-config / pkgconf

git clone https://github.com/gpskwlkr/protondb-check && cd protondb-check

cargo build --release

cd target/release && ./protondb-check

To do

  • Tests coverage
  • Refactor code to be more safe
  • Refactor code to work with clap for better args
  • Receive single app-id through args
  • Receive single game name through args
  • Better way to handle filtering out DLCs
  • More to come...

Known issues

  • DLC filtering is kinda bad, right now, if you have 0 hours on record in any steam product, it won't be included in protondb-check list, since Steam doesn't count hours on DLC's, soundtracks, etc.

If anything else occurs, feel free to submit to issues page, otherwise, you can join Discord server.

You might also like...
TMM is a Linux native game modding tool. it allows to install and depoly mods for Linux native and wine games.

Tux Mod Manager TMM is a Linux native mod manager made with the Tauri toolkit. It can install, load, remove and deploy mods for both Linux native and

A diff-based data management language to implement unlimited undo, auto-save for games, and cloud-apps which needs to retain every change.

Docchi is a diff-based data management language to implement unlimited undo, auto-save for games, and cloud-apps which needs to save very often. User'

Open-source compiler for the Papyrus scripting language of Bethesda games.

Open Papyrus Compiler This project is still WORK IN PROGRESS. If you have any feature requests, head over to the Issues tab and describe your needs. Y

Calculate a player's skill level using Elo, DWZ, Ingo, TrueSkill, Glicko and Glicko-2 algorithms known from their usage in chess and online games.

skillratings Skillratings allows you to calculate the player's skill instantly in 1v1 matches or after tournaments/rating periods with a list of resul

A library for 3D grid coordinates: for games

Positioning rustdocs A library for manipulating coordinates on a 3D grid. This will contain code that I'll often end up repeating in games. Currently,

πŸ“¦ Distribute Roblox games as standalone executables -- No existing client necessary. 🚧
πŸ“¦ Distribute Roblox games as standalone executables -- No existing client necessary. 🚧

πŸ“¦ Packer Distribute Roblox games as standalone executables. 🚧 Packer is still being worked on. Among many other things, Windows is not currently sup

🐚+🦞 Ultra-portable Rust game engine suited for offline 2D games powered by WebAssembly

pagurus 🐚 + 🦞 Ultra-portable Rust game engine suited for offline 2D games powered by WebAssembly. Examples Snake Traditional snake game: examples/sn

Ember is a minimalistic Rust library for creating 2D graphics, games, and interactive visualizations with ease and simplicity.
Ember is a minimalistic Rust library for creating 2D graphics, games, and interactive visualizations with ease and simplicity.

Ember Ember is a simple and fun 2D rendering library for Rust, allowing you to quickly create graphics and interactive applications with ease. It uses

A small program which makes a rofi game launcher menu possible by creating .desktop entries for games
A small program which makes a rofi game launcher menu possible by creating .desktop entries for games

rofi-games A small program which makes a `rofi` game launcher menu possible by creating `.desktop` entries for games Installation Manual Clone repo: g

Releases(v0.3.2)
Owner
Giorgi Anakidze
.NET Developer with 4+ years of experience. | stuck in vim. | in love with Rust πŸ¦€. | Tbilisi, Georgia πŸ‡¬πŸ‡ͺ.
Giorgi Anakidze
Some Steam patches, fixing broken Steam features on Asus Rog Ally

Ally Steam Patches Ally Steam Patches is a tool designed to enhance your Steam experience by applying patches to the Steam client. Installation To ins

MIkhail Kozlov 2 Jul 10, 2023
Some Steam patches, fixing broken Steam features on Asus Rog Ally

βš™οΈ Steam Patch Steam Patch is a tool designed to enhance your Steam experience by applying patches to the Steam client. ?? Installation To install Ste

MIkhail Kozlov 3 Jul 18, 2023
Run Electron Steam games natively on Linux*

Boson βš›οΈ Boson is a Steam compatibility tool that allows you to run Electron-based games with a native build of Electron, rather than using the game's

Fyra Labs 5 Feb 13, 2024
πŸ§–πŸ»β€β™€οΈ Symlink your Steam screenshots to a sensible place

lnshot ????‍♀️ Symlink your Steam games' screenshot directories into your Pictures folder About This is a little utility to work around a bugbear of m

Jessica Stokes 23 Jan 31, 2023
sg = Steam Guard, access sg verification code locally.

Steam Guard CLI Access your Steam Guard token locally. Credit https://github.com/steevp/UpdogFarmer/blob/master/app/src/main/java/com/steevsapps/idled

Vanilla's Lab 7 Nov 10, 2022
Decryptor for Steam app: 2378900

IelmenDecryptor A batch decryption program for the files of a game on Steam that has the app ID: 2378900 It will process all encrypted .png, .json, an

null 3 Nov 14, 2023
Fast KubeJS script manager. Includes version control and compatibility with KJSPKG packages.

CarbonJS A KubeJS script manager Features ?? Super fast βš™οΈ Version control ?? Constantly new scripts being added βœ… Easy to use ?? Compatibility with K

Krzysztof PorΔ™ba 3 May 9, 2023
A cargo subcommand for checking and applying updates to installed executables

cargo-update A cargo subcommand for checking and applying updates to installed executables Documentation Manpage Installation Firstly, ensure you have

Π½Π°Π± 827 Jan 4, 2023
Execute Rust code carefully, with extra checking along the way

cargo-careful cargo careful is a tool to run your Rust code extra carefully -- opting into a bunch of nightly-only extra checks that help detect Undef

Ralf Jung 240 Dec 28, 2022
`matchable` provides a convenient enum for checking if a piece of text is matching a string or a regex.

matchable matchable provides a convenient enum for checking if a piece of text is matching a string or a regex. The common usage of this crate is used

Pig Fang 6 Dec 19, 2022