9.6 KiB
title, created, updated, type, namespace, tags, sources, confidence
| title | created | updated | type | namespace | tags | sources | confidence | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| HTPC Bazzite — Proton Compatibility | 2026-05-23 | 2026-05-27 | tech | personal |
|
|
medium |
HTPC Bazzite — Windows Game Proton Compatibility
Bazzite HTPC at bazzite@192.168.1.86. 39 non-Steam Windows games added as
Steam shortcuts (2026-05-22). Default tool: Proton Experimental; older titles
on Proton 8.0.
Working Games
Fallout 4, Vladik Brutal, Red Alert 3, GTA V, Cuphead. Samurai Gunn works but gamepad is not detected.
Common Fix Recipes
"Doesn't start" → try vcrun2019
For UE3/UE4 and modern Windows titles missing Visual C++ runtime:
protontricks <AppID> vcrun2019 d3dcompiler_47
XNA 4.0 games (Duck Game, etc.)
protontricks <AppID> xna40
DOS-era games (e.g. Atomic Bomberman)
Proton won't work. Use Steam Tinker Launch → wrap with DOSBox (dosbox-staging).
Non-Steam copy of a Steam game (e.g. Metro Exodus)
Game needs steam_api64.dll emulator:
- Drop in Goldberg
steam_api64.dll - Add
steam_appid.txtwith the real App ID (e.g. 412020 for Metro Exodus Enhanced)
Cyrillic encoding issues (e.g. Discworld Noir)
Try in order:
LANG=ru_RU.UTF-8 %command%in Steam launch optionsWINEDLLOVERRIDES=\"gdiplus=n,b\"- Install
ttf-mscorefontsmanually + set Cyrillic codepage in Wine registry
White screen / broken D3D9 (Rayman Origins, Split Second)
PROTON_USE_WINED3D=1 %command%
Or try WINEDLLOVERRIDES=\"d3d9=b\" or an older Proton version.
Doom 3 BFG Edition — чёрные текстуры, краш после интро
Proton Experimental и 7+/8+/9+ ломают текстуры — известный регресс.
Лучший фикс — заменить движок через Luxtorpeda:
- Совместимость → Luxtorpeda (установлен в compatibilitytools.d)
- При запуске выбрать rbdoom-3-bfg (нативный Linux движок)
- LaunchOptions очищены (
PROTON_USE_WINED3D=1больше не нужен)
VK Play / VK GameCenter на Bazzite
Общая схема
VK Play версии игр запускаются через лаунчер VK GameCenter (GameCenter.exe) поверх Proton. Игра устанавливается средствами VK Play, лаунчер отвечает за авторизацию и лицензирование (в т.ч. Denuvo-эмуляцию).
Steam shortcuts
| Shortcut | AppID (signed) | AppID (unsigned) | Proton | Путь |
|---|---|---|---|---|
| VK GameCenter | -555655402 |
3739311894 |
GE-Proton10-34 | /run/media/bazzite/Windows/users/mallexxx/AppData/Local/GameCenter/GameCenter.exe |
| Atomic Heart VK | -475792602 |
3819174694 |
GE-Proton10-34 | /run/media/bazzite/Data/gamecenter/atomic heart/AtomicHeart.exe |
VK Play + Proton: известные проблемы и решения
- Авторизация: лаунчер использует
mycomgames://URL-схему для браузера. Может потребоваться ручной ввод логина/пароля или обработчик схемы (через Lutris конфиг). - vcredist: на Steam Deck гайдах рекомендуется установить Visual C++ runtime через protontricks перед первым запуском.
- Совместимость: VK Play официально подтвердил совместимость Atomic Heart со Steam Deck/Proton.
- Альтернатива через Lutris: есть готовый
vk_play_lutris.ymlс обработчикомmycomgames://схемы (источник: gist.github.com/keyCat).
Запуск VK Play игры
- Запустить VK GameCenter через Steam (GE-Proton10-34)
- Авторизоваться в VK Play
- Установить игру через лаунчер (в данном случае Atomic Heart установлен заранее)
- После авторизации игра появится в библиотеке VK Play, можно запускать
Key Infra Notes
- shortcuts.vdf: binary VDF at
~/.steam/steam/userdata/147839491/config/shortcuts.vdfEdit with Steam closed:systemctl --user stop gamescope-session-plus@steam.service - CompatToolMapping:
~/.steam/steam/config/config.vdf— per-AppID Proton override - Wine prefix:
~/.local/share/Steam/steamapps/compatdata/<AppID>/pfx/ - protontricks: Flatpak, needs xvfb + flatpak filesystem permission to
~/.local/share/Steam - Background protontricks (survives SSH disconnect):
systemd-run --user --unit=<name> flatpak run ... - shortcuts.vdf бэкапы: хранятся в той же папке, именованные
shortcuts.vdf.bak-*. Автоматический daily backup через saves-backup.service в/run/media/bazzite/Data/backups/saves/shortcuts/shortcuts.vdf.YYYY-MM-DD.
BTRFS / Backups
- saves-backup.service — systemd user service, ежедневный rsync Steam userdata + копия shortcuts.vdf с ротацией 30 дней.
- После изменений shortcuts.vdf: cp в
shortcuts.vdf.whale-restored-YYYY-MM-DDв той же папке.
Added Games
| Game | AppID (unsigned) | Path | Proton |
|---|---|---|---|
| Atomic Heart (insaneramzes) | 2234736297 | /run/media/bazzite/Data/games/atomic.heart.ultimate.edition-insaneramzes/atomicheart.exe |
GE-Proton10-34 |
| VK GameCenter | 3739311894 | /run/media/bazzite/Windows/users/mallexxx/AppData/Local/GameCenter/GameCenter.exe |
GE-Proton10-34 |
| Atomic Heart VK | 3819174694 | /run/media/bazzite/Data/gamecenter/atomic heart/AtomicHeart.exe |
GE-Proton10-34 |
| Doom 3 BFG | 3602815006 | /run/media/bazzite/Data/games/doom 3 bfg edition/doom3bfg.exe |
Luxtorpeda → rbdoom-3-bfg |
Broken Status
| Game | AppID | Issue | Next |
|---|---|---|---|
| Atomic Bomberman | 2875360586 | DOS-era; 0x0 memory read | DOSBox wrapper |
| Brawlhalla | 2410005953 | Won't start | Try Brawlhalla.exe entry-point |
| Duck Game | 2926094216 | XNA 4.0 missing | Wait for xna40 install |
| Worms W.M.D | 3846411911 | UE3 + anti-tamper | vcrun2019 + d3dcompiler_47 |
| Metro Exodus | 3594910936 | steam_api64.dll | Goldberg + appid.txt |
| Castle Crashers | 3048471472 | Mini-dump crash | vcrun2019 dotnet48 |
Gamepad Issues
- Samurai Gunn, Super Bomberman R2: not detected
→ try Steam Input "Force Off" → "Use Default" cycle
→ or
SDL_GAMECONTROLLER_ALLOW_STEAM_VIRTUAL_GAMEPAD=1 - Metal Slug X: wrong speed in Neo-Geo wrapper → check emulator settings
How to Add a Non-Steam Game via VDF
Шаг 0: Остановить Steam
systemctl --user stop gamescope-session-plus@steam.service
Шаг 1: Прочитать shortcuts.vdf backup
python3 -c "
import vdf
with open('shortcuts.vdf.bak-eagle', 'rb') as f:
data = f.read()
d = vdf.binary_loads(data)
# modify d['shortcuts']
with open('shortcuts.vdf', 'wb') as f:
f.write(vdf.binary_dumps(d))
"
Шаг 2: Добавить CompatToolMapping в config.vdf AppID в CompatToolMapping — unsigned uint32. Если в shortcuts.vdf appid signed (-555655402), то unsigned = signed & 0xFFFFFFFF (3739311894).
Шаг 3: Запустить Steam, проверить
Критически важно:
- signed appid в shortcuts.vdf и unsigned в config.vdf — это один и тот же appid
- Не редактировать файлы при запущенном Steam — он перезапишет
- Делать бэкап перед любыми изменениями
- vdf.binary_loads ищет ключи с точным регистром:
AppName, неappname
VDF Troubleshooting
shortcuts.vdf испорчен (все записи пустые)
Steam перезаписывает VDF при старте если не понимает ручные правки. Восстановление: скопировать один из бэкапов (bak-eagle, bak-launch и т.д.) и добавить нужные новые записи заново.
Бэкапы в том же каталоге: shortcuts.vdf.bak-eagle (23 мая, 106 записей, последний чистый до экспериментов).
Проверка бэкапа:
import vdf
with open("shortcuts.vdf.bak-eagle", "rb") as f:
d = vdf.binary_loads(f.read())
named = sum(1 for e in d["shortcuts"].values() if e.get("AppName"))
print(f"{named} named entries")
AppID mismatch: shortcuts.vdf vs config.vdf
Steam хранит appid как unsigned uint32 в CompatToolMapping, но в shortcuts.vdf как signed int32. При добавлении нового шортката через VDF нужно сгенерировать новый appid (signed int32) и добавить его же (unsigned) в CompatToolMapping.
Бэкап после восстановления
cp shortcuts.vdf shortcuts.vdf.whale-restored-YYYY-MM-DD
SteamGridDB
API key хранится в ~/Documents/steamgriddb_api_key.txt на HTPC.
Текущий ключ: 5f0a7cb3366dede2c10860a95795ce60 (обновлён: 2026-05-23, regenerated).
Скрипты постеров: ~/scripts/update-artwork.sh (или аналог).
Запускать после добавления новых шорткатов.
See Also
personal-os-architecture obsidian-mcp-wrapper family/how-to/htpc-steam-nonsteam-shortcuts