[2026-05-27] taiga sync: wiki/htpc-bazzite-proton.md work/briefs/inbox/2026-05-27.md
This commit is contained in:
+40
-69
@@ -30,30 +30,34 @@ on Proton 8.0.
|
|||||||
- Fallout 4
|
- Fallout 4
|
||||||
- Vladik Brutal
|
- Vladik Brutal
|
||||||
- Red Alert 3
|
- Red Alert 3
|
||||||
- **Rayman Origins** (fixed 2026-05-23 — GE-Proton10-34 + `WINEDLLOVERRIDES="d3d9=b" %command%`)
|
- **Rayman Origins** (fixed 2026-05-23 — GE-Proton10-34 + `WINEDLLOVERRIDES=\"d3d9=b\" %command%`)
|
||||||
- Samurai Gunn (works but **gamepad not detected**)
|
- Samurai Gunn (works but **gamepad not detected**)
|
||||||
- GTA V, Cuphead (assumed; not retested)
|
- GTA V, Cuphead (assumed; not retested)
|
||||||
- **Doom 3 BFG Edition** (2026-05-27 — **Classic-RBDOOM-3-BFG** flatpak, native Linux engine)
|
|
||||||
|
|
||||||
## Removed from Steam shortcuts ✅
|
## Removed from Steam shortcuts ✅
|
||||||
- Human Fall Flat (3928445186) — already in real Steam
|
- Human Fall Flat (3928445186) — already in real Steam
|
||||||
- Shovel Knight (2526703384) — already in real Steam
|
- Shovel Knight (2526703384) — already in real Steam
|
||||||
|
|
||||||
## Recently added — not yet tested
|
## Recently added — not yet tested
|
||||||
| Game | AppID (unsigned) | Proton | Path |
|
| Game | AppID (signed) | AppID (unsigned) | Proton | Path |
|
||||||
|------|------------------|--------|------|
|
|------|----------------|-------------------|--------|------|
|
||||||
| VK GameCenter | 2321627338 | GE-Proton10-34 | `/run/media/bazzite/Windows/users/mallexxx/AppData/Local/GameCenter/GameCenter.exe` |
|
| VK GameCenter | -555655402 | 3739311894 | GE-Proton10-34 | `/run/media/bazzite/Windows/users/mallexxx/AppData/Local/GameCenter/GameCenter.exe` |
|
||||||
| Atomic Heart VK | 3867240821 | GE-Proton10-34 | `/run/media/bazzite/Data/gamecenter/atomic heart/AtomicHeart.exe` |
|
| Atomic Heart VK | -475792602 | 3819174694 | GE-Proton10-34 | `/run/media/bazzite/Data/gamecenter/atomic heart/AtomicHeart.exe` |
|
||||||
|
|
||||||
## Mapped to GE-Proton10-34 but still broken
|
## Mapped to GE-Proton10-34 but still broken
|
||||||
|
|
||||||
| Game | AppID | Symptom | LaunchOpt set |
|
| Game | AppID | Symptom | LaunchOpt set |
|
||||||
|------|-------|---------|---------------|
|
|------|-------|---------|---------------|
|
||||||
| Brawlhalla | 2410005953 | Doesn't start | `WINEDLLOVERRIDES="msvcp140,vcruntime140=n,b"` |
|
| Brawlhalla | 2410005953 | Doesn't start | `WINEDLLOVERRIDES=\"msvcp140,vcruntime140=n,b\"` |
|
||||||
| Castle Crashers | 3048471472 | "crash, mini dump sent" | `WINEDLLOVERRIDES="msvcp140,vcruntime140=n,b"` |
|
| Castle Crashers | 3048471472 | "crash, mini dump sent" | `WINEDLLOVERRIDES=\"msvcp140,vcruntime140=n,b\"` |
|
||||||
| Worms WMD | 3846411911 | Doesn't start | `WINEDLLOVERRIDES="msvcp140,vcruntime140,d3dcompiler_47=n,b"` |
|
| Worms WMD | 3846411911 | Doesn't start | `WINEDLLOVERRIDES=\"msvcp140,vcruntime140,d3dcompiler_47=n,b\"` |
|
||||||
| Worms World Party | 2401592779 | Doesn't start | `WINEDLLOVERRIDES="msvcp140,vcruntime140=n,b"` |
|
| Worms World Party | 2401592779 | Doesn't start | `WINEDLLOVERRIDES=\"msvcp140,vcruntime140=n,b\"` |
|
||||||
| Duck Game | 2926094216 | Won't launch | `WINEDLLOVERRIDES="msvcp140,vcruntime140=n,b"` |
|
| Duck Game | 2926094216 | Won't launch | `WINEDLLOVERRIDES=\"msvcp140,vcruntime140=n,b\"` |
|
||||||
|
|
||||||
|
## Moved to Luxtorpeda — need testing
|
||||||
|
| Game | AppID | Before | After | Notes |
|
||||||
|
|------|-------|--------|-------|-------|
|
||||||
|
| Doom 3 BFG | 3602815006 | GE-Proton10-34 (white screen, audio plays) | **Luxtorpeda → rbdoom-3-bfg** (native Linux engine) | LaunchOptions cleared ✅ |
|
||||||
|
|
||||||
## Still broken — fundamental issues
|
## Still broken — fundamental issues
|
||||||
|
|
||||||
@@ -96,42 +100,36 @@ Game needs `steam_api64.dll` emulator:
|
|||||||
### Cyrillic encoding issues (e.g. Discworld Noir)
|
### Cyrillic encoding issues (e.g. Discworld Noir)
|
||||||
Try in order:
|
Try in order:
|
||||||
1. `LANG=ru_RU.UTF-8 %command%`
|
1. `LANG=ru_RU.UTF-8 %command%`
|
||||||
2. `WINEDLLOVERRIDES="gdiplus=n,b"`
|
2. `WINEDLLOVERRIDES=\"gdiplus=n,b\"`
|
||||||
3. Install `ttf-mscorefonts` + set Cyrillic codepage in Wine registry
|
3. Install `ttf-mscorefonts` + set Cyrillic codepage in Wine registry
|
||||||
|
|
||||||
### White screen / broken D3D9 (Rayman Origins, Split Second)
|
### White screen / broken D3D9 (Rayman Origins, Split Second)
|
||||||
```
|
```
|
||||||
PROTON_USE_WINED3D=1 %command%
|
PROTON_USE_WINED3D=1 %command%
|
||||||
```
|
```
|
||||||
Or try `WINEDLLOVERRIDES="d3d9=b"` or an older Proton version.
|
Or try `WINEDLLOVERRIDES=\"d3d9=b\"` or an older Proton version.
|
||||||
|
|
||||||
### Doom 3 BFG Edition — чёрные текстуры, краш после интро
|
### Doom 3 BFG Edition — чёрные текстуры, краш после интро
|
||||||
Proton ломает текстуры — известный регресс. **Фикс:** Classic-RBDOOM-3-BFG (Doom BFA) через flatpak.
|
Proton ломает текстуры — известный регресс. **Фикс:** Luxtorpeda → rbdoom-3-bfg (native Linux engine).
|
||||||
|
|
||||||
**Подробнее:**
|
|
||||||
1. Установлен `io.github.maddecoder.Classic-RBDOOM-3-BFG` (flathub, user)
|
|
||||||
2. Шорткат в Steam: `exe="/usr/bin/flatpak"`, `LaunchOptions=run io.github.maddecoder.Classic-RBDOOM-3-BFG +set fs_basepath "/run/media/bazzite/Data/games/doom 3 bfg edition" +set com_skipIntro 1`
|
|
||||||
3. CompatToolMapping не требуется — flatpak запускается нативно
|
|
||||||
4. Legacy путь Luxtorpeda не подошёл — non-Steam шорткаты не ассоциируются с его пакетами
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## VK Play / VK GameCenter на Bazzite
|
## VK Play / VK GameCenter на Bazzite
|
||||||
|
|
||||||
### Общая схема
|
### Общая схема
|
||||||
VK Play версии игр запускаются через лаунчер VK GameCenter (`GameCenter.exe`) поверх Proton. Лаунчер отвечает за авторизацию и лицензирование (в т.ч. Denuvo-эмуляцию). Игра устанавливается средствами VK Play.
|
VK Play версии игр запускаются через лаунчер VK GameCenter (`GameCenter.exe`) поверх Proton. Лаунчер отвечает за авторизацию и лицензирование (в т.ч. Denuvo-эмуляцию).
|
||||||
|
|
||||||
### Статус (2026-05-27)
|
Известно:
|
||||||
- Шорткаты VK GameCenter и Atomic Heart VK добавлены
|
- VK Play официально подтвердил совместимость Atomic Heart со Steam Deck/Proton.
|
||||||
- CompatToolMapping настроен на GE-Proton10-34
|
- Для авторизации используется `mycomgames://` URL-схема. На HTPC без Steam Deck API может потребоваться ручной ввод логина/пароля.
|
||||||
- **Не запускаются** — при запуске Steam пишет `cannot execute binary file`, потому что не применяет Proton для non-Steam exe на `/run/media/` монтировке.
|
- Альтернатива: Lutris с конфигом из gist.github.com/keyCat (обработчик `mycomgames://` схемы).
|
||||||
- **Решение:** требуется рестарт Steam, чтобы он перечитал config.vdf (в данный момент config.vdf не синхронизирован с shortcuts.vdf)
|
- Перед первым запуском может понадобиться `protontricks -555655402 vcrun2019`.
|
||||||
|
|
||||||
### Известные нюансы
|
### Как добавить VK Play игру
|
||||||
- VK Play официально подтвердил совместимость Atomic Heart со Steam Deck/Proton
|
1. Запустить VK GameCenter через Steam (GE-Proton10-34)
|
||||||
- Для авторизации используется `mycomgames://` URL-схема
|
2. Авторизоваться в VK Play
|
||||||
- Альтернатива: Lutris с конфигом из gist.github.com/keyCat (обработчик схемы)
|
3. Установить игру через лаунчер (Atomic Heart уже установлен)
|
||||||
- При первом запуске может понадобиться `protontricks <appid> vcrun2019`
|
4. После авторизации игра появится в библиотеке VK Play
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -146,9 +144,11 @@ systemctl --user stop gamescope-session-plus@steam.service
|
|||||||
AppID в shortcuts.vdf — signed int32. В config.vdf CompatToolMapping — unsigned uint32.
|
AppID в shortcuts.vdf — signed int32. В config.vdf CompatToolMapping — unsigned uint32.
|
||||||
```python
|
```python
|
||||||
import vdf
|
import vdf
|
||||||
|
# read backup
|
||||||
with open('shortcuts.vdf.bak-eagle', 'rb') as f:
|
with open('shortcuts.vdf.bak-eagle', 'rb') as f:
|
||||||
d = vdf.binary_loads(f.read())
|
d = vdf.binary_loads(f.read())
|
||||||
# edit d['shortcuts']
|
# edit d['shortcuts']
|
||||||
|
# write
|
||||||
with open('shortcuts.vdf', 'wb') as f:
|
with open('shortcuts.vdf', 'wb') as f:
|
||||||
f.write(vdf.binary_dumps(d))
|
f.write(vdf.binary_dumps(d))
|
||||||
```
|
```
|
||||||
@@ -162,8 +162,6 @@ Unsigned appid = signed & 0xFFFFFFFF.
|
|||||||
- Редактировать ТОЛЬКО при остановленном Steam
|
- Редактировать ТОЛЬКО при остановленном Steam
|
||||||
- Делать бэкап **до** изменений
|
- Делать бэкап **до** изменений
|
||||||
- `vdf.binary_loads` — регистрозависим: `AppName`, `Exe`, а не `appname`, `exe`
|
- `vdf.binary_loads` — регистрозависим: `AppName`, `Exe`, а не `appname`, `exe`
|
||||||
- Steam переписывает config.vdf при shutdown — если изменить config.vdf пока Steam работает, изменения пропадут
|
|
||||||
- Для non-Steam шорткатов Steam может не применить Proton, даже если CompatToolMapping правильный — нужен рестарт Steam для синхронизации
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -198,10 +196,11 @@ print(f"{named} named entries")
|
|||||||
|
|
||||||
**Как восстановили:**
|
**Как восстановили:**
|
||||||
1. Остановлен Steam
|
1. Остановлен Steam
|
||||||
2. Считан `bak-eagle` + добавлены VK GameCenter и Atomic Heart VK
|
2. Считан `bak-eagle` (106 записей) + добавлены VK GameCenter (index 106) и Atomic Heart VK (index 107)
|
||||||
3. Обнаружено несоответствие appid между shortcuts и config
|
3. Обнаружено что config.vdf уже имеет CompatToolMapping с другими appid от предыдущих попыток
|
||||||
4. Перегенерация с правильными appid
|
4. Перегенерация с appid, совпадающими с config.vdf
|
||||||
5. Создан `shortcuts.vdf.whale-restored-2026-05-27`
|
5. Удалены дублирующиеся unsigned записи из config.vdf
|
||||||
|
6. Создан `shortcuts.vdf.whale-restored-2026-05-27`
|
||||||
|
|
||||||
**Уроки:**
|
**Уроки:**
|
||||||
- Только при остановленном Steam
|
- Только при остановленном Steam
|
||||||
@@ -209,14 +208,6 @@ print(f"{named} named entries")
|
|||||||
- Проверять signed↔unsigned соответствие
|
- Проверять signed↔unsigned соответствие
|
||||||
- Регистр ключей в vdf.binary_loads
|
- Регистр ключей в vdf.binary_loads
|
||||||
|
|
||||||
### VK GameCenter не запускается — причины и диагностика
|
|
||||||
**Сценарий:** "Steam читает config.vdf при старте, запоминает CompatToolMapping. Если config.vdf меняется пока Steam работает — изменения не применяются до рестарта. Steam при shutdown переписывает config.vdf своим состоянием в памяти."
|
|
||||||
|
|
||||||
**Диагностика:**
|
|
||||||
1. `journalctl --user -u gamescope-session-plus@steam.service | grep "cannot execute binary"` — Steam не применяет Proton
|
|
||||||
2. Проверить что unsigned appid из shortcuts.vdf (`appid & 0xFFFFFFFF`) совпадает с ключом в CompatToolMapping config.vdf
|
|
||||||
3. Проверить что config.vdf не был переписан Steam — сравнить с бэкапом
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Key Infra Notes
|
## Key Infra Notes
|
||||||
@@ -227,27 +218,6 @@ print(f"{named} named entries")
|
|||||||
- **protontricks**: Flatpak, needs `flatpak override --user --filesystem=/var/home/bazzite/.local/share/Steam`
|
- **protontricks**: Flatpak, needs `flatpak override --user --filesystem=/var/home/bazzite/.local/share/Steam`
|
||||||
- **Background jobs**: `systemd-run --user --unit=<name>`
|
- **Background jobs**: `systemd-run --user --unit=<name>`
|
||||||
- **GE-Proton**: extract tar.gz into `~/.steam/steam/compatibilitytools.d/`, restart Steam
|
- **GE-Proton**: extract tar.gz into `~/.steam/steam/compatibilitytools.d/`, restart Steam
|
||||||
- **Classic-RBDOOM-3-BFG**: `flatpak install --user flathub io.github.maddecoder.Classic-RBDOOM-3-BFG`
|
|
||||||
|
|
||||||
### SteamGridDB Artwork
|
|
||||||
|
|
||||||
API ключ: `~/Documents/steamgriddb_api_key.txt`
|
|
||||||
|
|
||||||
**Скрипты (скопированы на HDD для сохранности):**
|
|
||||||
- `/run/media/bazzite/Data/scripts/update-steam-artwork.py` — обложки для эмуляторов (fix_artwork.py оригинал)
|
|
||||||
- `/run/media/bazzite/Data/scripts/update-steam-artwork-windows.py` — обложки для Windows игр (artwork_windows.py оригинал)
|
|
||||||
|
|
||||||
Запуск:
|
|
||||||
```bash
|
|
||||||
python3 /run/media/bazzite/Data/scripts/update-steam-artwork.py
|
|
||||||
python3 /run/media/bazzite/Data/scripts/update-steam-artwork-windows.py
|
|
||||||
```
|
|
||||||
|
|
||||||
Формат файлов в `~/.steam/steam/userdata/<uid>/config/grid/`:
|
|
||||||
- `<appid>p.png` — cover (600×900)
|
|
||||||
- `<appid>.png` — wide (920×430)
|
|
||||||
- `<appid>_hero.png` — hero banner
|
|
||||||
- `<appid>_logo.png` — logo
|
|
||||||
|
|
||||||
### saves-backup.service
|
### saves-backup.service
|
||||||
Systemd user service (`/etc/systemd/user/saves-backup.service`):
|
Systemd user service (`/etc/systemd/user/saves-backup.service`):
|
||||||
@@ -260,11 +230,12 @@ Systemd user service (`/etc/systemd/user/saves-backup.service`):
|
|||||||
## Fixes Done (filesystem / config / cover-art)
|
## Fixes Done (filesystem / config / cover-art)
|
||||||
- Cover art swapped: Atomic Bomberman, Discworld Noir, SBR2, FFVI, ALttP, Sunset Riders
|
- Cover art swapped: Atomic Bomberman, Discworld Noir, SBR2, FFVI, ALttP, Sunset Riders
|
||||||
- "Captain Commando" → "Sunset Riders"
|
- "Captain Commando" → "Sunset Riders"
|
||||||
- Doom 3 BFG: **Classic-RBDOOM-3-BFG flatpak** (2026-05-27) — работает ✅
|
|
||||||
- CompatToolMapping for all AppIDs:
|
- CompatToolMapping for all AppIDs:
|
||||||
- **GE-Proton10-34**: Brawlhalla, Castle Crashers, Worms WMD/WP, Duck Game, Rayman Origins, VK GameCenter, Atomic Heart VK, insaneramzes Atomic Heart
|
- **GE-Proton10-34**: Brawlhalla, Castle Crashers, Worms WMD/WP, Duck Game, Rayman Origins, VK GameCenter, Atomic Heart VK, insaneramzes Atomic Heart
|
||||||
- **Proton 8.0**: Atomic Bomberman, Discworld Noir, Metal Slug X, Soldat, Red Alert 3, Split Second
|
- **Proton 8.0**: Atomic Bomberman, Discworld Noir, Metal Slug X, Soldat, Red Alert 3, Split Second
|
||||||
|
- **Luxtorpeda**: Doom 3 BFG
|
||||||
- **Proton Experimental**: ~24 remaining games
|
- **Proton Experimental**: ~24 remaining games
|
||||||
|
- Doom 3 BFG → Luxtorpeda (rbdoom-3-bfg, 2026-05-27)
|
||||||
- Rayman Legends: Ubisoft Connect + registry fix
|
- Rayman Legends: Ubisoft Connect + registry fix
|
||||||
- Discworld Noir: symlink, Cyrillic locale, missing files, drive D: as CD-ROM
|
- Discworld Noir: symlink, Cyrillic locale, missing files, drive D: as CD-ROM
|
||||||
- FFX HD: English `GameSetting.ini`
|
- FFX HD: English `GameSetting.ini`
|
||||||
@@ -286,8 +257,8 @@ Systemd user service (`/etc/systemd/user/saves-backup.service`):
|
|||||||
2. Atomic Bomberman: 32-bit Wineprefix outside Proton
|
2. Atomic Bomberman: 32-bit Wineprefix outside Proton
|
||||||
3. Discworld Noir: try cd1 or mount `.nrg` images
|
3. Discworld Noir: try cd1 or mount `.nrg` images
|
||||||
4. Metro Exodus: Goldberg Steam emulator?
|
4. Metro Exodus: Goldberg Steam emulator?
|
||||||
5. **Atomic Heart VK:** не запускается — config.vdf не синхронизирован с shortcuts.vdf, нужен рестарт Steam
|
5. **Atomic Heart VK:** test VK Play авторизацию, при необходимости `protontricks vcrun2019`
|
||||||
6. **VK GameCenter:** та же проблема
|
6. **Doom 3 BFG:** test с Luxtorpeda → rbdoom-3-bfg
|
||||||
|
|
||||||
## See Also
|
## See Also
|
||||||
[[personal-os-architecture]] [[obsidian-mcp-wrapper]] [[family/how-to/htpc-steam-nonsteam-shortcuts]]
|
[[personal-os-architecture]] [[obsidian-mcp-wrapper]] [[family/how-to/htpc-steam-nonsteam-shortcuts]]
|
||||||
|
|||||||
@@ -55,11 +55,3 @@ _Snapshot generated at 10:53 UTC (after SINCE 10:31 UTC). No task changes or com
|
|||||||
Inbox quiet — nothing new.
|
Inbox quiet — nothing new.
|
||||||
|
|
||||||
_Snapshot generated at 11:25 UTC (covers SINCE 11:00 UTC). No new human comments, assignments, or delegated task changes detected. Alex AFK today (holiday)._
|
_Snapshot generated at 11:25 UTC (covers SINCE 11:00 UTC). No new human comments, assignments, or delegated task changes detected. Alex AFK today (holiday)._
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Inbox Triage — 2026-05-27 18:34 (since 2026-05-27T18:00:51)
|
|
||||||
|
|
||||||
Inbox quiet — nothing new.
|
|
||||||
|
|
||||||
_Direct DB check (12:00–12:34 UTC window): 0 @mentions of Alex. 18 new stories but all noise per scope filter — Dax-the-Duck automated feedback, OOO completions, project-followers reactions (macOS App Maintenance delegated to Tom; macOS App Weekly Release DRI Fernando status), Scott Boehmer comment on Windows-suspended-app task (no @mention, not Alex's). MS365 calendar clean. Alex AFK today (holiday). Not posting to #inbox._
|
|
||||||
|
|||||||
Reference in New Issue
Block a user