Skip to content

Repository files navigation

ScopeBuddy Configuration

Personal configuration for the ScopeBuddy launcher — a Steam / Lutris / Heroic compatibility wrapper around gamescope and Proton. This repo holds the bash framework and the per-game configs that ScopeBuddy sources at launch.

How it works

ScopeBuddy is installed at /usr/bin/scopebuddy. At launch it selects one entry point — scb.conf (desktop), noscope.conf (no gamescope) or gamemode.conf (Steam Game Mode) — based on the environment. Each entry point:

  1. sources scripts/bootstrap.sh, which loads the framework modules;
  2. applies the profile defaults and the optional <profile>.local.conf;
  3. sources the matching games/<provider>/<id>.conf and its .local.conf.

The framework exports environment variables (PROTON_*, DXVK_*, SCB_*, MANGOHUD_*, …) into the game process to control rendering, compatibility and the overlay. See docs/reference.md for every helper and the Proton variant support matrix.

Layout

scopebuddy/
├── scb.conf / noscope.conf / gamemode.conf   # entry points (one per profile)
├── scripts/        # bash framework, sourced via bootstrap.sh
├── games/
│   ├── steam/      # per-AppID configs (numeric filename)
│   └── lutris/     # per-game configs (slug filename)
├── mangohud/       # MangoHud config and presets
├── assets/         # bundled DLLs / installers (Git LFS)
├── docs/           # reference documentation
└── tools/          # lint / format / doc checks

Add a game config

  1. Find the ID — Steam: the number in the store URL or on steamdb.info; Lutris: the game slug. Save as games/steam/<appid>.conf or games/lutris/<slug>.conf. Heroic and Ubisoft are auto-detected from their URI schemes; save under games/heroic/<id>.conf or games/ubisoft/<id>.conf.
  2. Add helper calls. The existing files in games/ are the working examples — copy the closest one and adjust.
# <Game Title>

enable_dlss_override
set_framerate_limit 120

See docs/reference.md for the full helper list.

Local overrides

Any *.local.conf is gitignored and sourced after the tracked file, so it wins on conflict. Use it for machine-specific or experimental settings:

  • scb.local.conf — overrides for the desktop profile
  • mangohud/MangoHud.local.conf — machine-specific overlay
  • games/<provider>/<id>.local.conf — per-game local tweak

Tooling

All three are read-only and exit 0 on success; run them before committing:

  • tools/lint.sh — shellcheck every tracked .sh and .conf
  • tools/format.sh [--check] — shfmt; --check reports diffs without writing
  • tools/check-docs.sh — verify the helper tables in docs/reference.md match the functions defined in scripts/

Requirements

  • ScopeBuddy launcher ≥ 1.4.0.
  • Proton-CachyOS or Proton-GE 10 (see the variant matrix in the reference).
  • Git LFS for assets/.
  • Optional: a dual-boot Windows partition mounted at /run/media/$USER/Windows for configs that symlink save data; those configs no-op when it is absent.

About

Personal ScopeBuddy configuration — bash framework and per-game configs for gamescope + Proton

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages