From 9ec3876d09cb161bb1802c584d134a86e43f20ff Mon Sep 17 00:00:00 2001 From: Taiga Date: Sun, 21 Jun 2026 16:31:10 +0000 Subject: [PATCH 01/19] [2026-06-21] taiga-vault: family/how-to/htpc-emulators-setup.md --- family/how-to/htpc-emulators-setup.md | 65 ++++++++++++++++++++------- 1 file changed, 48 insertions(+), 17 deletions(-) diff --git a/family/how-to/htpc-emulators-setup.md b/family/how-to/htpc-emulators-setup.md index f9ddde32..e1c3917b 100644 --- a/family/how-to/htpc-emulators-setup.md +++ b/family/how-to/htpc-emulators-setup.md @@ -419,28 +419,28 @@ CACHE="$HOME/.var/app/org.libretro.RetroArch/config/retroarch/system/Mupen64plus | The Legend of Zelda: Breath of the Wild | `zelda_botw.nsp` | ✅ работает | | Spyro Reignited Trilogy | `spyro_reignited_trilogy.nsp` | ✅ работает | | Majora's Mask (2Ship2Harkinian) | `majoras_mask.nsp` | ❌ PAL_SEHException (GPU crash) | -| Donkey Kong Country Returns HD | `donkey_kong_country_returns_hd.nsp` | ⏳ конвертация NSZ→NSP | -| Hollow Knight | `hollow_knight.nsp` | ❌ Hash error (битый ROM) | -| Hollow Knight: Silksong | `hollow_knight__silksong.nsp` | ✅ конвертирован NSZ→NSP | +| Donkey Kong Country Returns HD | `donkey_kong_country_returns_hd.nsp` | ⏳ NSZ | +| Hollow Knight | `hollow_knight.nsp` | ❌ битый | +| Hollow Knight: Silksong | `hollow_knight__silksong.nsp` | ⏳ NSZ | | It Takes Two | `it_takes_two.nsp` | ❓ | | Little Nightmares | `little_nightmares.nsp` | ❓ | | Little Nightmares III | `little_nightmares_iii.nsp` | ❓ | | Luigi Mansion 3 | `luigi_mansion_3.nsp` | ❓ | -| Ori and the Will of the Wisps | `ori_and_the_will_of_the_wisps.nsp` | ⏳ конвертация NSZ→NSP | -| Plants vs. Zombies: Replanted | `plants_vs__zombies__replanted.nsp` | ✅ конвертирован NSZ→NSP | +| Ori and the Will of the Wisps | `ori_and_the_will_of_the_wisps.nsp` | ⏳ NSZ | +| Plants vs. Zombies: Replanted | `plants_vs__zombies__replanted.nsp` | ⏳ NSZ | | Super Mario 3D All-Stars | `super_mario_3d_all_stars.nsp` | ❓ | -| Super Mario 3D World + Bowser Fury | `super_mario_3d_world___bowser_fury.nsp` | ✅ конвертирован NSZ→NSP | +| Super Mario 3D World + Bowser Fury | `super_mario_3d_world___bowser_fury.nsp` | ⏳ NSZ | | Super Mario Bros. Wonder | `super_mario_bros__wonder.nsp` | ❓ | | Super Mario Party | `super_mario_party.nsp` | ❓ | -| Super Smash Bros. Ultimate | `smash_ultimate.nsp` | ⏳ конвертация NSZ→NSP | +| Super Smash Bros. Ultimate | `smash_ultimate.nsp` | ⏳ NSZ | | Sonic Mania | `sonic_mania.nsp` | ❓ | -| The Disney Afternoon Collection | `the_disney_afternoon_collection.nsp` | ✅ конвертирован NSZ→NSP | -| Unravel Two | `unravel_two.nsp` | ✅ конвертирован NSZ→NSP | +| The Disney Afternoon Collection | `the_disney_afternoon_collection.nsp` | ✅ | +| Unravel Two | `unravel_two.nsp` | ⏳ NSZ | | Sam & Max Save the World | `sam_and_max_save_the_world.nsp` | ❓ | -| Vasilisa and Baba Yaga | `vasilisa_and_baba_yaga.nsp` | ✅ конвертирован NSZ→NSP, симлинк сделан | +| Vasilisa and Baba Yaga | `vasilisa_and_baba_yaga.nsp` | ⏳ NSZ | | Constance | `constance.nsp` | ❓ | -| Hunting Simulator 2 | `hunting_simulator_2.nsp` | ✅ конвертирован NSZ→NSP | -| Carnivores Dinosaur Hunt | `carnivores_dinosaur_hunt.nsp` | ✅ конвертирован NSZ→NSP, симлинк сделан | +| Hunting Simulator 2 | `hunting_simulator_2.nsp` | ⏳ NSZ | +| Carnivores Dinosaur Hunt | `carnivores_dinosaur_hunt.nsp` | ⏳ NSZ | **Symlink схема:** плоские симлинки без пробелов в `~/Emulation/roms/switch/` → `/run/media/system/Data/Switch Roms/...` Оригинальные симлинки на папки сохранены для совместимости. @@ -461,17 +461,48 @@ CACHE="$HOME/.var/app/org.libretro.RetroArch/config/retroarch/system/Mupen64plus **Ryujinx не поддерживает NSZ нативно** — только NSP и XCI. NSZ нужно конвертировать в NSP. -**NSZ → NSP конвертация (21.06.2026):** +**NSZ → NSP конвертация (22.06.2026):** Установлен `nsz` CLI (v4.6) на HTPC через `pip3 install nsz`. **Правильная команда:** `nsz -D file.nsz` (decompress mode). Проверено на The Disney Afternoon Collection — `nsz -D` верифицировал все NCA хеши (`[VERIFIED]`), файл 407MB PFS0 (7 files), работает в Ryujinx ✅. -NSP создаётся рядом с NSZ, с тем же именем (только .nsp). После декомпрессии нужно переименовать в короткое имя без пробелов/скобок и обновить симлинк. +NSP создаётся рядом с NSZ, с тем же длинным именем (со скобками/размером). После декомпрессии: +1. Переименовать NSP в slug (короткое имя без пробелов/скобок) — `dk_country_returns_hd.nsp` и т.д. +2. Создать симлинк: `ln -sf /run/media/system/Data/Switch\ Roms/…/slug.nsp ~/Emulation/roms/switch/slug.nsp` -**Статус:** -- The Disney Afternoon Collection — ✅ конвертирован, NCA верифицирован, запускается в Ryujinx (проверено 21.06) -- Остальные 10 NSZ ещё не конвертированы +**Статус:** +- The Disney Afternoon Collection — ✅ конвертирован, работает +- **NSZ на конвертацию (23 игры):** + +**В Steam (10):** +1. Donkey Kong Country Returns HD +2. Hollow Knight: Silksong +3. Ori and the Will of the Wisps +4. Plants vs. Zombies: Replanted +5. Super Mario 3D World + Bowser Fury +6. Super Smash Bros. Ultimate +7. Unravel Two +8. Vasilisa and Baba Yaga +9. Hunting Simulator 2 +10. Carnivores Dinosaur Hunt + +**Не в Steam, в 14 Hunting games (12):** +11. America Wild Hunting +12. Animal Hunting 3D +13. Best Sniper Legacy Dino Hunt Shooter 3D +14. Big Buck Hunter Arcade +15. Big Buck Hunter Ultimate Trophy +16. Cabela's The Hunt Championship Edition +17. Deer Drive Legends +18. Duck Hunting Challenge +19. Hunt +20. Hunter Simulator Wild Hunting +21. Hunting Simulator +22. Werewolf Hunter Survive the Howl + +**Битый (Hash error):** +- Hollow Knight — ❌ --- From f213981f8a5392c15edb8e6850eed170b8d5f8b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A2=D0=B0=D0=B9=D0=B3=D0=B0?= Date: Sun, 21 Jun 2026 16:40:51 +0000 Subject: [PATCH 02/19] [2026-06-21] syncthing: .stversions/family/how-to/htpc-emulators-setup.md family/how-to/htpc-emulators-setup.md --- .../family/how-to/htpc-emulators-setup.md | 522 ++++++++++++++++++ family/how-to/htpc-emulators-setup.md | 62 +-- 2 files changed, 553 insertions(+), 31 deletions(-) create mode 100644 .stversions/family/how-to/htpc-emulators-setup.md mode change 100644 => 100755 family/how-to/htpc-emulators-setup.md diff --git a/.stversions/family/how-to/htpc-emulators-setup.md b/.stversions/family/how-to/htpc-emulators-setup.md new file mode 100644 index 00000000..e1c3917b --- /dev/null +++ b/.stversions/family/how-to/htpc-emulators-setup.md @@ -0,0 +1,522 @@ +# 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.15:/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 +# Запустить вручную: +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 +``` + +### NES игры в Steam (Mesen core) + +Добавлены 17.05.2026 через `mesen_libretro.so`. ROM: `758 nes roms/` на Data диске. + +| Игра | ROM файл | HD Pack | +|------|----------|---------| +| Darkwing Duck | `darkwing duck (u).nes` | ❌ нет | +| Chip 'n Dale | `chip 'n dale rescue rangers (u) [!].nes` | ❌ нет | +| Batman | `batman (u).nes` | ❌ нет | +| Super Mario Bros | `super mario bros. (ju) (prg0) [!].nes` | ✅ mkwong98 | +| The Legend of Zelda | `legend of zelda, the (u) (prg1).nes` | ✅ Zelda Remastered | +| Castlevania | `castlevania (u) (prg1).nes` | ✅ 30th Anniversary HD | +| Bomberman | `bomberman (u).nes` | ✅ Bomberman Remastered | +| Battle City | `battle city (j) [p1].nes` | ✅ imkrut | + +**Установка HD паков:** +- Папка: `~/.var/app/org.libretro.RetroArch/config/retroarch/system/HdPacks/` +- Подпапка = имя ROM файла без `.nes` +- `Mesen.opt`: `mesen_hdpacks = "enabled"` ✅ +- Скачать с romhacking.net вручную (Cloudflare, curl не работает): + - Battle City: https://www.romhacking.net/forum/index.php?topic=30639.0 + - Bomberman: https://www.romhacking.net/forum/index.php?topic=30619.0 + - Castlevania: https://www.romhacking.net/forum/index.php?topic=24125.0 (30th Anniversary) + - Zelda Remastered: https://www.romhacking.net/forum/index.php?topic=31559.0 + - Super Mario Bros: https://forums.nesdev.org/download/file.php?id=12073 + +### Кооп игры на 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 + +**Статус:** ✅ 85 игр добавлено в Steam (11.06.2026), запускаются из Gaming Mode. + +### Как добавлено + +Прямая запись в `~/.steam/steam/userdata//config/shortcuts.vdf` через Python + `vdf` библиотека. +Скрипт: `/tmp/add_shortcuts.py` (можно восстановить при необходимости). + +**Формат записи:** +```python +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 ключ: `5f0a7cb3366dede2c10860a95795ce60` +Хранится: `~/Documents/steamgriddb_api_key.txt` и `~/.bashrc` (STEAMGRIDDB_API_KEY) + +**API:** +```bash +curl -s \ + -H "Authorization: Bearer 5f0a7cb3366dede2c10860a95795ce60" \ + -H "Accept: application/json" \ + "https://www.steamgriddb.com/api/v2/search/autocomplete/" +``` + +**Скрипты на HDD** (`/run/media/system/Data/scripts/`): +- `update-steam-artwork.py` — для эмуляторов (все shortcut'ы) +- `update-steam-artwork-windows.py` — для Windows игр +- `update-doom-artwork.py` — Doom 3 BFG +- `update-vk-artwork.py` — VK GameCenter + Atomic Heart VK + +**Формат файлов в `~/.steam/steam/userdata/147839491/config/grid/`:** +- `{appid}p.png` — cover (portrait, 600×900) +- `{appid}.png` — wide (920×430) +- `{appid}_hero.png` — hero +- `{appid}_logo.png` — logo + +**Запуск:** +```bash +python3 /run/media/system/Data/scripts/update-steam-artwork.py +``` + +Перезапуск Steam после смены арта: +```bash +systemctl --user restart gamescope-session-plus@steam.service +``` + +**Имена игр важны** — SteamGridDB ищет по `AppName` из shortcuts.vdf. Неправильное имя → неправильный арт. + +### Описания — недоступно + +Steam не поддерживает описания для non-Steam shortcuts — ни через vdf, ни через API. Ограничение самого Steam. + +--- + +## Windows игры (Data/games) — Proton + +**Статус:** ✅ 39 игр добавлены в Steam shortcuts (17.05.2026), Proton Experimental, обложки скачаны. + +**Расположение игр:** `/run/media/bazzite/Data/games/` + +**Список:** +Atomic Bomberman, Brawlhalla, Castle Crashers, Contra: Operation Galuga, Cuphead, Discworld Noir, Distance, Doom 3 BFG Edition, Duck Game, Fallout 4, Final Fantasy X/X-2 HD, Gas Guzzlers Extreme, GTA V, GRIP, Heave Ho, Human Fall Flat, Lethal League Blaze, Liftoff FPV, Metal Slug X, Metro Exodus, Monaco, Nidhogg 2, No Time to Explain, Pummel Party, Rayman Legends, Rayman Origins, Red Alert 3, Samurai Gunn, Savant Ascent, Shovel Knight, Civilization V, Skydrift, Soldat, Split Second, Super Bomberman R2, TowerFall Ascension, Vladik Brutal, Worms WMD, Worms World Party Remastered + +**Compat tool:** `proton_experimental` — прописан в `~/.local/share/Steam/config/config.vdf` → `CompatToolMapping` + +**Скрипты:** +```bash +python3 /tmp/add_windows_games.py # добавить игры в shortcuts.vdf (Steam закрыт!) +python3 /tmp/artwork_windows.py # скачать обложки с SteamGridDB +``` + +**Сейвы Windows → Linux:** +- Rayman Origins: скопирован на `/run/media/bazzite/Data/backups/saves/rayman-origins/savegame_0` + - При первом запуске через Proton: положить в `~/.local/share/Steam/steamapps/compatdata//pfx/drive_c/users/steamuser/Documents/My Games/rayman origins/savegame/` + +--- + +## Wishlist / К покупке в Steam + +| Игра | Платформа | Примечание | +|------|-----------|------------| +| **DuckTales Remastered** | Steam | HD ремастер WayForward (2013) — пока недоступен в магазине | + +--- + +--- + +## N64 — Hi-Res Texture Packs (HTS) + +**Платформа:** RetroArch core `mupen64plus_next_libretro.so` + +**Формат:** `HTS` — кешированные текстуры GLideN64. Файлы `*_HIRESTEXTURES.hts` кладутся в: +``` +~/.var/app/org.libretro.RetroArch/config/retroarch/system/Mupen64plus/cache/ +``` + +**Настройки в `Mupen64Plus-Next.opt`** (обязательно): +``` +txHiresEnable = "True" +txHiresFullAlphaChannel = "True" +EnableEnhancedHighResStorage = "True" +EnableEnhancedTextureStorage = "True" +EnableTextureCache = "True" +txCacheCompression = "True" +txFilterMode = "None" # для HTS не нужен +``` + +**Источник пакетов:** [EvilGames.eu](https://evilgames.eu/texture-packs.htm) — GhostlyDark's Reloaded серия + +### Имя файла HTS = ROM Header Name + +Имя `.hts` файла должно совпадать с **внутренним именем ROM** (не с именем файла). Проверить: +```bash +# Показать ROM header name +head -c 25 /path/to/rom.z64 | strings +# Или через Python: +python3 -c "rom=open('/path/to/rom.z64','rb').read(); print(rom[0x20:0x20+20].decode('ascii','ignore').strip())" +``` + +### Установленные HTS (июнь 2026) + +| ROM Header | Игра | Размер HTS | Пакет | Прогресс | +|-----------|------|-----------|-------|----------| +| `BANJO TOOIE` | Banjo-Tooie | 132MB | BT Reloaded v0.1.1 | UI only | +| `Banjo-Kazooie` | Banjo-Kazooie | 2.0GB | BK Reloaded v0.2.0 | UI only | +| `SMASH BROTHERS` | Super Smash Bros | 1.2GB | SSB Reloaded v2.0.1 | 100% | +| `MARIOKART64` | Mario Kart 64 | 12GB | MK64 Reloaded v2026.04.03 | 100% | +| `SUPER MARIO 64` | Super Mario 64 | 4.9GB | SM64 Reloaded v2.6.0 | 100% | +| `THE LEGEND OF ZELDA` | Zelda: Ocarina of Time | 29GB | OoT Reloaded v11.0.0 | 100% | +| `ZELDA MAJORA'S MASK` | Zelda: Majora's Mask | 17GB | MM Reloaded v11.0.2 | 100% | + +### Несовместимые форматы + +**GlideHQ (подпапки)** — старые пакеты в формате `hires_texture/ROM_NAME/` — **не работают** с Mupen64Plus-Next в RetroArch. Только HTS. + +**Rice (плоские PNG)** — можно скомпилировать в HTS через RMG (Rosalie's Mupen GUI), но только с запущенной игрой в GUI режиме. Headless не работает. + +**Conker (Conker BFD)** — есть только PNG (60MB) на диске, готового HTS нет. Нужна компиляция. + +### Процесс установки + +```bash +CACHE="$HOME/.var/app/org.libretro.RetroArch/config/retroarch/system/Mupen64plus/cache" +# Извлечь HTS из архива напрямую в кэш +7z x /path/to/pack.7z -so "ROMNAME_HIRESTEXTURES.hts" > "$CACHE/ROMNAME_HIRESTEXTURES.hts" +``` + +**Важно:** `/tmp` — tmpfs (16GB). Для пакетов >1GB качать сразу на `/run/media/system/Data/N64/`. + +--- + +## 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`) +**Статус:** ✅ Работает (10.06.2026) + +**Компоненты:** +| Компонент | Статус | Путь | +|-----------|--------|------| +| Keys | ✅ `prod.keys` (12KB) | `~/.var/app/io.github.ryubing.Ryujinx/data/Ryujinx/system/` | +| Firmware | ✅ 19.0.1 (229 .nca) | установлен через GUI | +| ROMs на диске | ✅ 27 игр | `/run/media/system/Data/Switch Roms/` | +| Symlinks (плоские, без пробелов) | ✅ | `~/Emulation/roms/switch/` | +| В Steam (shortcuts.vdf) | ✅ 24 игры | launchoptions → плоские симлинки | +| Постеры (SteamGridDB) | ✅ wide + poster для всех | `~/.steam/steam/userdata/147839491/config/grid/` | + +**36 игр в Steam (Switch) — статус на 21.06.2026:** +Всего symlinks в `~/Emulation/roms/switch/`: 31. Из них в Steam добавлено 38 (shortcuts.vdf), все с artwork. +Эмулятор: Ryujinx 1.3.3 (flatpak), firmware 19.0.1, prod.keys (12KB), title.keys отсутствует. + +| Игра | ROM slug | Статус | +|------|----------|--------| +| Animal Crossing New Horizons | `animal_crossing.nsp` | ✅ работает | +| Donkey Kong Country Tropical Freeze | `donkey_kong.nsp` | ✅ работает | +| Super Mario Odyssey | `mario_odyssey.nsp` | ✅ работает | +| Mario Kart 8 Deluxe | `mario_kart_8.nsp` | ✅ работает | +| The Legend of Zelda: Breath of the Wild | `zelda_botw.nsp` | ✅ работает | +| Spyro Reignited Trilogy | `spyro_reignited_trilogy.nsp` | ✅ работает | +| Majora's Mask (2Ship2Harkinian) | `majoras_mask.nsp` | ❌ PAL_SEHException (GPU crash) | +| Donkey Kong Country Returns HD | `donkey_kong_country_returns_hd.nsp` | ⏳ NSZ | +| Hollow Knight | `hollow_knight.nsp` | ❌ битый | +| Hollow Knight: Silksong | `hollow_knight__silksong.nsp` | ⏳ NSZ | +| It Takes Two | `it_takes_two.nsp` | ❓ | +| Little Nightmares | `little_nightmares.nsp` | ❓ | +| Little Nightmares III | `little_nightmares_iii.nsp` | ❓ | +| Luigi Mansion 3 | `luigi_mansion_3.nsp` | ❓ | +| Ori and the Will of the Wisps | `ori_and_the_will_of_the_wisps.nsp` | ⏳ NSZ | +| Plants vs. Zombies: Replanted | `plants_vs__zombies__replanted.nsp` | ⏳ NSZ | +| Super Mario 3D All-Stars | `super_mario_3d_all_stars.nsp` | ❓ | +| Super Mario 3D World + Bowser Fury | `super_mario_3d_world___bowser_fury.nsp` | ⏳ NSZ | +| Super Mario Bros. Wonder | `super_mario_bros__wonder.nsp` | ❓ | +| Super Mario Party | `super_mario_party.nsp` | ❓ | +| Super Smash Bros. Ultimate | `smash_ultimate.nsp` | ⏳ NSZ | +| Sonic Mania | `sonic_mania.nsp` | ❓ | +| The Disney Afternoon Collection | `the_disney_afternoon_collection.nsp` | ✅ | +| Unravel Two | `unravel_two.nsp` | ⏳ NSZ | +| Sam & Max Save the World | `sam_and_max_save_the_world.nsp` | ❓ | +| Vasilisa and Baba Yaga | `vasilisa_and_baba_yaga.nsp` | ⏳ NSZ | +| Constance | `constance.nsp` | ❓ | +| Hunting Simulator 2 | `hunting_simulator_2.nsp` | ⏳ NSZ | +| Carnivores Dinosaur Hunt | `carnivores_dinosaur_hunt.nsp` | ⏳ NSZ | + +**Symlink схема:** плоские симлинки без пробелов в `~/Emulation/roms/switch/` → `/run/media/system/Data/Switch Roms/...` Оригинальные симлинки на папки сохранены для совместимости. + +**Transmission:** `/data/Switch Roms` (case-sensitive, с пробелом) мапится в `/run/media/system/Data/Switch Roms/` через mount `/data` → `/run/media/system/Data` + +→ Подробно: [[switch-emulation-rom-infra]] + +### ⚠️ Текущий статус — 21.06.2026 + +**Используется:** Flatpak `io.github.ryubing.Ryujinx` 1.3.3 stable. +**AppImage Canary 1.3.287** (`~/Applications/publish/Ryujinx`) — переименован в `Ryujinx.sh.bak`, чтобы launcher не подхватывал его (в 1.3.287 баг `ArgumentOutOfRangeException` в `CheckLaunchState()`, PR #7123/#7116). + +**Проблема:** после копирования конфигов из AppImage → flatpak, Ryujinx просит prod.keys (хотя файл лежит в `data/Ryujinx/system/prod.keys`, 12KB). firmware 19.0.1 есть (229 .nca). `title.keys` отсутствует. +**Статус:** выясняется — возможно mismatch версий prod.keys (22.1.0) и firmware (19.0.1), либо flatpak sandbox не видит файлы. + +**Launcher:** `~/Emulation/tools/launchers/ryujinx.sh` — ищет `~/Applications/publish/Ryujinx.sh` → не находит (`.bak`) → запускает `flatpak run io.github.ryubing.Ryujinx`. +**Логирование:** `~/ryujinx-launch.log` — PWD, ARGS, EXE, EXIT_CODE. + +**Ryujinx не поддерживает NSZ нативно** — только NSP и XCI. NSZ нужно конвертировать в NSP. + +**NSZ → NSP конвертация (22.06.2026):** +Установлен `nsz` CLI (v4.6) на HTPC через `pip3 install nsz`. +**Правильная команда:** `nsz -D file.nsz` (decompress mode). + +Проверено на The Disney Afternoon Collection — `nsz -D` верифицировал все NCA хеши (`[VERIFIED]`), файл 407MB PFS0 (7 files), работает в Ryujinx ✅. + +NSP создаётся рядом с NSZ, с тем же длинным именем (со скобками/размером). После декомпрессии: +1. Переименовать NSP в slug (короткое имя без пробелов/скобок) — `dk_country_returns_hd.nsp` и т.д. +2. Создать симлинк: `ln -sf /run/media/system/Data/Switch\ Roms/…/slug.nsp ~/Emulation/roms/switch/slug.nsp` + +**Статус:** +- The Disney Afternoon Collection — ✅ конвертирован, работает +- **NSZ на конвертацию (23 игры):** + +**В Steam (10):** +1. Donkey Kong Country Returns HD +2. Hollow Knight: Silksong +3. Ori and the Will of the Wisps +4. Plants vs. Zombies: Replanted +5. Super Mario 3D World + Bowser Fury +6. Super Smash Bros. Ultimate +7. Unravel Two +8. Vasilisa and Baba Yaga +9. Hunting Simulator 2 +10. Carnivores Dinosaur Hunt + +**Не в Steam, в 14 Hunting games (12):** +11. America Wild Hunting +12. Animal Hunting 3D +13. Best Sniper Legacy Dino Hunt Shooter 3D +14. Big Buck Hunter Arcade +15. Big Buck Hunter Ultimate Trophy +16. Cabela's The Hunt Championship Edition +17. Deer Drive Legends +18. Duck Hunting Challenge +19. Hunt +20. Hunter Simulator Wild Hunting +21. Hunting Simulator +22. Werewolf Hunter Survive the Howl + +**Битый (Hash error):** +- Hollow Knight — ❌ + +--- + +## Геймпады — общая информация + +| Тип | Подключение | Драйвер | Статус | +|-----|------------|---------|--------| +| Xbox 360 (×2) | USB | xpad (в ядре) | ✅ автоматически | +| 8BitDo (×2) | USB/Bluetooth, Xbox режим | xpad-совместимый | ✅ в Xbox режиме | + +**8BitDo Xbox режим:** удерживать **X** при включении контроллера → определяется как Xbox-совместимый через xpad. + +**Проверить подключение:** +```bash +ls /dev/input/js* # должно быть js0, js1, ... +cat /proc/bus/input/devices | grep -A4 "Xbox\|8BitDo" +``` diff --git a/family/how-to/htpc-emulators-setup.md b/family/how-to/htpc-emulators-setup.md old mode 100644 new mode 100755 index e1c3917b..951dacb8 --- a/family/how-to/htpc-emulators-setup.md +++ b/family/how-to/htpc-emulators-setup.md @@ -410,37 +410,37 @@ CACHE="$HOME/.var/app/org.libretro.RetroArch/config/retroarch/system/Mupen64plus Всего symlinks в `~/Emulation/roms/switch/`: 31. Из них в Steam добавлено 38 (shortcuts.vdf), все с artwork. Эмулятор: Ryujinx 1.3.3 (flatpak), firmware 19.0.1, prod.keys (12KB), title.keys отсутствует. -| Игра | ROM slug | Статус | -|------|----------|--------| -| Animal Crossing New Horizons | `animal_crossing.nsp` | ✅ работает | -| Donkey Kong Country Tropical Freeze | `donkey_kong.nsp` | ✅ работает | -| Super Mario Odyssey | `mario_odyssey.nsp` | ✅ работает | -| Mario Kart 8 Deluxe | `mario_kart_8.nsp` | ✅ работает | -| The Legend of Zelda: Breath of the Wild | `zelda_botw.nsp` | ✅ работает | -| Spyro Reignited Trilogy | `spyro_reignited_trilogy.nsp` | ✅ работает | -| Majora's Mask (2Ship2Harkinian) | `majoras_mask.nsp` | ❌ PAL_SEHException (GPU crash) | -| Donkey Kong Country Returns HD | `donkey_kong_country_returns_hd.nsp` | ⏳ NSZ | -| Hollow Knight | `hollow_knight.nsp` | ❌ битый | -| Hollow Knight: Silksong | `hollow_knight__silksong.nsp` | ⏳ NSZ | -| It Takes Two | `it_takes_two.nsp` | ❓ | -| Little Nightmares | `little_nightmares.nsp` | ❓ | -| Little Nightmares III | `little_nightmares_iii.nsp` | ❓ | -| Luigi Mansion 3 | `luigi_mansion_3.nsp` | ❓ | -| Ori and the Will of the Wisps | `ori_and_the_will_of_the_wisps.nsp` | ⏳ NSZ | -| Plants vs. Zombies: Replanted | `plants_vs__zombies__replanted.nsp` | ⏳ NSZ | -| Super Mario 3D All-Stars | `super_mario_3d_all_stars.nsp` | ❓ | -| Super Mario 3D World + Bowser Fury | `super_mario_3d_world___bowser_fury.nsp` | ⏳ NSZ | -| Super Mario Bros. Wonder | `super_mario_bros__wonder.nsp` | ❓ | -| Super Mario Party | `super_mario_party.nsp` | ❓ | -| Super Smash Bros. Ultimate | `smash_ultimate.nsp` | ⏳ NSZ | -| Sonic Mania | `sonic_mania.nsp` | ❓ | -| The Disney Afternoon Collection | `the_disney_afternoon_collection.nsp` | ✅ | -| Unravel Two | `unravel_two.nsp` | ⏳ NSZ | -| Sam & Max Save the World | `sam_and_max_save_the_world.nsp` | ❓ | -| Vasilisa and Baba Yaga | `vasilisa_and_baba_yaga.nsp` | ⏳ NSZ | -| Constance | `constance.nsp` | ❓ | -| Hunting Simulator 2 | `hunting_simulator_2.nsp` | ⏳ NSZ | -| Carnivores Dinosaur Hunt | `carnivores_dinosaur_hunt.nsp` | ⏳ NSZ | +| Игра | ROM slug | Статус | +| --------------------------------------- | ---------------------------------------- | ------------------------------ | +| Animal Crossing New Horizons | `animal_crossing.nsp` | ✅ работает | +| Donkey Kong Country Tropical Freeze | `donkey_kong.nsp` | ✅ работает | +| Super Mario Odyssey | `mario_odyssey.nsp` | ✅ работает | +| Mario Kart 8 Deluxe | `mario_kart_8.nsp` | ✅ работает | +| The Legend of Zelda: Breath of the Wild | `zelda_botw.nsp` | ✅ работает | +| Spyro Reignited Trilogy | `spyro_reignited_trilogy.nsp` | ✅ работает | +| Majora's Mask (2Ship2Harkinian) | `majoras_mask.nsp` | ❌ PAL_SEHException (GPU crash) | +| Donkey Kong Country Returns HD | `donkey_kong_country_returns_hd.nsp` | ⏳ NSZ | +| Hollow Knight | `hollow_knight.nsp` | ❌ битый | +| Hollow Knight: Silksong | `hollow_knight__silksong.nsp` | ⏳ NSZ | +| It Takes Two | `it_takes_two.nsp` | ❓ | +| Little Nightmares | `little_nightmares.nsp` | ❓ | +| Little Nightmares III | `little_nightmares_iii.nsp` | ❓ | +| Luigi Mansion 3 | `luigi_mansion_3.nsp` | ❓ | +| Ori and the Will of the Wisps | `ori_and_the_will_of_the_wisps.nsp` | ⏳ NSZ | +| Plants vs. Zombies: Replanted | `plants_vs__zombies__replanted.nsp` | ⏳ NSZ | +| Super Mario 3D All-Stars | `super_mario_3d_all_stars.nsp` | ❓ | +| Super Mario 3D World + Bowser Fury | `super_mario_3d_world___bowser_fury.nsp` | ⏳ NSZ | +| Super Mario Bros. Wonder | `super_mario_bros__wonder.nsp` | ❓ | +| Super Mario Party | `super_mario_party.nsp` | ❓ | +| Super Smash Bros. Ultimate | `smash_ultimate.nsp` | ⏳ NSZ | +| Sonic Mania | `sonic_mania.nsp` | ❓ | +| The Disney Afternoon Collection | `the_disney_afternoon_collection.nsp` | ✅ | +| Unravel Two | `unravel_two.nsp` | ⏳ NSZ | +| Sam & Max Save the World | `sam_and_max_save_the_world.nsp` | ❓ | +| Vasilisa and Baba Yaga | `vasilisa_and_baba_yaga.nsp` | ⏳ NSZ | +| Constance | `constance.nsp` | ❓ | +| Hunting Simulator 2 | `hunting_simulator_2.nsp` | ⏳ NSZ | +| Carnivores Dinosaur Hunt | `carnivores_dinosaur_hunt.nsp` | ⏳ NSZ | **Symlink схема:** плоские симлинки без пробелов в `~/Emulation/roms/switch/` → `/run/media/system/Data/Switch Roms/...` Оригинальные симлинки на папки сохранены для совместимости. From 632b32ffa574e8b5104d2c0ed74543ebf67b63bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A2=D0=B0=D0=B9=D0=B3=D0=B0?= Date: Sun, 21 Jun 2026 17:05:47 +0000 Subject: [PATCH 03/19] [2026-06-21] syncthing: .stversions/.obsidian/workspace-mobile.json --- .stversions/.obsidian/workspace-mobile.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.stversions/.obsidian/workspace-mobile.json b/.stversions/.obsidian/workspace-mobile.json index 3c7b3e3f..467b50cd 100755 --- a/.stversions/.obsidian/workspace-mobile.json +++ b/.stversions/.obsidian/workspace-mobile.json @@ -402,7 +402,7 @@ "state": { "type": "search", "state": { - "query": "Switch games nsp", + "query": "Nsz", "matchingCase": false, "explainSearch": false, "collapseAll": false, @@ -453,7 +453,7 @@ } } ], - "currentTab": 0 + "currentTab": 1 }, "right": { "id": "569cb05179715434", @@ -529,8 +529,9 @@ "bases:Создать новую базу": false } }, - "active": "6fbf0b97dfa87f9b", + "active": "84667e67cf6dbc52", "lastOpenFiles": [ + "personal/projects/balda/fix-openaimodel-tools.md", "personal/projects/budget-app/index.md", "personal/projects/budget-app", "personal/creative/songs/Рыба.md", @@ -558,7 +559,6 @@ "work/briefs/daily/2026-06-15.md", "personal/projects/balda/balda-valera.md", "personal/projects/zulip-router.md", - "personal/projects/balda/fast-rlm-integration.md", "personal/projects/hermes-configs/whale-config.example.yaml", "personal/projects/hermes-configs/eagle-config.example.yaml", "personal/projects/hermes-configs", From 932bd2a19afcf4c23159b071b530fef2161d56e2 Mon Sep 17 00:00:00 2001 From: Taiga Date: Sun, 21 Jun 2026 17:40:25 +0000 Subject: [PATCH 04/19] [2026-06-21] taiga-vault: family/documents/vault-sync/2026-06-21.md --- family/documents/vault-sync/2026-06-21.md | 27 +++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 family/documents/vault-sync/2026-06-21.md diff --git a/family/documents/vault-sync/2026-06-21.md b/family/documents/vault-sync/2026-06-21.md new file mode 100644 index 00000000..19374117 --- /dev/null +++ b/family/documents/vault-sync/2026-06-21.md @@ -0,0 +1,27 @@ +# Vault Sync — 2026-06-21 + +**Время**: 17:35 +**Статус**: ✅ OK + +Все три репозитория синхронизированы: +- `syncthing` — ✅ Pushed +- `taiga-vault` — ✅ Pushed +- `syncthing-out` — ✅ Pushed + +**Заметки за день (из коммитов)**: +- `family/how-to/htpc-emulators-setup.md` — несколько обновлений +- `family/how-to/htpc-bazzite-proton.md` — создана +- `family/how-to/htpc-steam-nonsteam-shortcuts.md` — создана +- `family/how-to/htpc-system.md` — обновление +- `personal/projects/budget-app/index.md` — несколько коммитов +- `personal/projects/balda/balda-valera.md` — обновление +- `personal/projects/balda/fast-rlm-integration.md` — создана +- `personal/projects/balda/fix-openaimodel-tools.md` — создана +- `personal/projects/hermes/hermes-gateway-stream-consumer-text-loss.md` — создана +- `personal/projects/hermes/no-edit-segment-send-bug.md` — создана +- `personal/projects/zulip-router-approval-reactions.md` — создана +- `personal/projects/zulip-router.md` — создана +- `personal/agent/Phase 2 — Approval Reactions.md` — создана +- `personal/creative/songs/Рыба.md` — создана + +**Ошибки**: одна транзиентная ошибка Push failed у syncthing в 16:31 — восстановилась на следующем цикле. From fca79e0ebbbb2001e5851dbdb4ba355cf8435fb9 Mon Sep 17 00:00:00 2001 From: Taiga Date: Sun, 21 Jun 2026 19:40:42 +0000 Subject: [PATCH 05/19] [2026-06-21] taiga-vault: family/documents/vault-sync/2026-06-21.md --- family/documents/vault-sync/2026-06-21.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/family/documents/vault-sync/2026-06-21.md b/family/documents/vault-sync/2026-06-21.md index 19374117..561e3f50 100644 --- a/family/documents/vault-sync/2026-06-21.md +++ b/family/documents/vault-sync/2026-06-21.md @@ -25,3 +25,26 @@ - `personal/creative/songs/Рыба.md` — создана **Ошибки**: одна транзиентная ошибка Push failed у syncthing в 16:31 — восстановилась на следующем цикле. + + +## 19:35 — cron run + +Скрипт выполнен. Все три репозитория синхронизированы: +- **syncthing** — ✓ (есть единичный Push failed в 16:31, но следующий цикл исправил) +- **taiga-vault** — ✓ +- **syncthing-out** — ✓ + +За день закоммичены изменения в: +- `family/how-to/htpc-emulators-setup.md` — много правок +- `family/how-to/htpc-bazzite-proton.md` — новая заметка +- `family/how-to/htpc-steam-nonsteam-shortcuts.md` — новая заметка +- `family/how-to/htpc-system.md` — обновление +- `personal/projects/budget-app/index.md` — правки +- `personal/projects/balda/balda-valera.md` — правки +- `personal/projects/balda/fix-openaimodel-tools.md` — новая заметка +- `personal/agent/Phase 2 — Approval Reactions.md` — новая заметка +- `personal/creative/songs/Рыба.md` — новая заметка +- `personal/projects/hermes/` — несколько заметок +- `personal/projects/zulip-router*.md` — заметки + +Ошибка в строке `/usr/bin/bash: line 3: sudo: not found` — единичная, скрипт продолжил работу. Без последствий. From 78120963a796f68170257282be7d8a49c83bfd1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A2=D0=B0=D0=B9=D0=B3=D0=B0?= Date: Mon, 22 Jun 2026 07:15:40 +0000 Subject: [PATCH 06/19] [2026-06-22] syncthing: .stversions/.obsidian/workspace-mobile.json --- .stversions/.obsidian/workspace-mobile.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stversions/.obsidian/workspace-mobile.json b/.stversions/.obsidian/workspace-mobile.json index 467b50cd..0246ef9c 100755 --- a/.stversions/.obsidian/workspace-mobile.json +++ b/.stversions/.obsidian/workspace-mobile.json @@ -529,8 +529,9 @@ "bases:Создать новую базу": false } }, - "active": "84667e67cf6dbc52", + "active": "df0c7b7cc53c66bb", "lastOpenFiles": [ + "family/how-to/htpc-emulators-setup.md", "personal/projects/balda/fix-openaimodel-tools.md", "personal/projects/budget-app/index.md", "personal/projects/budget-app", @@ -558,7 +559,6 @@ "work/briefs/inbox/2026-06-10.md", "work/briefs/daily/2026-06-15.md", "personal/projects/balda/balda-valera.md", - "personal/projects/zulip-router.md", "personal/projects/hermes-configs/whale-config.example.yaml", "personal/projects/hermes-configs/eagle-config.example.yaml", "personal/projects/hermes-configs", From 53080e9619266474bd2c9f22b8ffe45942b43770 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A2=D0=B0=D0=B9=D0=B3=D0=B0?= Date: Mon, 22 Jun 2026 08:05:27 +0000 Subject: [PATCH 07/19] [2026-06-22] syncthing: .stversions/personal/documents/workout.md personal/documents/workout.md --- .stversions/personal/documents/workout.md | 41 +++++++++++++++++++++++ personal/documents/workout.md | 2 +- 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 .stversions/personal/documents/workout.md mode change 100644 => 100755 personal/documents/workout.md diff --git a/.stversions/personal/documents/workout.md b/.stversions/personal/documents/workout.md new file mode 100644 index 00000000..2c904696 --- /dev/null +++ b/.stversions/personal/documents/workout.md @@ -0,0 +1,41 @@ +--- +title: "💪 Программа упражнений" +aliases: ["Упражнения", "Workout", "workout"] +tags: ["personal", "health", "fitness"] +related: + - "[[personal/documents/subscription-gym]]" + - "[[personal/documents/todo-list]]" +updated: "2026-05-17" +--- +# 💪 Программа упражнений/тренировок + +Жим штанги лёжа на прямой скамье 5/10 +Жим гантелей лёжа на прямой скамье 5/10 +Жим в тренажёре сидя грудь 5/12 +Сведения рук в тренажёре сидя 5/12 +Обратные отжимания от скамьи 5/10 +Разгибания рук на блоке прямой ручкой 5/12 +Пресс 5/30 + +Спина. +Тяга верхнего блока к груди прямым хватом 5/10 +Тяга верхнего блока к груди узкой ручкой 5/10 +Тяга нижнего блока к поясу 5/12 +Бицепс стоя с кривым грифом 5/10 +Молот одновременно 5/12 +Обратные разведения в тренажёре 5/12 +Трапеции с гантелями 5/12 + +Ноги. +Разминка: разгибания ног сидя в тренажёре не большой вес 3/12 +Жим ногами 5/10 +Сгибания ног лёжа в тренажёре 5/10 +Разгибания ног сидя 5/10 +Плечи. +Жим гантелей сидя на скамье 5/10 +Боковые разводки стоя с гантелями 5/12 +Подъем гантелей перед собой одновременно 5/12 +## Связанные заметки + +- [[personal/documents/subscription-gym]] — абонемент в зал +- [[personal/documents/todo-list]] — список дел diff --git a/personal/documents/workout.md b/personal/documents/workout.md old mode 100644 new mode 100755 index 2c904696..7974a08a --- a/personal/documents/workout.md +++ b/personal/documents/workout.md @@ -23,8 +23,8 @@ updated: "2026-05-17" Тяга нижнего блока к поясу 5/12 Бицепс стоя с кривым грифом 5/10 Молот одновременно 5/12 -Обратные разведения в тренажёре 5/12 Трапеции с гантелями 5/12 +Обратные разведения в тренажёре 5/12 Ноги. Разминка: разгибания ног сидя в тренажёре не большой вес 3/12 From 4dec97db437eecf763126164fa378e64dea3e4af Mon Sep 17 00:00:00 2001 From: Taiga Date: Mon, 22 Jun 2026 08:05:29 +0000 Subject: [PATCH 08/19] [2026-06-22] taiga-vault: family/documents/vault-sync/2026-06-22.md --- family/documents/vault-sync/2026-06-22.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 family/documents/vault-sync/2026-06-22.md diff --git a/family/documents/vault-sync/2026-06-22.md b/family/documents/vault-sync/2026-06-22.md new file mode 100644 index 00000000..f5872ea5 --- /dev/null +++ b/family/documents/vault-sync/2026-06-22.md @@ -0,0 +1,13 @@ +# Vault Sync — 2026-06-22 + +**Время**: 08:00 +**Статус**: ✅ OK + +Скрипт выполнен. Результаты: +- **syncthing** — ✅ стабильные пуши, ошибок нет +- **taiga-vault** — ✅ стабильные пуши, ошибок нет +- **syncthing-out** — ✅ стабильные пуши, ошибок нет + +**Изменения за день**: коммитов нет — vault не менялся с вечера 21 июня. + +**Ошибки**: нет. From b692c86af91054c76775baaf2463c64e003c4c35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A2=D0=B0=D0=B9=D0=B3=D0=B0?= Date: Mon, 22 Jun 2026 08:20:57 +0000 Subject: [PATCH 09/19] [2026-06-22] syncthing: .stversions/.obsidian/workspace-mobile.json --- .stversions/.obsidian/workspace-mobile.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stversions/.obsidian/workspace-mobile.json b/.stversions/.obsidian/workspace-mobile.json index 0246ef9c..5399c378 100755 --- a/.stversions/.obsidian/workspace-mobile.json +++ b/.stversions/.obsidian/workspace-mobile.json @@ -374,7 +374,7 @@ } } ], - "currentTab": 25 + "currentTab": 14 } ], "direction": "vertical" @@ -529,7 +529,7 @@ "bases:Создать новую базу": false } }, - "active": "df0c7b7cc53c66bb", + "active": "5ea6459fdd49023b", "lastOpenFiles": [ "family/how-to/htpc-emulators-setup.md", "personal/projects/balda/fix-openaimodel-tools.md", From db57c4070eb331c10bd824a8ae380e813ad10700 Mon Sep 17 00:00:00 2001 From: Taiga Date: Mon, 22 Jun 2026 21:50:49 +0000 Subject: [PATCH 10/19] [2026-06-22] taiga-vault: family/documents/vault-sync/2026-06-22.md --- family/documents/vault-sync/2026-06-22.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/family/documents/vault-sync/2026-06-22.md b/family/documents/vault-sync/2026-06-22.md index f5872ea5..63dabdcd 100644 --- a/family/documents/vault-sync/2026-06-22.md +++ b/family/documents/vault-sync/2026-06-22.md @@ -1,6 +1,6 @@ # Vault Sync — 2026-06-22 -**Время**: 08:00 +**Время**: 08:00 + **вечерний запуск 21:45** **Статус**: ✅ OK Скрипт выполнен. Результаты: @@ -8,6 +8,9 @@ - **taiga-vault** — ✅ стабильные пуши, ошибок нет - **syncthing-out** — ✅ стабильные пуши, ошибок нет -**Изменения за день**: коммитов нет — vault не менялся с вечера 21 июня. +**Изменения за день**: +- workout.md — обновлён (синк с Eagle/Кракена) +- .obsidian/workspace-mobile.json — менялся (автосохранение настроек Obsidian) +- .stversions — история версий старых файлов -**Ошибки**: нет. +**Ошибки**: нет. Единственный сбой — syncthing **Push failed** 21 июня в 16:31 (разовая сетевой сбой, восстановился через 2 минуты). From f6451c2af1410266bd5bc736acc84436a3c8ed14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A2=D0=B0=D0=B9=D0=B3=D0=B0?= Date: Tue, 23 Jun 2026 02:19:08 +0000 Subject: [PATCH 11/19] [2026-06-23] syncthing: .stversions/.obsidian/workspace-mobile.json --- .stversions/.obsidian/workspace-mobile.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.stversions/.obsidian/workspace-mobile.json b/.stversions/.obsidian/workspace-mobile.json index 5399c378..cc3c1343 100755 --- a/.stversions/.obsidian/workspace-mobile.json +++ b/.stversions/.obsidian/workspace-mobile.json @@ -531,6 +531,7 @@ }, "active": "5ea6459fdd49023b", "lastOpenFiles": [ + "family/documents/vault-sync/2026-06-22.md", "family/how-to/htpc-emulators-setup.md", "personal/projects/balda/fix-openaimodel-tools.md", "personal/projects/budget-app/index.md", @@ -558,7 +559,6 @@ "personal/projects/personal-os/claude-wrapper-proxy.md", "work/briefs/inbox/2026-06-10.md", "work/briefs/daily/2026-06-15.md", - "personal/projects/balda/balda-valera.md", "personal/projects/hermes-configs/whale-config.example.yaml", "personal/projects/hermes-configs/eagle-config.example.yaml", "personal/projects/hermes-configs", From 50d2fa4fe4988b86282d8923dba554b2ae719838 Mon Sep 17 00:00:00 2001 From: Taiga Date: Tue, 23 Jun 2026 16:10:23 +0000 Subject: [PATCH 12/19] [2026-06-23] taiga-vault: family/documents/vault-sync/2026-06-23.md --- family/documents/vault-sync/2026-06-23.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 family/documents/vault-sync/2026-06-23.md diff --git a/family/documents/vault-sync/2026-06-23.md b/family/documents/vault-sync/2026-06-23.md new file mode 100644 index 00000000..b4adb6ea --- /dev/null +++ b/family/documents/vault-sync/2026-06-23.md @@ -0,0 +1,11 @@ +# Синхронизация vault — 2026-06-23 + +Время запуска: 16:00 MSK (cron) +Результат: ✓ успешно + +## Реплики +- **syncthing** — Pushed ✓ +- **taiga-vault** — Pushed ✓ +- **syncthing-out** — Pushed ✓ + +Ошибок нет. From 5da989437022582e4e72c3a3f90f4b95503c62ab Mon Sep 17 00:00:00 2001 From: Taiga Date: Tue, 23 Jun 2026 17:40:31 +0000 Subject: [PATCH 13/19] [2026-06-23] taiga-vault: family/documents/vault-sync/2026-06-23.md --- family/documents/vault-sync/2026-06-23.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/family/documents/vault-sync/2026-06-23.md b/family/documents/vault-sync/2026-06-23.md index b4adb6ea..6750101f 100644 --- a/family/documents/vault-sync/2026-06-23.md +++ b/family/documents/vault-sync/2026-06-23.md @@ -9,3 +9,11 @@ - **syncthing-out** — Pushed ✓ Ошибок нет. + +## 17:35 MSK (cron) +Результат: ✓ успешно +- **syncthing** — Pushed ✓ +- **taiga-vault** — Pushed ✓ +- **syncthing-out** — Pushed ✓ + +Изменения: `.stversions/.obsidian/workspace-mobile.json` — штатные версионные копии Syncthing, не влияют на содержимое vault. From 091f293673d3e3cf8e9958783a4ebd10df2535a7 Mon Sep 17 00:00:00 2001 From: Taiga Date: Tue, 23 Jun 2026 19:25:16 +0000 Subject: [PATCH 14/19] [2026-06-23] taiga-vault: family/documents/vault-sync/2026-06-23.md --- family/documents/vault-sync/2026-06-23.md | 27 +++++++++++------------ 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/family/documents/vault-sync/2026-06-23.md b/family/documents/vault-sync/2026-06-23.md index 6750101f..f0635582 100644 --- a/family/documents/vault-sync/2026-06-23.md +++ b/family/documents/vault-sync/2026-06-23.md @@ -1,19 +1,18 @@ -# Синхронизация vault — 2026-06-23 +# Vault Sync — 23 июня 2026 -Время запуска: 16:00 MSK (cron) -Результат: ✓ успешно +**Скрипт**: `/opt/data/sync-vault.sh` +**Лог**: `/tmp/vault-sync.log` +**Последний запуск**: 19:21 -## Реплики -- **syncthing** — Pushed ✓ -- **taiga-vault** — Pushed ✓ -- **syncthing-out** — Pushed ✓ +## Статус -Ошибок нет. +- **syncthing** — ✓ Pushed (каждые ~5 мин) +- **taiga-vault** — ✓ Pushed +- **syncthing-out** — ✓ Pushed -## 17:35 MSK (cron) -Результат: ✓ успешно -- **syncthing** — Pushed ✓ -- **taiga-vault** — Pushed ✓ -- **syncthing-out** — Pushed ✓ +Все три репозитория синхронизируются без ошибок. За сутки — ни одного сбоя. -Изменения: `.stversions/.obsidian/workspace-mobile.json` — штатные версионные копии Syncthing, не влияют на содержимое vault. +## Заметки + +- `sudo: command not found` 17/06 — не влияет, все push'и проходят. +- Коммиты за день: 2 (в 16:10 и 17:40). From 9e3959b0cce8e7a34428c86e4e63de019985c5a0 Mon Sep 17 00:00:00 2001 From: Taiga Date: Wed, 24 Jun 2026 04:50:47 +0000 Subject: [PATCH 15/19] [2026-06-24] taiga-vault: family/documents/vault-sync/2026-06-24.md --- family/documents/vault-sync/2026-06-24.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 family/documents/vault-sync/2026-06-24.md diff --git a/family/documents/vault-sync/2026-06-24.md b/family/documents/vault-sync/2026-06-24.md new file mode 100644 index 00000000..2a3dc2f9 --- /dev/null +++ b/family/documents/vault-sync/2026-06-24.md @@ -0,0 +1,16 @@ +--- +title: '2026-06-24' +type: vault-sync-log +created: '2026-06-24 04:45' +status: ok +--- +Vault sync ran at 04:45 via cron job. + +**Скрипт**: `/opt/data/sync-vault.sh` +**Лог**: `/tmp/vault-sync.log` +**Код выхода**: 0 + +Все три репозитория синхронизированы успешно: +- syncthing — Pushed ✓ +- taiga-vault — Pushed ✓ +- syncthing-out — Pushed ✓ From 91e148ff9e2df273749464d3c233b51356b9bee6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A2=D0=B0=D0=B9=D0=B3=D0=B0?= Date: Wed, 24 Jun 2026 07:45:27 +0000 Subject: [PATCH 16/19] [2026-06-24] syncthing: .stversions/.obsidian/workspace-mobile.json --- .stversions/.obsidian/workspace-mobile.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.stversions/.obsidian/workspace-mobile.json b/.stversions/.obsidian/workspace-mobile.json index cc3c1343..9afcbd85 100755 --- a/.stversions/.obsidian/workspace-mobile.json +++ b/.stversions/.obsidian/workspace-mobile.json @@ -211,12 +211,12 @@ "state": { "type": "markdown", "state": { - "file": "personal/documents/workout.md", + "file": "family/documents/bring-to-russia.md", "mode": "source", "source": false }, "icon": "lucide-file", - "title": "workout" + "title": "bring-to-russia" } }, { @@ -531,6 +531,7 @@ }, "active": "5ea6459fdd49023b", "lastOpenFiles": [ + "personal/documents/workout.md", "family/documents/vault-sync/2026-06-22.md", "family/how-to/htpc-emulators-setup.md", "personal/projects/balda/fix-openaimodel-tools.md", @@ -558,7 +559,6 @@ "personal/projects/personal-os/claude-proxy-node-internals.md", "personal/projects/personal-os/claude-wrapper-proxy.md", "work/briefs/inbox/2026-06-10.md", - "work/briefs/daily/2026-06-15.md", "personal/projects/hermes-configs/whale-config.example.yaml", "personal/projects/hermes-configs/eagle-config.example.yaml", "personal/projects/hermes-configs", From bc12f8bbd5c069dbcd8e1fb52fe50c81eb26c396 Mon Sep 17 00:00:00 2001 From: Taiga Date: Wed, 24 Jun 2026 09:45:36 +0000 Subject: [PATCH 17/19] [2026-06-24] taiga-vault: family/documents/vault-sync/2026-06-24.md --- family/documents/vault-sync/2026-06-24.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/family/documents/vault-sync/2026-06-24.md b/family/documents/vault-sync/2026-06-24.md index 2a3dc2f9..e345e893 100644 --- a/family/documents/vault-sync/2026-06-24.md +++ b/family/documents/vault-sync/2026-06-24.md @@ -14,3 +14,5 @@ Vault sync ran at 04:45 via cron job. - syncthing — Pushed ✓ - taiga-vault — Pushed ✓ - syncthing-out — Pushed ✓ + +**09:40** — штатная синхронизация, ошибок нет. From cec55a5820514bd9969bcc1be4a5f1f9d34eac4c Mon Sep 17 00:00:00 2001 From: Taiga Date: Wed, 24 Jun 2026 16:33:50 +0000 Subject: [PATCH 18/19] [2026-06-24] taiga-vault: family/documents/vault-sync/2026-06-24.md --- family/documents/vault-sync/2026-06-24.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/family/documents/vault-sync/2026-06-24.md b/family/documents/vault-sync/2026-06-24.md index e345e893..6d36c83d 100644 --- a/family/documents/vault-sync/2026-06-24.md +++ b/family/documents/vault-sync/2026-06-24.md @@ -16,3 +16,5 @@ Vault sync ran at 04:45 via cron job. - syncthing-out — Pushed ✓ **09:40** — штатная синхронизация, ошибок нет. + +**16:25** — синхронизация по cron. Изменений от Eagle/Syncthing не обнаружено. Vault чист. From ac0d753ec0f17e7938f20d37a928d8954718ad48 Mon Sep 17 00:00:00 2001 From: Taiga Date: Wed, 24 Jun 2026 21:56:06 +0000 Subject: [PATCH 19/19] [2026-06-24] taiga-vault: family/documents/vault-sync/2026-06-24.md --- family/documents/vault-sync/2026-06-24.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/family/documents/vault-sync/2026-06-24.md b/family/documents/vault-sync/2026-06-24.md index 6d36c83d..ab064019 100644 --- a/family/documents/vault-sync/2026-06-24.md +++ b/family/documents/vault-sync/2026-06-24.md @@ -18,3 +18,5 @@ Vault sync ran at 04:45 via cron job. **09:40** — штатная синхронизация, ошибок нет. **16:25** — синхронизация по cron. Изменений от Eagle/Syncthing не обнаружено. Vault чист. + +**21:51** — синхронизация по cron. Все три репозитория запушились без ошибок. Изменений от Eagle/Syncthing нет.