[2026-06-21] eagle: family/how-to/htpc-steam-nonsteam-shortcuts.md
This commit is contained in:
@@ -18,6 +18,13 @@ systemctl --user start gamescope-session-plus@steam.service
|
|||||||
|
|
||||||
## Единственный правильный способ — vdf.binary_load
|
## Единственный правильный способ — vdf.binary_load
|
||||||
|
|
||||||
|
**Процедура (один py-скрипт, с бэкапом):**
|
||||||
|
|
||||||
|
1. Остановить Steam
|
||||||
|
2. Сделать бэкап shortcuts.vdf
|
||||||
|
3. Отредактировать VDF
|
||||||
|
4. Запустить Steam
|
||||||
|
|
||||||
Использовать модуль `vdf` (установлен на HTPC через pip). **Никогда** не редактировать бинарный VDF через ручную сборку байтов или замену строк — это ломает файл.
|
Использовать модуль `vdf` (установлен на HTPC через pip). **Никогда** не редактировать бинарный VDF через ручную сборку байтов или замену строк — это ломает файл.
|
||||||
|
|
||||||
```python
|
```python
|
||||||
@@ -44,10 +51,10 @@ def compute_appid(name, exe):
|
|||||||
next_idx = str(len(shortcuts))
|
next_idx = str(len(shortcuts))
|
||||||
shortcuts[next_idx] = {
|
shortcuts[next_idx] = {
|
||||||
'AppName': 'Game Name',
|
'AppName': 'Game Name',
|
||||||
'Exe': '/path/to/game.exe',
|
'Exe': '/home/bazzite/Emulation/tools/launchers/ryujinx.sh',
|
||||||
'StartDir': '/path/to/',
|
'StartDir': '/home/bazzite/Emulation/tools/launchers',
|
||||||
'LaunchOptions': '',
|
'LaunchOptions': '/home/bazzite/Emulation/roms/switch/animal_crossing.nsp',
|
||||||
'appid': compute_appid('Game Name', '/path/to/game.exe'),
|
'appid': compute_appid('Game Name', '/home/bazzite/Emulation/tools/launchers/ryujinx.sh'),
|
||||||
'IsHidden': 0,
|
'IsHidden': 0,
|
||||||
'AllowDesktopConfig': 1,
|
'AllowDesktopConfig': 1,
|
||||||
'AllowOverlay': 1,
|
'AllowOverlay': 1,
|
||||||
@@ -105,14 +112,13 @@ cp ~/.steam/steam/userdata/*/config/shortcuts.vdf{,.bak}
|
|||||||
|
|
||||||
После записи VDF — перезапустить Steam, чтобы он подхватил изменения.
|
После записи VDF — перезапустить Steam, чтобы он подхватил изменения.
|
||||||
|
|
||||||
## Wide Steam Grid Posters
|
## Wide Steam Grid Posters — Порядок действий
|
||||||
|
|
||||||
При добавлении новой не-Steam игры — сразу скачивай и **wide** (920×430, `{appid}.png`), а не только poster (600×900, `{appid}p.png`).
|
**Перед остановкой Steam** — сначала скачать все постеры. Так как Steam не нужен для скачивания.
|
||||||
Без wide постером игра выглядит как пустая белая заглушка в основном режиме библиотеки.
|
|
||||||
|
|
||||||
### Naming convention
|
### Постеры для всех форматов
|
||||||
|
|
||||||
Файлы кладутся в `~/.steam/steam/userdata/147839491/config/grid/`:
|
При добавлении новой не-Steam игры — сразу скачивай все 4 формата:
|
||||||
|
|
||||||
| Размер | Формат файла | Назначение |
|
| Размер | Формат файла | Назначение |
|
||||||
|--------|-------------|------------|
|
|--------|-------------|------------|
|
||||||
@@ -123,6 +129,8 @@ cp ~/.steam/steam/userdata/*/config/shortcuts.vdf{,.bak}
|
|||||||
|
|
||||||
**Unsigned appid** = `signed_appid & 0xFFFFFFFF`. Пример: `-1321720074` → `2973247222`.
|
**Unsigned appid** = `signed_appid & 0xFFFFFFFF`. Пример: `-1321720074` → `2973247222`.
|
||||||
|
|
||||||
|
→ Подробно: [[htpc-steam-nonsteam-shortcuts]]
|
||||||
|
|
||||||
### Процедура (как делал Whale)
|
### Процедура (как делал Whale)
|
||||||
|
|
||||||
1. **Найти постеры на SteamGridDB** — зайти на `https://www.steamgriddb.com/game/<ID>`, отфильтровать по 920×430.
|
1. **Найти постеры на SteamGridDB** — зайти на `https://www.steamgriddb.com/game/<ID>`, отфильтровать по 920×430.
|
||||||
|
|||||||
Reference in New Issue
Block a user