Files
obsidian-vault/family/projects/htpc-windows-games-fix.md
T

6.2 KiB
Raw Blame History

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=1WINEDLLOVERRIDES="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)