diff --git a/family/projects/htpc-windows-games-fix.md b/family/projects/htpc-windows-games-fix.md index 59b0878f..f6762d65 100644 --- a/family/projects/htpc-windows-games-fix.md +++ b/family/projects/htpc-windows-games-fix.md @@ -1,65 +1,61 @@ # HTPC Windows Games — Compat Status -Live status of 39 non-Steam Windows games added to Steam on Bazzite HTPC (`bazzite@192.168.1.86`). Tested 2026-05-22 after initial CompatToolMapping setup (Proton Experimental default, 7 older titles on Proton 8.0). +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 working**) -- GTA V (assumed; not retested) -- Cuphead (assumed) -- Plus other untested titles +- Samurai Gunn (works but **gamepad not detected**) +- GTA V, Cuphead (assumed; not retested) -## Broken — won't start -| Game | AppID | Symptom | Hypothesis | Tried | Next | -|---|---|---|---|---|---| -| Atomic Bomberman | 2875360586 | "instr at 0x00000000 referenced 0x7. Memory could not be read" | 1997 DOS-era game — likely needs DOSBox, not Proton | proton_8 | Wrap launcher with DOSBox (dosbox-staging via Steam Tinker Launch) | -| Brawlhalla | 2410005953 | Doesn't start | Adobe AIR / native installer flow needed | proton_experimental | Try proton_8; check if "BrawlhallaGame.exe" is wrong entry-point (should be `Brawlhalla.exe` launcher) | -| Duck Game | 2926094216 | Won't launch | XNA 4.0 missing | xna40 via protontricks (in progress) | Wait for xna40 install to finish | -| Worms W.M.D | 3846411911 | Doesn't start | Modern UE3.x with anti-tamper; needs vcrun | proton_experimental | Try `protontricks vcrun2019` + d3dcompiler_47 | -| Worms World Party Remastered | 2401592779 | Doesn't start | UE4 — sometimes needs vcrun2019 | proton_experimental | `vcrun2019` | -| Metro Exodus | 3594910936 | "unable to create interface isteamuser" | Game needs `steam_api64.dll` emu (it's a non-Steam install of a Steam game) | proton_experimental | Drop in Goldberg `steam_api64.dll`; provide `steam_appid.txt`=412020 (Enhanced) or 619500 | +## Removed from Steam shortcuts ✅ +- Human Fall Flat (3928445186) — already in real Steam +- Shovel Knight (2526703384) — already in real Steam -## Crashes after launch -| Game | AppID | Symptom | Next | -|---|---|---|---| -| Castle Crashers | 3048471472 | "mini dump has been sent" pop-up | Try `protontricks vcrun2019 dotnet48` | +## Still broken — fixes attempted but no change -## Graphics issues -| Game | AppID | Symptom | Tried | Next | +| Game | AppID | Symptom | Tried | Possible next steps | |---|---|---|---|---| -| Discworld Noir | 2361018632 | Cyrillic shows as `?????` | Fixed `C:\Discworld Noir` symlink ✅; installed `corefonts` ❌ (still ?) | Set `LANG=ru_RU.UTF-8 %command%`; if no — `WINEDLLOVERRIDES="gdiplus=n,b"`; if no — install ttf-mscorefonts manually + register Cyrillic codepage in registry (`[HKCU\Software\Wine\Fonts\Replacements]`) | -| Doom 3 BFG | 3602815006 | White screen, audio plays | proton_10 ❌ | Try `PROTON_USE_WINED3D=1 %command%`; or proton_8; or `+set r_useOpenGL32 1` | -| Rayman Origins | 4002021894 | Sprites missing (only Rayman's shadow rendered); broken gamma overlay | proton_8 + `PROTON_USE_WINED3D=1 %command%` ❌ | Try `WINEDLLOVERRIDES="d3d9=b" %command%`; or proton_experimental | -| Split Second | 3871231787 | Green artifacts in places | (none yet) | Try DXVK_FILTER_DEVICE_NAME / different Proton; or `PROTON_USE_WINED3D=1` | +| 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 | -## Localization -| Game | AppID | Symptom | Next | -|---|---|---|---| -| Final Fantasy X HD | 2642741094 | Game in Japanese; saves missing | Set language in `Documents/SQUARE ENIX/...` config; copy save folder from `/run/media/bazzite/Windows/Users//Documents/SQUARE ENIX/` if present | +## 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 -## Input / gamepad -- **Samurai Gunn**: gamepad not detected -- **Super Bomberman R2**: gamepad not detected -- **Metal Slug X**: launches via Neo-Geo emulator wrapper but speed is wrong and controls don't work - - → check Steam Input "Force Off" → "Use Default" cycle, or `SDL_GAMECONTROLLER_ALLOW_STEAM_VIRTUAL_GAMEPAD=1` +## 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 ` — 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=` -## Duplicates — remove from Steam (already installed via real Steam) -- Human Fall Flat (3928445186) — remove shortcut + grid covers -- Shovel Knight (2526703384) — remove shortcut + grid covers - -## Cover-art swaps (done 2026-05-22) -- Atomic Bomberman (was wrong "Bomberman 64" cover) -- Discworld Noir (was "Disco Elysium") -- Super Bomberman R2 (was Switch boxart) -- Final Fantasy VI (was "Final Fantasy III") -- Zelda: A Link to the Past (was "ALttP + Four Swords") -- Sunset Riders (was "Captain Commando"; also renamed shortcut) - -## Infra notes -- `~/.steam/steam/userdata/147839491/config/shortcuts.vdf` — binary VDF; edit with Steam closed (`systemctl --user stop gamescope-session-plus@steam.service`) -- `~/.steam/steam/config/config.vdf` — text VDF; `CompatToolMapping` section controls per-AppID Proton -- `~/.local/share/Steam/steamapps/compatdata//pfx/` — Wine prefix for each shortcut -- `protontricks` (Flatpak) needs xvfb + flatpak filesystem permission to `~/.local/share/Steam` -- Background protontricks runs via `systemd-run --user --unit=` (survives SSH disconnect) +## 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) diff --git a/work/briefs/inbox/2026-05-23.md b/work/briefs/inbox/2026-05-23.md index aa257e76..ef24e950 100644 --- a/work/briefs/inbox/2026-05-23.md +++ b/work/briefs/inbox/2026-05-23.md @@ -1,5 +1,7 @@ -## Inbox Triage — 2026-05-23 (since 2026-05-23 10:36) +## Inbox Triage — 2026-05-23 (since 2026-05-23 13:26) + +### Nothing new Inbox quiet — nothing new. -_DB confirmed: 0 @-mentions of Alex, 0 new human comments, 0 new task assignments to Alex since 10:36 Almaty. Post-SINCE activity is feedback-bot cross-linking on the macOS Feedback project (Dax the Duck) — excluded as automated noise._ +_Window scanned: 2026-05-23 13:26 → 13:59 Almaty (07:26 → 07:59 UTC). Last comment from another human landed at 12:05 Almaty, before the window opened. All activity since SINCE is automated: Dax the Duck bot reclassifying macOS Feedback items, NTP loading-time alerts firing/resolving, OOO notifications for other people, "What is your 1 Must today?" auto-prompt. No new @mentions, no new task assignments, no human comments on your open or delegated tasks._