11 KiB
HTPC — Эмуляторы: Настройка
Актуально: май 2026. Железо: i7-6800K, RX 570, 32GB RAM.
Бэкап сейвов
Daily → Data диск (Persistent=true — срабатывает при включении если пропустил):
saves-backup.timer(00:00 daily)- Скрипт:
~/scripts/backup-saves.sh - Назначение:
/run/media/bazzite/Data/backups/saves/ - Покрывает: Dolphin GC, Dolphin Wii, RetroArch, Ryujinx, Steam userdata, MAME
Weekly → Кракен HDD (Persistent=true):
saves-sync-kraken.timer(weekly)- Скрипт:
~/scripts/backup-saves-to-kraken.sh - Назначение:
kraken@192.168.1.14:/srv/dev-disk-by-uuid-49e8f586-3839-4c5d-a1e1-58bfc3579ade/backups/htpc-saves/ - ⚠️ Путь назначения всегда на HDD (
/srv/dev-disk-by-uuid-.../), не в~/(SSD, маленький) - Транспорт: rsync по LAN (SSH ключ bazzite→kraken авторизован)
# Запустить вручную:
bash ~/scripts/backup-saves.sh # Data диск
bash ~/scripts/backup-saves-to-kraken.sh # Кракен
Dolphin (Wii / GameCube)
Версия: 2603a (Flatpak org.DolphinEmu.dolphin-emu)
Конфиг: ~/.var/app/org.DolphinEmu.dolphin-emu/config/dolphin-emu/
Статус настройки (16.05.2026) ✅
- Видео: Vulkan, 3x Internal Resolution (1080p→1440p EFB), VSync, async shader compilation
- Fullscreen: включён при запуске
- ISO пути:
~/Emulation/roms/gc~/Emulation/roms/wii/run/media/bazzite/Data/dolphin roms← основная библиотека/run/media/bazzite/Data/games
Геймпады — Xbox схема
Контроллеры: 2× Xbox 360, 2× 8BitDo (Xbox-схема). Драйвер xpad загружен.
GCPad (для GC игр): XInput2/0..3/Xbox 360 Controller
- A/B/X/Y → A/B/X/Y
- Z (GC) → Shoulder R
- Start → Start
- Стики → Axis 0/1 (левый), Axis 2/3 (правый) — deadzone 15%
- Триггеры → Trigger L/R, threshold 90%
Wiimote + Nunchuk (для Wii игр): SDL/0/Xbox 360 Controller
- Extension = Nunchuk (не Classic Controller — DKC Returns пишет "unsupported controller" на CC)
- Shake привязан на кнопку X (порог 0.2, frequency 50)
- WiimoteSource = 1 (эмуляция, не реальный Wiimote)
Игры на Data диске (/run/media/bazzite/Data/dolphin roms/)
| Игра | Формат | Game ID | Тип | Кооп |
|---|---|---|---|---|
| Donkey Kong Country Returns | .iso | SF8P01 | Wii | ✅ 2P |
| New Super Mario Bros Wii | .iso | — | Wii | ✅ 4P |
| Donkey Kong Jungle Beat | .wbfs | — | GC | — |
| Luigi's Mansion | .iso | — | GC | — |
| Metroid Prime Trilogy | .iso | — | Wii | — |
| Super Mario Sunshine | .iso | — | GC | — |
| Zelda: Breath of the Wild | папка | — | Wii U? | — |
| Zelda: Skyward Sword | .iso | — | Wii | — |
| Zelda: Wind Waker | .iso | — | GC | — |
| Zelda: Four Swords Adventures | .gcm | — | GC | — |
| Zelda: Collector's Edition | .iso | — | GC | — |
⚠️ Важные нюансы при запуске
DKC Returns — финальный маппинг (Xbox геймпад → Classic Controller):
| Xbox кнопка | Действие в игре |
|---|---|
| A | Прыжок |
| B | Бег / подбор |
| X | Roll / Shake (ground pound, атака на Rambi) |
| Y | Бег / подбор |
| LB | ZL (Roll альтернатива) |
| RB | ZR (Roll альтернатива) |
| LT | ZL analog |
| RT | ZR analog |
| Start | + (Пауза) |
| Back | - (Карта) |
| D-Pad | D-Pad |
| Левый стик | Движение |
| Правый стик | C-Stick |
X нажат = одновременно CC/X (Roll) + Shake — как в оригинальном DKC где X = Roll.
Если геймпад не определяется:
- Проверить:
ls /dev/input/js*— должны появиться js0, js1 при подключении - Xbox 360 проводной: автоматически через
xpad - 8BitDo в Xbox режиме (кнопка X при включении): определяется как xpad-совместимый
MAME
Версия: 0.287 (Flatpak org.mamedev.MAME)
Конфиг: ~/.var/app/org.mamedev.MAME/data/MAME/mame.ini
Статус: ✅ настроен (16.05.2026)
ROM пути:
/run/media/bazzite/Data/mame_roms— отобранные ~46 игр (из chosen_mame.sh)/run/media/bazzite/Data/mame roms— дополнительно (mspacman, neogeo)- Полная база 22k ROM:
/run/media/bazzite/Data/downloads/mame_0.271_roms_[merged]/
Видео: Vulkan (bgfx), fullscreen, vsync, skip_gameinfo
Отобранные игры (chosen_mame.sh): Pacman, DK Jr, SF2, Space Invaders, MK, Asteroids, Centipede, Metal Slug 1-5, KOF98, Contra, Double Dragon, Final Fight, Golden Axe 3, TMNT, Ghosts'n Ghouls, SSRIDERS, Raiden, Tetris, Battletoads, Puzzle Bobble, Robocop, Punisher, Rampage 2, Hyper SF2, и др.
neogeo BIOS скопирован в mame_roms/ — Metal Slug работает.
RetroArch MAME cores: mame_libretro.so (0.287) + mame2003_plus_libretro.so (0.139)
ROM симлинк: ~/Emulation/roms/mame/roms/mame_chosen → /run/media/bazzite/Data/mame_roms
RetroArch
Версия: 1.22.2 (Flatpak org.libretro.RetroArch)
Статус: ✅ настроен (16.05.2026)
- Видео: Vulkan, fullscreen, vsync
- Геймпады: Xbox autoconfig скопирован в
~/.var/app/.../autoconfig/— определяется автоматически при подключенииX360 Controller.cfg(проводной)X360 Wireless Controller.cfg(беспроводной)8BitDo_Ultimate_C_Wired_Controller_for_Xbox.cfg
- ROM пути (симлинки):
| Папка | Ссылка |
|---|---|
~/Emulation/roms/snes_data |
/run/media/bazzite/Data/snes roms |
~/Emulation/roms/sega_data |
/run/media/bazzite/Data/sega roms |
~/Emulation/roms/n64_data |
/run/media/bazzite/Data/n64 roms |
~/Emulation/roms/gba_data |
/run/media/bazzite/Data/gba roms |
~/Emulation/roms/mame/roms/mame_chosen |
/run/media/bazzite/Data/mame_roms |
Конфиг: ~/.var/app/org.libretro.RetroArch/config/retroarch/ |
|
ROM browser: ~/Emulation/roms/ (+ симлинки на Data диск) |
Доступные cores
| Core | Платформа | Файл |
|---|---|---|
| snes9x | SNES | snes9x_libretro.so |
| bsnes / bsnes_hd | SNES | bsnes_libretro.so / bsnes_hd_beta_libretro.so |
| genesis_plus_gx | Sega MD/CD | genesis_plus_gx_libretro.so |
| mgba | GBA/GB/GBC | mgba_libretro.so |
| mupen64plus_next | N64 | mupen64plus_next_libretro.so |
ROM симлинки (Data диск → ~/Emulation/roms/)
snes_data → /run/media/bazzite/Data/snes roms
sega_data → /run/media/bazzite/Data/sega roms
n64_data → /run/media/bazzite/Data/n64 roms
gba_data → /run/media/bazzite/Data/gba roms
Кооп игры на Data диске (готовы к запуску)
SNES:
- Donkey Kong Country 1, 2, 3 ✅
- Contra III, Battletoads ✅
N64:
- Mario Kart 64 ✅
- Diddy Kong Racing ✅
- Mario Party ✅
- Donkey Kong 64
Sega:
- Streets of Rage 2 ✅ (кооп)
- Sonic 1/2/3 ✅
- Golden Axe I/II ✅
Steam библиотека — shortcuts и artwork
Статус: ✅ 61 игра добавлена в Steam (16.05.2026), запускаются из Gaming Mode.
Как добавлено
Прямая запись в ~/.steam/steam/userdata/<uid>/config/shortcuts.vdf через Python + vdf библиотека.
Скрипт: /tmp/add_shortcuts.py (можно восстановить при необходимости).
Формат записи:
sc['Exe'] = '/home/bazzite/Emulation/tools/launchers/retroarch.sh' # или dolphin-emu.sh
sc['LaunchOptions'] = '-L /home/bazzite/.var/.../core.so /path/to/rom'
⚠️ Важно: ~ в путях не разворачивается — только абсолютные пути /home/bazzite/...
⚠️ Важно: Steam перезаписывает shortcuts.vdf при запуске — писать только пока Steam закрыт.
Игры по эмуляторам
| Эмулятор | Launcher | Игр |
|---|---|---|
| Dolphin (Wii/GC) | launchers/dolphin-emu.sh |
10 |
| RetroArch SNES | launchers/retroarch.sh + snes9x_libretro.so |
11 |
| RetroArch N64 | launchers/retroarch.sh + mupen64plus_next_libretro.so |
11 |
| RetroArch GBA | launchers/retroarch.sh + mgba_libretro.so |
2 |
| RetroArch Genesis | launchers/retroarch.sh + genesis_plus_gx_libretro.so |
8 |
| RetroArch MAME | launchers/retroarch.sh + mame2003_plus_libretro.so |
19 |
Artwork (SteamGridDB)
API ключ: ~/Documents/steamgriddb_api_key.txt
Скрипт: /tmp/get_artwork.py
Скачивает: cover ({appid}p.png), hero ({appid}_hero.png), logo ({appid}_logo.png)
Результат: 60/61 ok (Aladdin — нет арта на SteamGridDB)
Grid dir: ~/.steam/steam/userdata/<uid>/config/grid/
# Перескачать / добавить новые игры:
python3 /tmp/get_artwork.py
Описания — недоступно
Steam не поддерживает описания для non-Steam shortcuts — ни через vdf, ни через API. Ограничение самого Steam.
TODO: DOS / Windows Standalone
- Discworld (DOS) — настроить через DOSBox в RetroArch или DOSBox Staging standalone
- Другие Windows/DOS игры — добавить в SRM как standalone shortcuts
- Добавить парсеры в SRM: DOS и/или Windows категории
Ryujinx (Nintendo Switch)
Версия: 1.3.3 (Ryubing fork, Flatpak io.github.ryubing.Ryujinx)
Статус: ✅ Установлен (16.05.2026), ждёт ключей
Пути:
Keys: ~/.var/app/io.github.ryubing.Ryujinx/data/Ryujinx/system/prod.keys
ROMs: ~/Emulation/roms/switch/
Нужно:
- Скачать
prod.keys+ firmware: https://github.com/THZoria/NX_Firmware - Firmware: Ryujinx → Tools → Install Firmware
- ROM DKC Tropical Freeze (.nsp/.xci) — через qBittorrent
→ Подробно: switch-emulation-rom-infra
Геймпады — общая информация
| Тип | Подключение | Драйвер | Статус |
|---|---|---|---|
| Xbox 360 (×2) | USB | xpad (в ядре) | ✅ автоматически |
| 8BitDo (×2) | USB/Bluetooth, Xbox режим | xpad-совместимый | ✅ в Xbox режиме |
8BitDo Xbox режим: удерживать X при включении контроллера → определяется как Xbox-совместимый через xpad.
Проверить подключение:
ls /dev/input/js* # должно быть js0, js1, ...
cat /proc/bus/input/devices | grep -A4 "Xbox\|8BitDo"