dotfiles/steam-heroic-shortcuts.md
Daniel Bulant 847fe42a9c
docs
2026-05-31 23:20:36 +02:00

96 lines
4.3 KiB
Markdown

# Steam Heroic Direct Shortcuts
Reference for the non-declarative Steam shortcuts added for Heroic-managed games.
These live in Steam config files, not Nix, so this file records the important state for future recovery.
## Files
- Steam shortcuts: `/home/dan/.local/share/Steam/userdata/238310127/config/shortcuts.vdf`
- Steam compatibility mapping: `/home/dan/.local/share/Steam/config/config.vdf`
- Steam compatdata: `/home/dan/.local/share/Steam/steamapps/compatdata/`
- Heroic game config: `/home/dan/.config/heroic/GamesConfig/`
## Steam Shortcuts
All direct shortcuts are configured to use `DW-Proton Latest`.
| Name | App ID | Exe | StartDir | Launch options |
| --- | ---: | --- | --- | --- |
| `Arknights: Endfield (Direct Launcher)` | `3532200938` | `/home/dan/Games/Heroic/ArknightsEndfieldgowoU/Launcher.exe` | `/home/dan/Games/Heroic/ArknightsEndfieldgowoU` | empty |
| `Arknights: Endfield (Direct Game)` | `2506976826` | `/home/dan/Games/Heroic/ArknightsEndfieldgowoU/games/EndField Game/Endfield.exe` | `/home/dan/Games/Heroic/ArknightsEndfieldgowoU/games/EndField Game` | empty |
| `Zenless Zone Zero (Direct Launcher)` | `2568476331` | `/home/dan/Games/Heroic/ZenlessZoneZero/launcher_epic.exe` | `/home/dan/Games/Heroic/ZenlessZoneZero` | `UMU_ID=umu-zenlesszonezero UMU_USE_STEAM=1 WINE_DISABLE_VULKAN_OPWR=1 %command% {enable_pay:true}` |
| `Zenless Zone Zero (Direct Game)` | `4264951319` | `/home/dan/Games/Heroic/ZenlessZoneZero/games/ZenlessZoneZero Game/ZenlessZoneZero.exe` | `/home/dan/Games/Heroic/ZenlessZoneZero/games/ZenlessZoneZero Game` | `UMU_ID=umu-zenlesszonezero UMU_USE_STEAM=1 WINE_DISABLE_VULKAN_OPWR=1 %command%` |
The original Heroic-generated shortcuts were left in place:
| Name | App ID | Exe | Launch options |
| --- | ---: | --- | --- |
| `Zenless Zone Zero` | `2928100415` | `heroic` | `--no-gui --no-sandbox "heroic://launch?appName=525aa0efd70f4399b9f64bcd2a5b38c7&runner=legendary"` |
| `Arknights: Endfield` | `2465091319` | `heroic` | `--no-gui --no-sandbox "heroic://launch?appName=bcd55b0d87c245dd867f5b1bd496f1df&runner=legendary"` |
## Compatibility Mapping
The app IDs above were added under `InstallConfigStore.Software.Valve.Steam.CompatToolMapping` in Steam's `config.vdf`:
```vdf
"CompatToolMapping"
{
"3532200938"
{
"name" "DW-Proton Latest"
"config" ""
"priority" "250"
}
"2506976826"
{
"name" "DW-Proton Latest"
"config" ""
"priority" "250"
}
"2568476331"
{
"name" "DW-Proton Latest"
"config" ""
"priority" "250"
}
"4264951319"
{
"name" "DW-Proton Latest"
"config" ""
"priority" "250"
}
}
```
## Prefix Links
The direct Steam shortcuts use the existing Heroic prefixes by symlinking each shortcut's `pfx` directory:
```sh
ln -s "/home/dan/Games/Heroic/Prefixes/default/Zenless Zone Zero" \
"/home/dan/.local/share/Steam/steamapps/compatdata/2568476331/pfx"
ln -s "/home/dan/Games/Heroic/Prefixes/default/Zenless Zone Zero" \
"/home/dan/.local/share/Steam/steamapps/compatdata/4264951319/pfx"
ln -s "/home/dan/Games/Heroic/Prefixes/default/Arknights Endfield" \
"/home/dan/.local/share/Steam/steamapps/compatdata/3532200938/pfx"
ln -s "/home/dan/Games/Heroic/Prefixes/default/Arknights Endfield" \
"/home/dan/.local/share/Steam/steamapps/compatdata/2506976826/pfx"
```
If Steam already created a fresh prefix, move it aside before creating the symlink:
```sh
mv "/home/dan/.local/share/Steam/steamapps/compatdata/4264951319/pfx" \
"/home/dan/.local/share/Steam/steamapps/compatdata/4264951319/pfx.steam-empty-bak"
```
## Notes
- `gamescope` is installed declaratively in `servers/ui-mode/home.nix` for optional testing.
- `Zenless Zone Zero (Direct Game)` is the most promising shortcut: the game process starts and Steam starts `gameoverlayui` for it.
- The Heroic-generated `heroic://launch` shortcuts can start the games, but Steam Overlay/Input may not attach because Steam tracks Heroic/Electron rather than the final game process.
- Zenless launcher mode needs fresh Epic exchange-code arguments from Heroic/Legendary, so the direct launcher shortcut may not be reliable.
- A `wine64-preloader`/`rpcss.exe` `SIGSYS` coredump was seen during startup, but the game continued and overlay was started; treat it as non-fatal unless the game crashes.