62 lines
6.2 KiB
Markdown
62 lines
6.2 KiB
Markdown
# HTPC Windows Games — Compat Status
|
||
|
||
Live status of 39 non-Steam Windows games added to Steam on Bazzite HTPC (`bazzite@192.168.1.86`). Setup started 2026-05-22.
|
||
|
||
## Working ✅
|
||
- Fallout 4
|
||
- Vladik Brutal
|
||
- Red Alert 3
|
||
- Samurai Gunn (works but **gamepad not detected**)
|
||
- GTA V, Cuphead (assumed; not retested)
|
||
|
||
## Removed from Steam shortcuts ✅
|
||
- Human Fall Flat (3928445186) — already in real Steam
|
||
- Shovel Knight (2526703384) — already in real Steam
|
||
|
||
## Still broken — fixes attempted but no change
|
||
|
||
| Game | AppID | Symptom | Tried | Possible next steps |
|
||
|---|---|---|---|---|
|
||
| Atomic Bomberman / BM95 | 2875360586 | crash "instruction at 0x0 referenced 0x7" before main window | `proton_8`; registry `[Software\Wine] Version=win98`; virtual desktop 640×480 via `[Software\Wine\Explorer\Desktops] Default=640x480` | Run in separate **32-bit Wineprefix** (`WINEARCH=win32`); `wine explorer /desktop=foo,640x480 bm95.exe` wrapper; unplug gamepad |
|
||
| Brawlhalla | 2410005953 | Doesn't start | Switched to `proton_8`; VC++ runtime copied from Windows; LaunchOpt `WINEDLLOVERRIDES="msvcp140,vcruntime140=n,b"` | Try Brawlhalla launcher .exe instead of `BrawlhallaGame.exe` (Adobe AIR-based — needs AIR runtime); ProtonGE; native Linux client |
|
||
| Castle Crashers | 3048471472 | "crash, mini dump sent" | VC++ runtime copied; LaunchOpt `WINEDLLOVERRIDES="msvcp140,vcruntime140=n,b"` | Verify DLL overrides loaded (`WINEDEBUG=+loaddll`); try `proton_10`; install d3dx9 via copying from Windows |
|
||
| Discworld Noir | 2361018632 | Cyrillic still shows as `?????` | `C:\Discworld Noir` symlink; corefonts; LaunchOpt `HOST_LANG/HOST_LC_ALL=ru_RU.UTF-8 LANG/LC_ALL=ru_RU.UTF-8 %command%` | Add registry font substitutions for Tahoma/Arial; install `cjkfonts` + `fakerussian`; try Steam Tinker Launch with explicit `LANG` |
|
||
| Doom 3 BFG | 3602815006 | White screen, audio plays | `proton_10`; LaunchOpt `PROTON_USE_WINED3D=1` | Try `proton_8`; `+set r_useOpenGL32 1`; install **gallium-nine** (real D3D9 native); check OpenGL/Mesa errors via `WINEDEBUG=+d3d` |
|
||
| Duck Game | 2926094216 | Won't launch | VC++ + XNA 4.0 copied from Windows; LaunchOpt `WINEDLLOVERRIDES="msvcp140,vcruntime140=n,b"`; xna40 install **aborted** (hung in dotnet40) | Try `proton_10`; install **ProtonGE** (best XNA/FNA support); copy `.NET 4.0` from Windows Framework + register GAC |
|
||
| Final Fantasy X HD | 2642741094 | Was Japanese, no saves | `GameSetting.ini Language=jp → en` (copied from Windows) | **Test pending** — should work after this |
|
||
| Metal Slug X | 2938712902 | Speed wrong, controls dead | (none) | Neo-Geo emulator config issue, not Wine — needs game-side fix or different emulator |
|
||
| Metro Exodus | 3594910936 | "Unable to create interface isteamuser" | VC++ runtime copied; LaunchOpt `WINEDLLOVERRIDES` | Need Goldberg `steam_api64.dll` emulator + `steam_appid.txt` (game expects real Steam install) |
|
||
| Rayman Origins | 4002021894 | Sprites missing (shadow only) + broken gamma | `proton_8`; LaunchOpt cycle: `PROTON_USE_WINED3D=1` → `WINEDLLOVERRIDES="d3d9=b"` | Try `proton_experimental`; ProtonGE; or `dgVoodoo2` wrapper |
|
||
| Split Second | 3871231787 | Green artifacts | LaunchOpt `PROTON_USE_WINED3D=1` | Try `proton_10`; copy native `d3dx9_*.dll` from Windows |
|
||
| Super Bomberman R2 | 3340354231 | Gamepad not detected | (none) | Steam Input config issue — toggle in controller settings |
|
||
| Worms World Party | 2401592779 | Doesn't start | VC++ runtime copied; LaunchOpt `WINEDLLOVERRIDES` | Try `proton_10`; check stderr via `PROTON_LOG=1` |
|
||
| Worms W.M.D | 3846411911 | Doesn't start | VC++ + d3dcompiler_47 copied; LaunchOpt `WINEDLLOVERRIDES="msvcp140,vcruntime140,d3dcompiler_47=n,b"` | Same — check `PROTON_LOG=1` output |
|
||
|
||
## Fixes done this session (filesystem / config)
|
||
- Cover art swapped (Atomic Bomberman, Discworld Noir, SBR2, FFVI, ALttP, Sunset Riders)
|
||
- "Captain Commando" Steam shortcut renamed → "Sunset Riders"
|
||
- `CompatToolMapping` added for all 39 AppIDs in `config.vdf` (32 → `proton_experimental`, 7 → `proton_8`, 1 → `proton_10`)
|
||
- Rayman Legends: Ubisoft Connect copied from Windows partition into prefix + registry `HKLM\Software\Wow6432Node\Ubisoft\Launcher\InstallDir` added
|
||
- Discworld Noir: `C:\Discworld Noir` symlink → `/run/media/bazzite/Data/games/discnoir`
|
||
- FFX HD: `GameSetting.ini` replaced with English+HD version from Windows
|
||
- VC++ runtime DLLs (`vcruntime*`, `msvcp*`, `concrt*`, `msvcr*`) copied from `Windows/System32` (+ `SysWOW64`) into 6 prefixes (Castle Crashers, Worms WMD, Worms WP, Duck Game, Brawlhalla, Metro Exodus)
|
||
- `d3dcompiler_43.dll` / `d3dcompiler_47.dll` copied into same prefixes
|
||
- XNA 4.0 framework dir copied from `Program Files (x86)/Microsoft XNA` into Duck Game prefix
|
||
- Atomic Bomberman prefix: `Version=win98` registry + virtual desktop 640×480
|
||
|
||
## Lessons learned / Infra notes
|
||
- `shortcuts.vdf` is binary VDF; edit only with Steam closed (`systemctl --user stop gamescope-session-plus@steam.service`); restart `start` after
|
||
- `config.vdf` is text VDF; `CompatToolMapping` block controls per-AppID Proton
|
||
- Steam reads both vdfs on startup, writes back from in-memory state on exit → any edit while Steam running will be lost
|
||
- `protontricks` (Flatpak) needs `flatpak override --user --filesystem=/var/home/bazzite/.local/share/Steam`
|
||
- Parallel protontricks runs on same Proton version **conflict** on `~/.var/app/com.github.Matoking.protontricks/cache/protontricks/proton/Proton X/bin` — must sequence
|
||
- `xvfb-run protontricks <verb>` — MS-redist EXE installers (dotnet40, VC_redist) **hang on invisible button click** in xvfb. Cannot install this way. **Solution:** copy DLLs from Windows partition directly + use `WINEDLLOVERRIDES="dll1,dll2=n,b" %command%` launch option
|
||
- For Cyrillic/locale: Proton needs `HOST_LANG` / `HOST_LC_ALL` env (not just `LANG`/`LC_ALL`) to propagate host locale into prefix
|
||
- Background jobs that survive SSH disconnect: `systemd-run --user --unit=<name>`
|
||
|
||
## Open questions for next session
|
||
- Confirm if FFX language fix worked (test pending)
|
||
- Confirm Cyrillic in Discworld Noir after locale env fix
|
||
- Decide on installing ProtonGE via ProtonPlus (one-click via Desktop Mode) — would likely resolve Brawlhalla, Castle Crashers, Duck Game, Rayman Origins, Worms WMD/WP in one swoop
|
||
- Goldberg Steam emu for Metro Exodus (DRM-adjacent, needs user OK)
|