everything

This commit is contained in:
2026-08-05 20:27:01 +01:00
commit 2b746b2ecb
43 changed files with 6250 additions and 0 deletions
+658
View File
@@ -0,0 +1,658 @@
# 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 |