659 lines
36 KiB
Markdown
659 lines
36 KiB
Markdown
# Steam Tinker Launch — Env Vars & Program Arguments Reference
|
|
|
|
Source: `sonic2kk/steamtinkerlaunch` (single bash script, ~27,000 lines, v14.0.20250602).
|
|
|
|
## 1. Environment Variables Set by STL
|
|
|
|
### 1.1 Game Launch Time (most important)
|
|
|
|
| Variable | Set When | Value |
|
|
| ---------------------------------- | ------------------------------------------------- | ----------------------------------------- |
|
|
| `MANGOHUD` | `USEMANGOHUD=1` + `MAHUVAR=1` | `1` |
|
|
| `MANGOHUD_CONFIG` | `USEMANGOHUD=1` + `MAHUARGS` non-empty | `$MAHUARGS` |
|
|
| `MANGOHUD_CONFIGFILE` | `USEMANGOHUD=1` + `MHIC` set | `$MHIC` |
|
|
| `LD_PRELOAD` | `USEMANGOHUD=1` + `LDPMAHU=1` | `$LD_PRELOAD $MAHUBIN` |
|
|
| `DXVK_FRAME_RATE` | `USEDXVKFRL=1` | `$DXVK_FPSLIMIT` |
|
|
| `DXVK_HDR` | `DXVKHDR=1` | `1` |
|
|
| `DXVK_CONFIG_FILE` | `DXVKCFG`/`DXDLSSCFG` set | `$STLDXVKCFG` or `$DXDLSSCFG` |
|
|
| `PROTON_ENABLE_NVAPI` | `USENVAPI=1` | `1` |
|
|
| `PROTON_HIDE_NVIDIA_GPU` | `USENVAPI=1` | `0` |
|
|
| `WINEDEBUG` | `USEWINEDEBUG` set | `$STLWINEDEBUG` |
|
|
| `WINEDLLOVERRIDES` | `USEWINEDLLOVERRIDES` set | `$WINEDLLOVERRIDES;$STLWINEDLLOVERRIDES` |
|
|
| `WINEESYNC` | `ENABLE_WINESYNC=1` | `0` |
|
|
| `WINEFSYNC` | `ENABLE_WINESYNC=1` | `0` |
|
|
| `WINEFSYNC_FUTEX2` | `ENABLE_WINESYNC=1` | `0` |
|
|
| `__NV_PRIME_RENDER_OFFLOAD` | `USEPRIMERUN=1` | `1` |
|
|
| `__VK_LAYER_NV_optimus` | `USEPRIMERUN=1` | `NVIDIA_only` |
|
|
| `__GLX_VENDOR_LIBRARY_NAME` | `USEPRIMERUN=1` → `nvidia` / `USEZINK=1` → `mesa` | `nvidia` or `mesa` |
|
|
| `VK_ICD_FILENAMES` | `USEPRIMERUN=1` | `/usr/share/vulkan/icd.d/nvidia_icd.json` |
|
|
| `MESA_LOADER_DRIVER_OVERRIDE` | `USEZINK=1` | `zink` |
|
|
| `GALLIUM_DRIVER` | `USEZINK=1` | `zink` |
|
|
| `SDL_VIDEODRIVER` | `SDLUSEWAYLAND=1` | `wayland` |
|
|
| `ENABLE_GAMESCOPE_WSI` | `USEGAMESCOPE=1` + `USEGAMESCOPEWSI=1` | `1` |
|
|
| `RADV_PERFTEST` | `STLRAD_PFTST` set | `$STLRAD_PFTST` |
|
|
| `ENABLE_<PP>` | `VULKANPOSTPROCESSOR` set (e.g. `ENABLE_FSR=1`) | `1` |
|
|
| `LC_ALL` | Always | `$LANG` |
|
|
| `PULSE_LATENCY_MSEC` | `STL_PULSE_LATENCY_MSEC` set | `$STL_PULSE_LATENCY_MSEC` |
|
|
| `DOTNET_ROOT` | Vortex mod manager | `$VTX_DOTNET_ROOT` |
|
|
| `DOTNET_BUNDLE_EXTRACT_BASE_DIR` | Vortex mod manager | `$VTX_DOTNET_ROOT` |
|
|
| `ONSTEAMDECK` | Detected Steam Deck | `1` |
|
|
| `STEAM_COMPAT_CLIENT_INSTALL_PATH` | `$SROOT` set | `$SROOT` |
|
|
| `STEAM_COMPAT_INSTALL_PATH` | `$MEGAMEDIR` / `$EFD` / `$STLDLDIR` | depending on game path |
|
|
| `STEAM_COMPAT_DATA_PATH` | `$STL_COMPAT_DATA_PATH` / `$DESTCODA` | wine prefix |
|
|
| `STEAM_COMPAT_APP_ID` | `$DPRS` / `$EUNID` | app id |
|
|
| `SteamAppId` | Same as above | `$STEAM_COMPAT_APP_ID` |
|
|
| `STEAM_COMPAT_TOOL_PATHS` | Custom SLR / tool paths | colon-joined paths |
|
|
| `STEAM_COMPAT_LIBRARY_PATHS` | Set before game launch | |
|
|
| `STEAM_COMPAT_MOUNTS` | Set before game launch | |
|
|
| `VRPGWINXIS` | Game window XID | `$GAMEWINXID` |
|
|
|
|
### 1.2 VKD3D Configuration
|
|
|
|
| Variable | Set When | Value |
|
|
| -------------------------- | ---------------------------------------- | ------------------------------- |
|
|
| `VKD3D_CONFIG` | `USERAYTRACING=1` or `$STL_VKD3D_CONFIG` | `dxr11` or `$STL_VKD3D_CONFIG` |
|
|
| `VKD3D_DEBUG` | `$STL_VKD3D_DEBUG` set | `$STL_VKD3D_DEBUG` |
|
|
| `VKD3D_SHADER_DEBUG` | `$STL_VKD3D_SHADER_DEBUG` set | `$STL_VKD3D_SHADER_DEBUG` |
|
|
| `VKD3D_LOG_FILE` | `$STL_VKD3D_LOG_FILE` set | `$STL_VKD3D_LOG_FILE` |
|
|
| `VKD3D_VULKAN_DEVICE` | `$STL_VKD3D_VULKAN_DEVICE` set | `$STL_VKD3D_VULKAN_DEVICE` |
|
|
| `VKD3D_FILTER_DEVICE_NAME` | `$STL_VKD3D_FILTER_DEVICE_NAME` set | `$STL_VKD3D_FILTER_DEVICE_NAME` |
|
|
| `VKD3D_DISABLE_EXTENSIONS` | `$STL_VKD3D_DISABLE_EXTENSIONS` set | `$STL_VKD3D_DISABLE_EXTENSIONS` |
|
|
| `VKD3D_TEST_DEBUG` | `$STL_VKD3D_TEST_DEBUG` set | `$STL_VKD3D_TEST_DEBUG` |
|
|
| `VKD3D_TEST_FILTER` | `$STL_VKD3D_TEST_FILTER` set | `$STL_VKD3D_TEST_FILTER` |
|
|
| `VKD3D_TEST_EXCLUDE` | `$STL_VKD3D_TEST_EXCLUDE` set | `$STL_VKD3D_TEST_EXCLUDE` |
|
|
| `VKD3D_TEST_PLATFORM` | `$STL_VKD3D_TEST_PLATFORM` set | `$STL_VKD3D_TEST_PLATFORM` |
|
|
| `VKD3D_TEST_BUG` | `$STL_VKD3D_TEST_BUG` set | `$STL_VKD3D_TEST_BUG` |
|
|
| `VKD3D_PROFILE_PATH` | `$STL_VKD3D_PROFILE_PATH` set | `$STL_VKD3D_PROFILE_PATH` |
|
|
|
|
### 1.3 Wine Configuration
|
|
|
|
| Variable | Set When | Value |
|
|
| ------------ | -------------- | ------------------------- |
|
|
| `WINE` | `extWine64Run` | `$RUNWINE` |
|
|
| `WINEARCH` | `extWine64Run` | `win64` or `$RUNWINEARCH` |
|
|
| `WINEPREFIX` | `extWine64Run` | `$GPFX` or `$GWFX` |
|
|
|
|
## 2. Program Arguments Built
|
|
|
|
### 2.1 Command Chain (FINALSTARTCMD)
|
|
|
|
The final launch command is built by `buildCustomCmdLaunch`:
|
|
|
|
```
|
|
FINALSTARTCMD = [ GMR?, GSC?, GAMESCOPEARGSARR?, OBSC?, MAHUBIN?, --dlsym? ] + [SLRCMD?] + [EXTSTARTCMD] + [PROTSTARTCMD] + [GAMESTARTCMD] + [GAMEARGSARR]
|
|
```
|
|
|
|
### 2.2 Components
|
|
|
|
| Component | Set By | Value |
|
|
| ------------------------------ | ---------------------------------------------------------------- | --------------------------------- |
|
|
| `GMR` (GameMode) | `USEGAMEMODERUN=1` | `$(command -v gamemoderun)` |
|
|
| `GSC` (GameScope) | `USEGAMESCOPE=1` | `$(command -v gamescope)` |
|
|
| `GAMESCOPEARGSARR` | `gameScopeArgs "$GAMESCOPE_ARGS"` | parsed args from `GAMESCOPE_ARGS` |
|
|
| `OBSC` (OBS capture) | `USEOBSCAP=1` | `$(command -v obs-gamecapture)` |
|
|
| `MAHUBIN` (MangoHud) | `USEMANGOHUD=1` + `LDPMAHU=0` | `$(command -v mangohud)` |
|
|
| `--dlsym` | `MAHUDLSYM=1` | literal flag appended to MangoHud |
|
|
| `SLRCMD` (Steam Linux Runtime) | `setSLRReap` | SLR command array |
|
|
| `EXTSTARTCMD` | `setBoxtronCmd`/`setRobertaCmd`/`setLuxtorpedaCmd`/`setLinuxCmd` | game-specific command |
|
|
|
|
### 2.3 Proton Command (`PROTSTARTCMD`)
|
|
|
|
Built by `setProtonCmd`:
|
|
|
|
```
|
|
PROTSTARTCMD = ( "$RUNPROTON" "$WFEAR" ) + GAMESTARTCMD
|
|
```
|
|
|
|
Where:
|
|
|
|
- `$RUNPROTON` = path to proton binary
|
|
- `$WFEAR` = `waitforexitandrun`
|
|
|
|
### 2.4 Wine Command
|
|
|
|
Built by `setWineCmd`:
|
|
|
|
```
|
|
WINE=<proton-path>/bin/wine WINEARCH=win64 WINEDEBUG=<debug> WINEPREFIX=<prefix> <wine> <game-cmd>
|
|
```
|
|
|
|
### 2.5 Game Command (`GAMESTARTCMD`)
|
|
|
|
- Windows games: `$EFD/$GAMEEXE` (game exe path)
|
|
- Native games: `$GAMERUN` or user-specified binary
|
|
- Custom program: `$CUSTOMCMD` (with optional `$WICO` for Windows binaries)
|
|
- Luxtorpeda: `"$LUXTORPEDACMD" "$LUXTORPEDAARGS" "$LUXEXE"`
|
|
- Boxtron: `"$BOXTRONCMD" "$BOXTRONARGS" "$BOXTRONEXE"`
|
|
- Roberta: `"$ROBERTACMD" "$ROBERTAARGS" "$ROBERTAEXE"`
|
|
|
|
### 2.6 Game Arguments (`GAMEARGSARR`)
|
|
|
|
- `GAMEARGS` from user config
|
|
- `HARDARGS` from user config (hardcoded overrides)
|
|
- `SORTGARGS=1` → prepend Steam-provided args (`SLOARGS`)
|
|
- `GAMEARGS` can be set to `"none"` (disabled)
|
|
- `-dx12` appended when `USERAYTRACING=1`
|
|
|
|
## 3. GameScope Arguments
|
|
|
|
Parsed from `GAMESCOPE_ARGS` config. Examples:
|
|
|
|
- `--width 1280 --height 720`
|
|
- `--fs` (fullscreen)
|
|
- `--expose-wayland`
|
|
- `--immersive`
|
|
|
|
Always ends with `--` (required by GameScope).
|
|
|
|
## 4. MangoHud
|
|
|
|
| Setting | Variable | Notes |
|
|
| -------------- | --------------- | ------------------------------- |
|
|
| Enable | `USEMANGOHUD=1` | |
|
|
| Config string | `MAHUARGS` | Passed to `MANGOHUD_CONFIG` |
|
|
| Config file | `MHIC` | Passed to `MANGOHUD_CONFIGFILE` |
|
|
| Var mode | `MAHUVAR=1` | Sets `MANGOHUD=1` only |
|
|
| Binary preload | `LDPMAHU=1` | Sets `LD_PRELOAD=$MAHUBIN` |
|
|
| Dlsym mode | `MAHUDLSYM=1` | Appends `--dlsym` to MangoHud |
|
|
|
|
## 5. DXVK
|
|
|
|
| Setting | Variable | Notes |
|
|
| ----------- | --------------------- | -------------------------------------------------------- |
|
|
| HDR | `DXVKHDR=1` | Sets `DXVK_HDR=1` |
|
|
| Frame limit | `USEDXVKFRL=1` | Sets `DXVK_FRAME_RATE=$DXVK_FPSLIMIT` |
|
|
| Config file | `DXVKCFG`/`DXDLSSCFG` | Sets `DXVK_CONFIG_FILE` |
|
|
| NVAPI | `USENVAPI=1` | Sets `PROTON_ENABLE_NVAPI=1`, `PROTON_HIDE_NVIDIA_GPU=0` |
|
|
|
|
## 6. Vulkan Post-Processors
|
|
|
|
| Processor | Env Var |
|
|
| --------- | ------------------- |
|
|
| FSR | `ENABLE_FSR=1` |
|
|
| DLSS | `USEDLSS=1` |
|
|
| VKBasalt | `ENABLE_VKBASALT=1` |
|
|
|
|
## 7. GameMode
|
|
|
|
| Setting | Variable | Notes |
|
|
| ------- | ------------------ | -------------------------------- |
|
|
| Enable | `USEGAMEMODERUN=1` | Prepends `gamemoderun` to launch |
|
|
|
|
## 8. Custom Program (CustomCMD)
|
|
|
|
| Setting | Variable | Notes |
|
|
| -------------- | ---------------------- | ------------------------------------------- |
|
|
| Enable | `CUSTOMCMD` set | User-specified executable |
|
|
| Force Wine | `CUSTOMCMDFORCEWIN=1` | Force Wine/Proton wrapper |
|
|
| External progs | `EXTPROGS_CUSTOMCMD=1` | Apply MangoHud/GameScope to custom program |
|
|
| Fork | `FORK_CUSTOMCMD=1` | Fork process in background |
|
|
| Only custom | `ONLY_CUSTOMCMD=1` | Skip game, run only custom command |
|
|
| Wait | `WAITFORCUSTOMCMD=N` | Wait N seconds for custom command to start |
|
|
| Use SLR | `CUSTOMCMD_USESLR=1` | Use Steam Linux Runtime with custom command |
|
|
|
|
## 9. Conty (Containerized Wine)
|
|
|
|
| Setting | Variable | Notes |
|
|
| ------------ | ------------ | --------------------------- |
|
|
| Enable | `USECONTY=1` | |
|
|
| Binary | `RUNCONTY` | `$CONTYDLDIR/$CONTY` |
|
|
| Pick Conty | `PICKCONT` | user-specified Conty binary |
|
|
| Custom Conty | `CUSTCONTY` | user-specified Conty binary |
|
|
|
|
Launches as: `"$RUNCONTY" "${RUNCMD[@]}"`
|
|
|
|
## 10. Mod Organizer 2 (MO2)
|
|
|
|
| Setting | Variable | Notes |
|
|
| -------- | --------- | ------------------------------- |
|
|
| Mode | `MO2MODE` | `disabled` / `enabled` / `auto` |
|
|
| MO2 exe | `GMO2EXE` | Path to MO2 executable |
|
|
| MO2 path | `MO2PATH` | Path to MO2 installation |
|
|
|
|
Launches MO2 with: `STEAM_COMPAT_CLIENT_INSTALL_PATH=... STEAM_COMPAT_DATA_PATH=... $RUNPROTON run ${MO}.exe -i $MYINST $1`
|
|
|
|
## 11. Vortex Mod Manager
|
|
|
|
| Setting | Variable | Notes |
|
|
| ------------ | ----------------- | ------------------------------------------------------- |
|
|
| Enable | `USEVORTEX=1` | |
|
|
| Setup | `VORTEXSETUP` | |
|
|
| Download dir | `VORTEXDLDIR` | |
|
|
| .NET root | `VTX_DOTNET_ROOT` | Sets `DOTNET_ROOT` and `DOTNET_BUNDLE_EXTRACT_BASE_DIR` |
|
|
| VPath | `VSPATH` | `$VORTEXDLDIR/$VORTEXSETUP` |
|
|
|
|
## 12. Shader Management
|
|
|
|
| Setting | Variable | Notes |
|
|
| ---------- | -------------- | ------------------------------ |
|
|
| Shader dir | `SHADDESTDIR` | Default shader destination |
|
|
| Repos | `SHADERREPOS` | Shader repository URLs |
|
|
| Update | `SHADERUPDATE` | `1` = update shaders on launch |
|
|
|
|
## 13. Network/Internet Blocking
|
|
|
|
| Setting | Variable | Notes |
|
|
| -------------- | ----------------- | --------------------------------- |
|
|
| Block internet | `BLOCKINTERNET=1` | Uses `unshare -n -r` to namespace |
|
|
| `BLOCKCMD` | `unshare` | |
|
|
| `BLOCKARGS` | `-n -r` | Network + user namespace |
|
|
|
|
## 14. Wine Debug
|
|
|
|
| Setting | Variable | Notes |
|
|
| -------------- | --------------------- | ------------------------ |
|
|
| Debug channels | `STLWINEDEBUG` | e.g. `+relay,+timestamp` |
|
|
| DLL overrides | `STLWINEDLLOVERRIDES` | e.g. `dxvk=n:d3d11` |
|
|
|
|
## 15. Game Window Management
|
|
|
|
| Setting | Variable | Notes |
|
|
| ------------ | ------------- | ------------------------- |
|
|
| Window name | `GAMEWINDOW` | X11 window name to target |
|
|
| Window XID | `GAMEWINXID` | X11 window XID |
|
|
| `VRPGWINXIS` | `$GAMEWINXID` | Used for VR games |
|
|
|
|
## 16. Steam Deck Specific
|
|
|
|
| Setting | Variable | Value |
|
|
| ----------- | --------------------- | ----- |
|
|
| Detected | `ONSTEAMDECK` | `1` |
|
|
| Was update | `STEAMDECKWASUPDATE` | `0` |
|
|
| Did install | `STEAMDECKDIDINSTALL` | `1` |
|
|
| Steam Run | `STEAMDECKSTEAMRUN` | `0` |
|
|
|
|
## 17. Game Files
|
|
|
|
| Setting | Variable | Notes |
|
|
| --------- | ------------ | ------------------------- |
|
|
| Game dir | `$EFD` | Executable file directory |
|
|
| Game exe | `$GAMEEXE` | Game executable name |
|
|
| Game path | `$GP` | Absolute game path |
|
|
| Mega dir | `$MEGAMEDIR` | Game install directory |
|
|
|
|
## 18. Proton
|
|
|
|
| Setting | Variable | Notes |
|
|
| --------------- | ----------------------- | --------------------------- |
|
|
| Use proton | `USEPROTON` | Proton version string |
|
|
| Proton bin | `$PROTBIN` | Path to proton binary |
|
|
| Compat data | `$STL_COMPAT_DATA_PATH` | Wine prefix path |
|
|
| PFX | `$GPFX` | `$STL_COMPAT_DATA_PATH/pfx` |
|
|
| Run proton | `RUNPROTON` | Full proton command |
|
|
| Run wine server | `RUNWINESERVER` | `run_wine_server` path |
|
|
| Proton version | `PROTONVERSION` | Version string |
|
|
|
|
## 19. Winetricks
|
|
|
|
| Setting | Variable | Notes |
|
|
| -------------- | ---------------- | -------------------------- |
|
|
| Run winetricks | `RUNWINETRICKS` | Winetricks commands to run |
|
|
| Winetricks bin | `$SYSWINETRICKS` | `winetricks` path |
|
|
|
|
## 20. GDB Debugging
|
|
|
|
| Setting | Variable | Notes |
|
|
| ---------- | ------------ | --------------- |
|
|
| GDB run | `GDBGAMERUN` | GDB script path |
|
|
| GDB script | `GDBRUN` | GDB script |
|
|
| Run GDB | `RUN_GDB=1` | Enable GDB |
|
|
|
|
## 21. VR
|
|
|
|
| Setting | Variable | Notes |
|
|
| -------------- | -------------- | --------------------------- |
|
|
| VR init | `VRINITLOCK` | VR initialization lock file |
|
|
| VR init result | `VRINITRESULT` | VR init result file |
|
|
|
|
## 22. One-Time Run
|
|
|
|
| Setting | Variable | Notes |
|
|
| ------------ | ------------ | ------------------- |
|
|
| One-time run | `USEONERT=1` | |
|
|
| Custom path | `OPCUSTPATH` | Custom program path |
|
|
|
|
## 23. Standalone Proton
|
|
|
|
| Setting | Variable | Notes |
|
|
| ----------------- | ----------------------- | ---------------------- |
|
|
| Use standalone | `USESTANDALONEPROTON=1` | |
|
|
| Standalone proton | `$STLPROTDIR` | STL-managed proton dir |
|
|
|
|
## 24. GameScope Args
|
|
|
|
| Setting | Variable | Notes |
|
|
| -------------- | ---------------- | ------------------------------ |
|
|
| GameScope args | `GAMESCOPE_ARGS` | Space-separated args |
|
|
| MangoApp | `USEMANGOAPP=1` | Uses MangoHud App (Steam Deck) |
|
|
|
|
## 25. DXVK HUD
|
|
|
|
| Setting | Variable | Notes |
|
|
| -------- | ---------- | -------------------- |
|
|
| DXVK HUD | `DXVK_HUD` | HUD elements to show |
|
|
|
|
## 26. Game Scope
|
|
|
|
| Setting | Variable | Notes |
|
|
| ------------- | ------------------- | --------------------------- |
|
|
| GameScope | `USEGAMESCOPE=1` | Enable GameScope |
|
|
| GameScope WSI | `USEGAMESCOPEWSI=1` | Enable GameScope WSI |
|
|
| GameScope fix | `FIXGAMESCOPE=1` | Fix GameScope on Steam Deck |
|
|
|
|
## 27. OBS Capture
|
|
|
|
| Setting | Variable | Notes |
|
|
| ----------- | ------------- | ----------------------- |
|
|
| OBS capture | `USEOBSCAP=1` | Enable OBS game capture |
|
|
|
|
## 28. Vulkan Post Processor
|
|
|
|
| Setting | Variable | Notes |
|
|
| --------- | --------------------- | ------------------- |
|
|
| Vulkan PP | `VULKANPOSTPROCESSOR` | Post-processor name |
|
|
|
|
## 29. SDL Wayland
|
|
|
|
| Setting | Variable | Notes |
|
|
| ----------- | ----------------- | ------------------------ |
|
|
| SDL Wayland | `SDLUSEWAYLAND=1` | Force SDL to use Wayland |
|
|
|
|
## 30. Wine DPI Scaling
|
|
|
|
| Setting | Variable | Notes |
|
|
| -------- | --------- | ----------------- |
|
|
| Wine DPI | `WINEDPI` | DPI scaling value |
|
|
|
|
## 3. GameScope CLI Arguments
|
|
|
|
Parsed from `GAMESCOPE_ARGS` config string. Always ends with `--`.
|
|
|
|
### 3.1 General Options
|
|
|
|
| Flag | Description | Type |
|
|
| ---------------------------- | ---------------------------------------------- | ---------------------- |
|
|
| `-W <width>` | Show resolution width | number |
|
|
| `-H <height>` | Show resolution height | number |
|
|
| `-w <width>` | Internal resolution width (what games see) | number |
|
|
| `-h <height>` | Internal resolution height | number |
|
|
| `-r <fps>` | Focused frame rate limit | 30/60/90/120/unlimited |
|
|
| `-o <fps>` | Unfocused frame rate limit | 30/60/90/120/unlimited |
|
|
| `-f` | Fullscreen | bool |
|
|
| `-b` | Borderless window | bool |
|
|
| `-e` | Steam integration (fixes peripheral bugs) | bool |
|
|
| `--force-windows-fullscreen` | Force windows fullscreen inside nested display | bool |
|
|
| `--force-grab-cursor` | Keep cursor inside GameScope nested display | bool |
|
|
| `-g` | Force grab keyboard | bool |
|
|
| `--force-orientation <dir>` | Orientation (left/right/normal/upsidedown) | dropdown |
|
|
| `--cursor <path>` | Custom cursor image | file picker |
|
|
| `-s <float>` | Mouse sensitivity | number (default 1.0) |
|
|
|
|
### 3.2 Filtering & Scaling Options
|
|
|
|
**New filter mode (GameScope ≥3.11):**
|
|
|
|
| Flag | Description | Type |
|
|
| ------------- | ----------------------------------------------- | -------- |
|
|
| `-F <filter>` | Filter (none/linear/nearest/fsr/nis/pixel) | dropdown |
|
|
| `-S <scale>` | Scale mode (none/auto/integer/fit/fill/stretch) | dropdown |
|
|
|
|
**Legacy filter mode (older GameScope):**
|
|
|
|
| Flag | Description | Type |
|
|
| ----------------------- | ------------------------------------------- | ------ |
|
|
| `-i` | Integer scaling | bool |
|
|
| `-n` | Nearest neighbor filtering | bool |
|
|
| `-U <fsr>` | FSR 1.0 upscaling | bool |
|
|
| `-Y` | NVIDIA Image Scaling v1.0.3 | bool |
|
|
| `--fsr-sharpness <int>` | FSR sharpness (0-20, default 2) | number |
|
|
| `-m <int>` | Max scale factor (Steam Deck defaults to 2) | number |
|
|
|
|
### 3.3 HDR Options
|
|
|
|
| Flag | Description | Type |
|
|
| --------------------------- | --------------------------------------- | ------ |
|
|
| `--hdr-enabled` | Enable HDR | bool |
|
|
| `--hdr-wide-gammut-for-sdr` | Wide gammut for SDR | bool |
|
|
| `--hdr-sdr-content-nits` | SDR content nits (default 400) | number |
|
|
| `--hdr-itm-enable` | Inverse tone mapping enabled | bool |
|
|
| `--hdr-itm-sdr-nits` | ITM SDR nits (0-1000, default 100) | number |
|
|
| `--hdr-itm-target-nits` | ITM target nits (0-10000, default 1000) | number |
|
|
|
|
### 3.4 VR Options
|
|
|
|
| Flag | Description | Type |
|
|
| ------------------------------------------ | -------------------------------------- | ----------- |
|
|
| `--openvr` | Enable OpenVR | bool |
|
|
| `--vr-overlay-explicit-name <str>` | SteamVR explicit name | text |
|
|
| `--vr-overlay-default-name <str>` | SteamVR default name | text |
|
|
| `--vr-overlay-key <str>` | SteamVR overlay key string | text |
|
|
| `--vr-overlay-icon <path>` | SteamVR overlay icon | file picker |
|
|
| `--vr-overlay-show-immediately` | Show VR overlay immediately | bool |
|
|
| `--vr-overlay-enable-control-bar` | Enable SteamVR control bar | bool |
|
|
| `--vr-overlay-enable-control-bar-keyboard` | Enable keyboard button on control bar | bool |
|
|
| `--vr-overlay-enable-control-bar-close` | Enable close button on control bar | bool |
|
|
| `--vr-scrolls-speed <float>` | VR trackpad scroll speed (default 8.0) | number |
|
|
| `--vr-overlay-modal` | Show SteamVR overlay as modal | bool |
|
|
|
|
### 3.5 Embedded & Display Options
|
|
|
|
| Flag | Description | Type |
|
|
| ----------------------------- | ------------------------------------------------------------------------- | -------- |
|
|
| `--default-touch-mode <mode>` | Default touch action (hover/leftclick/rightclick/middleclick/passthrough) | dropdown |
|
|
| `--immediate-flips` | Enable immediate flips (tearing allowed) | bool |
|
|
| `--adaptive-sync` | Enable adaptive sync / VRR | bool |
|
|
| `-O <outputs>` | Preferred GameScope output(s) | text |
|
|
| `--generate-drm-mode <mode>` | DRM mode generation (default/cvt/fixed) | dropdown |
|
|
|
|
### 3.6 Advanced Options
|
|
|
|
| Flag | Description | Type |
|
|
| --------------------------- | ---------------------------------------------- | ----------- |
|
|
| `--stats-path <path>` | Path to write GameScope statistics | file picker |
|
|
| `--backend <backend>` | Backend (auto/sdl/wayland/drm/headless/openvr) | dropdown |
|
|
| `-C <ms>` | Cursor hide delay in milliseconds | number |
|
|
| `--force-composition` | Disable direct scan-out | bool |
|
|
| `--debug-hud` | Draw debug HUD | bool |
|
|
| `--hdr-debug-force-support` | Force HDR support flag | bool |
|
|
| `--hdr-debug-force-output` | Force HDR output on display | bool |
|
|
| `--prefer-vk-device` | Prefer Vulkan device for compositing | bool |
|
|
| `--expose-wayland` | Expose Wayland | bool |
|
|
| `--rt` | Realtime scheduling | bool |
|
|
| `--headless` | Headless mode | bool |
|
|
|
|
## 4. MangoHud CLI Arguments
|
|
|
|
### 4.1 Launch Command
|
|
|
|
```
|
|
$mangohud [--dlsym] <game_command>
|
|
```
|
|
|
|
### 4.2 Configuration
|
|
|
|
| Setting | Variable | Description |
|
|
| ----------- | -------- | ----------------------------------------------------------- |
|
|
| `MAHUARGS` | Config | MangoHud config string (passed as `MANGOHUD_CONFIG`) |
|
|
| `MHIC` | Config | MangoHud config file path (passed as `MANGOHUD_CONFIGFILE`) |
|
|
| `MAHUVAR` | Config | If 1, sets `MANGOHUD=1` instead of binary |
|
|
| `LDPMAHU` | Config | If 1, uses `LD_PRELOAD` instead of binary wrapper |
|
|
| `MAHUDLSYM` | Config | If 1, appends `--dlsym` to mangohud |
|
|
|
|
## 5. Proton/Wine CLI Arguments
|
|
|
|
### 5.1 Proton Command
|
|
|
|
```
|
|
$RUNPROTON run [--verb] <game_exe> <game_args...>
|
|
```
|
|
|
|
Where `--verb` is the Steam runtime flag, `run` is the Proton subcommand.
|
|
|
|
### 5.2 Wine Command
|
|
|
|
```
|
|
WINE=<proton>/bin/wine WINEARCH=win64 WINEDEBUG=<debug> WINEPREFIX=<prefix> <wine> <game_cmd>
|
|
```
|
|
|
|
### 5.3 Proton Environment Variables
|
|
|
|
| Variable | Description |
|
|
| ---------------------------------- | ------------------------- |
|
|
| `PROTON_LOG` | Enable Proton logging |
|
|
| `PROTON_LOG_DIR` | Proton log directory |
|
|
| `PROTON_DEBUG_DIR` | Proton debug directory |
|
|
| `PROTON_DUMP_DEBUG_COMMANDS` | Dump debug commands |
|
|
| `PROTON_FORCE_LARGE_ADDRESS_AWARE` | Force large address aware |
|
|
| `PROTON_NO_D3D10` | Disable D3D10 |
|
|
| `PROTON_NO_D3D11` | Disable D3D11 |
|
|
| `PROTON_NO_ESYNC` | Disable esync |
|
|
| `PROTON_NO_FSYNC` | Disable fsync |
|
|
| `PROTON_ENABLE_NVAPI` | Enable NVAPI |
|
|
| `PROTON_HIDE_NVIDIA_GPU` | Hide NVIDIA GPU |
|
|
| `PROTON_USE_WINED3D` | Use wined3d |
|
|
| `NETOPTS` | Network options |
|
|
|
|
## 6. DXVK CLI Arguments
|
|
|
|
### 6.1 DXVK HUD Options (comma-separated)
|
|
|
|
```
|
|
DXVK_HUD=<options>
|
|
```
|
|
|
|
| Option | Description |
|
|
| ------------- | ----------------- |
|
|
| `1` | Frame count |
|
|
| `devinfo` | Device info |
|
|
| `fps` | Frames per second |
|
|
| `frametimes` | Frame times |
|
|
| `submissions` | Submission count |
|
|
| `drawcalls` | Draw call count |
|
|
| `pipelines` | Pipeline count |
|
|
| `memory` | Memory usage |
|
|
| `gpuload` | GPU load |
|
|
| `version` | DXVK version |
|
|
| `api` | API version |
|
|
| `compiler` | Shader compiler |
|
|
| `samplers` | Sampler count |
|
|
| `full` | Full HUD |
|
|
|
|
Additional DXVK HUD options:
|
|
|
|
- `scale=<float>` — HUD scale factor
|
|
|
|
### 6.2 DXVK Configuration
|
|
|
|
| Variable | Description |
|
|
| ------------------ | ----------------------------------------- |
|
|
| `DXVK_HUD` | HUD options (see above) |
|
|
| `DXVK_LOG_LEVEL` | Log level (info/error/perf/debug/verbose) |
|
|
| `DXVK_CONFIG_FILE` | Path to DXVK config file |
|
|
| `DXVK_FRAME_RATE` | FPS limit |
|
|
| `DXVK_HDR` | HDR enable |
|
|
|
|
## 7. VKD3D CLI Arguments
|
|
|
|
| Variable | Description |
|
|
| -------------------------- | ------------------------------------------- |
|
|
| `VKD3D_CONFIG` | Config string (e.g. `dxr11` for raytracing) |
|
|
| `VKD3D_DEBUG` | Debug level |
|
|
| `VKD3D_SHADER_DEBUG` | Shader debug level |
|
|
| `VKD3D_LOG_FILE` | Log file path |
|
|
| `VKD3D_VULKAN_DEVICE` | Vulkan device to use |
|
|
| `VKD3D_FILTER_DEVICE_NAME` | Filter devices by name |
|
|
| `VKD3D_DISABLE_EXTENSIONS` | Disable Vulkan extensions |
|
|
| `VKD3D_TEST_DEBUG` | Test debug level |
|
|
| `VKD3D_TEST_FILTER` | Test filter |
|
|
| `VKD3D_TEST_EXCLUDE` | Test exclude |
|
|
| `VKD3D_TEST_PLATFORM` | Test platform |
|
|
| `VKD3D_TEST_BUG` | Test bug |
|
|
| `VKD3D_PROFILE_PATH` | Profile path |
|
|
|
|
## 8. Wine Environment Variables
|
|
|
|
| Variable | Description |
|
|
| --------------------------------- | --------------------------- |
|
|
| `WINE_FULLSCREEN_FSR` | FSR in Wine (1=enabled) |
|
|
| `USEFWS` | FSR in Wine (1=enabled) |
|
|
| `WINE_FULLSCREEN_FSR_STRENGTH` | FSR strength |
|
|
| `WINE_FULLSCREEN_FSR_MODE` | FSR mode |
|
|
| `WINE_FULLSCREEN_FSR_CUSTOM_MODE` | Custom FSR mode |
|
|
| `WINE_FULLSCREEN_INTEGER_SCALING` | Integer scaling (1=enabled) |
|
|
| `WINEDLLOVERRIDES` | DLL overrides |
|
|
| `WINEDEBUG` | Debug channels |
|
|
| `WINEESYNC` | Esync (0=disabled) |
|
|
| `WINEFSYNC` | Fsync (0=disabled) |
|
|
| `WINEFSYNC_FUTEX2` | Fsync futex2 (0=disabled) |
|
|
|
|
## 31. Raytracing
|
|
|
|
| Setting | Variable | Notes |
|
|
| ---------- | ----------------- | ------------------------------------------------------- |
|
|
| Raytracing | `USERAYTRACING=1` | Sets `VKD3D_CONFIG=dxr11`, appends `-dx12` to game args |
|
|
|
|
## 32. PrimeRun (NVIDIA Prime Render Offload)
|
|
|
|
| Setting | Variable | Notes |
|
|
| ------- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
| Enable | `USEPRIMERUN=1` | Sets `__NV_PRIME_RENDER_OFFLOAD=1`, `__VK_LAYER_NV_optimus=NVIDIA_only`, `__GLX_VENDOR_LIBRARY_NAME=nvidia`, `VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json` |
|
|
|
|
## 33. Zink (Vulkan-to-Gallium)
|
|
|
|
| Setting | Variable | Notes |
|
|
| ------- | ----------- | ------------------------------------------------------------------------------------------------ |
|
|
| Enable | `USEZINK=1` | Sets `__GLX_VENDOR_LIBRARY_NAME=mesa`, `MESA_LOADER_DRIVER_OVERRIDE=zink`, `GALLIUM_DRIVER=zink` |
|
|
|
|
## 34. WineSync
|
|
|
|
| Setting | Variable | Notes |
|
|
| ------- | ------------------- | ------------------------------------------------------- |
|
|
| Enable | `ENABLE_WINESYNC=1` | Sets `WINEESYNC=0`, `WINEFSYNC=0`, `WINEFSYNC_FUTEX2=0` |
|
|
|
|
## 35. X64dbg
|
|
|
|
| Setting | Variable | Notes |
|
|
| --------------- | -------------------------- | --------------------------- |
|
|
| Run X64dbg | `RUN_X64DBG=1` | Enable x64dbg |
|
|
| Attach on start | `X64DBG_ATTACHONSTARTUP=1` | Attach x64dbg on game start |
|
|
|
|
## 36. Dependencies
|
|
|
|
| Setting | Variable | Notes |
|
|
| -------- | ------------ | --------------------- |
|
|
| Run deps | `RUN_DEPS=1` | Install dependencies |
|
|
| Dep exe | `DEPSEXE` | Dependency executable |
|
|
|
|
## 37. Boxtron
|
|
|
|
| Setting | Variable | Notes |
|
|
| ------- | -------------- | ------------------------------ |
|
|
| Enable | `USEBOXTRON=1` | |
|
|
| Args | `BOXTRONARGS` | `--wait-before-run` by default |
|
|
| Binary | `BOXTRONCMD` | Boxtron path |
|
|
| Exe | `BOXTRONEXE` | Boxtron exe |
|
|
|
|
## 38. Roberta
|
|
|
|
| Setting | Variable | Notes |
|
|
| ------- | -------------- | ------------------------------ |
|
|
| Enable | `USEROBERTA=1` | |
|
|
| Args | `ROBERTAARGS` | `--wait-before-run` by default |
|
|
| Binary | `ROBERTACMD` | Roberta path |
|
|
| Exe | `ROBERTAEXE` | Roberta exe |
|
|
|
|
## 39. Luxtorpeda
|
|
|
|
| Setting | Variable | Notes |
|
|
| ------- | ----------------- | --------------- |
|
|
| Enable | `USELUXTORPEDA=1` | |
|
|
| Args | `LUXTORPEDAARGS` | Luxtorpeda args |
|
|
| Binary | `LUXTORPEDACMD` | Luxtorpeda path |
|
|
| Exe | `LUXEXE` | Luxtorpeda exe |
|
|
|
|
## 40. Game Mode
|
|
|
|
| Setting | Variable | Notes |
|
|
| --------- | ------------------ | --------------- |
|
|
| Game Mode | `USEGAMEMODERUN=1` | Enable GameMode |
|