Files
obsidian-vault/wiki/tech/htpc-steam-emulators.md
T

166 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: HTPC — Steam, Эмуляторы, Геймпады
namespace: personal
created: '2026-05-17'
updated: '2026-05-20'
last_synced: '2026-05-20'
type: reference
tags:
- htpc
- steam
- emulators
- gamepads
- bazzite
confidence: 0.9
---
# HTPC — Steam, Эмуляторы, Геймпады
## Critical Rules — Steam
1. **НИКОГДА не убивать Steam через SSH** — вешает (gamescope = системный процесс)
2. **SRM** — только Desktop Mode GUI
3. **shortcuts.vdf** писать только когда Steam **закрыт** (иначе перезапишет кэшем)
## Обязательные exe в shortcuts.vdf
- RetroArch: `flatpak run org.libretro.RetroArch`
- Dolphin: `flatpak run org.DolphinEmu.dolphin-emu`
## Saves rsync — Kraken ← HTPC
| Игра | Путь |
|------|------|
| Dolphin Wii | `~/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/Wii/` |
| Dolphin GC | `~/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/GC/` |
| Steam | `~/.var/app/com.valvesoftware.Steam/data/Steam/userdata/` |
## Геймпады
- 2× Xbox 360 (USB)
- 2× 8BitDo (Xbox-схема, X-режим)
- Dolphin: SDL-маппинг, Classic Controller
- DKC Returns: X = Roll+Shake
## Switch Эмуляция — Ryujinx (Ryubing)
Оригинальный Ryujinx и Yuzu закрыты (Nintendo судится). Живые форки:
| Эмулятор | Основа | Статус | Платформа |
|----------|--------|--------|-----------|
| **Ryujinx (Ryubing/GreemDev)** | Ryujinx | ✅ Активно | Flatpak `io.github.ryubing.Ryujinx` |
| Eden | Yuzu | ✅ Активно | Android |
| Citron | Yuzu | Активно | Альтернатива |
**Для HTPC: Ryujinx (Ryubing) v1.3.3 через Flatpak.**
### Установка (✅ 2026-05-16)
```bash
flatpak install -y --user flathub io.github.ryubing.Ryujinx
```
**Пути (Flatpak):**
```
# Keys:
~/.var/app/io.github.ryubing.Ryujinx/data/Ryujinx/system/prod.keys
~/.var/app/io.github.ryubing.Ryujinx/data/Ryujinx/system/title.keys
# ROMs:
~/Emulation/roms/switch/ (Steam ROM Manager подхватит)
# Saves:
~/.var/app/io.github.ryubing.Ryujinx/data/Ryujinx/bis/user/save/
```
### prod.keys — Источники
- **GitHub THZoria/NX_Firmware** ⭐ — актуальная версия firmware + keys (22.1.0, апр. 2026)
- **4PDA** — тема Switch ROM'ов, в шапке ссылки на firmware/keys
- **Rutracker** — раздел `/f=1605`, в шапках тем часто есть keys
**Firmware** устанавливается через GUI: Ryujinx → Tools → Install Firmware → Install from ZIP
Keys и firmware должны быть одной версии.
### ROMs форматы
- `.nsp` — предпочтительный (Nintendo Submission Package)
- `.xci` — картридж-дамп, тоже работает
### DKC Tropical Freeze — совместимость
Подтверждено: работает на схожем железе (i5-6500 + GTX 1050 Ti). HTPC (i7-6800K + RX 570, Vulkan) — ожидается PlayablePerfect.
## qBittorrent на HTPC (✅ 2026-05-16)
```bash
flatpak install -y --user flathub org.qbittorrent.qBittorrent
# Версия 5.2.0
```
| Настройка | Значение |
|-----------|----------|
| Web UI | http://192.168.1.86:8080 |
| BitTorrent port | 6881 |
| Download dir | `/run/media/bazzite/Data/downloads/complete` |
| Incomplete dir | `/run/media/bazzite/Data/downloads/incomplete` |
**Sonarr/Radarr интеграция:** Settings → Download Clients → Add → qBittorrent (host: `192.168.1.86`, port: `8080`).
### API — добавить торрент
```bash
# Логин
SID=$(curl -s -i --header 'Referer: http://192.168.1.86:8080' \
--data 'username=admin&password=PASSWORD' \
http://192.168.1.86:8080/api/v2/auth/login \
| grep -i 'set-cookie' | grep -o 'SID=[^;]*')
# Добавить магнет
curl -s --cookie "$SID" \
--data-urlencode "urls=magnet:?xt=urn:btih:HASH..." \
--data "savepath=/home/bazzite/Emulation/roms/switch/" \
http://192.168.1.86:8080/api/v2/torrents/add
```
## Jackett на Кракене — Поиск ROM/торрентов
```yaml
# /srv/.../docker/jackett/docker-compose.yml
services:
jackett:
image: lscr.io/linuxserver/jackett:latest
container_name: jackett
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Bishkek
volumes:
- ./config:/config
- ./downloads:/downloads
ports:
- 9117:9117
restart: unless-stopped
```
Web UI: `http://kraken:9117`
Поддерживает RuTracker (нужна учётка). API: Torznab endpoint.
```bash
# Поиск игры
curl "http://192.168.1.14:9117/api/v2.0/indexers/rutracker/results/torznab/?apikey=***&t=search&q=Donkey+Kong+Tropical+Freeze+Switch&cat=8000"
```
## Целевой Flow: Агент ищет и качает ROM
```
Eagle/Кракен → Jackett API (Кракен :9117) → RuTracker
→ Выбор лучшего torrent (seeders, формат NSP/XCI)
→ qBittorrent API (HTPC :8080) — magnet + savepath=/Emulation/roms/switch/
→ Steam ROM Manager → игра в Gaming Mode
```
## See Also
- [[tech/htpc-kodi-layout]] — Kodi, NFO, симлинки, медиа-структура
- [[tech/kraken-network]] — сеть, WireGuard, топология
- [[tech/arr-stack-kraken]] — Prowlarr/Radarr/Sonarr на Кракене