From 0f0b5c7e8799d3ca901662fa60d6878c33f3418a Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Sun, 7 Jun 2026 15:20:50 +0600 Subject: [PATCH] =?UTF-8?q?Revert=20"[2026-06-07]=20native=20non-Steam=20p?= =?UTF-8?q?itfalls=20=E2=80=94=20mount=20namespace,=20stderr,=20libmp3lame?= =?UTF-8?q?"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit c8043eefe4f9267565481da1269a93d46ab56b72. --- .../how-to/htpc-steam-nonsteam-shortcuts.md | 53 ------------------- 1 file changed, 53 deletions(-) diff --git a/family/how-to/htpc-steam-nonsteam-shortcuts.md b/family/how-to/htpc-steam-nonsteam-shortcuts.md index 0a78c539..dcc3bd2d 100644 --- a/family/how-to/htpc-steam-nonsteam-shortcuts.md +++ b/family/how-to/htpc-steam-nonsteam-shortcuts.md @@ -4,59 +4,6 @@ **Steam должен быть выключен** перед записью shortcuts.vdf. Если Steam работает — он перезапишет файл из памяти при следующем запуске. -## Подводные камни native Linux shortcut'ов (Worms W.M.D case) - -### Проблема: Steam не видит `/run/media/system/Data/` - -Steam, запущенный через `gamescope-session-plus`, работает в изолированном mount namespace. Путь `/run/media/system/Data/` (btrfs-подраздел) может быть **не виден** Steam-процессу. - -**Симптом:** нажимаешь Play → `chdir` в логах есть, `exit code 0` мгновенно, игра не стартует. `/tmp/worms_stderr.log` не создаётся — значит `run.sh` даже не запустился. - -**Причина:** Steam проверяет существование `exe` файла перед запуском native shortcut. Если файл не найден — `steam-launch-wrapper` завершается с кодом 0 без ошибки. Для Proton shortcut'ов эта проверка не делается — Steam передаёт путь внутрь Proton. - -**Решение:** не указывать `exe` на `/run/media/system/Data/...`. Вместо этого: -1. Создать symlink в `/home/bazzite/`: - ```bash - ln -sf /run/media/system/Data/Games/.../run.sh /home/bazzite/game_name.sh - ``` -2. В VDF прописать `exe = /home/bazzite/game_name.sh`, `StartDir = /home/bazzite/`. -3. `/home/bazzite/` виден из любого mount namespace. - -### Проблема: `run.sh` глушит stderr - -Многие native Linux игры (особенно старые MojoSetup-инсталляторы) имеют в `run.sh`: -```sh -exec ./binary 2>/dev/null "$@" -``` -`2>/dev/null` скрывает все ошибки. Steam логи не показывают stderr дочернего процесса. - -**Решение:** убрать `2>/dev/null` из `run.sh`. Если нужно дебажить — перенаправить в файл: -```sh -exec ./binary 2>/tmp/game_stderr.log "$@" -``` - -### Проблема: старая `libmp3lame.so.0` без нужного символа - -Старые native игры тащат свою `libmp3lame.so.0` (2019-2020), в которой нет символа `lame_encode_buffer_interleaved_int`. Системная `libsndfile.so.1` (Fedora 43) требует этот символ. - -**Симптом:** `symbol lookup error: /lib64/libsndfile.so.1: undefined symbol: lame_encode_buffer_interleaved_int` - -**Причина:** линковщик загружает игровую `libmp3lame.so.0` из `data/lib/` (старая, без символа), а `libsndfile.so.1` из `/lib64/` — и находит уже загруженную старую копию. - -**Решение:** заменить игровую `libmp3lame.so.0` на системную: -```bash -cp /lib64/libmp3lame.so.0 /run/media/system/Data/Games/.../data/lib/libmp3lame.so.0 -``` - -### Статус Worms W.M.D (native Linux) - -- **Версия:** MojoSetup-инсталлятор с rutracker (Worms W.M.D [239.583366] [Native]) -- **Путь:** `/run/media/system/Data/Games/Worms W.M.D Native/Worms W.M.D/` -- **Symlink:** `/home/bazzite/worms_wmd.sh → .../run.sh` -- **Steam shortcut:** entry 109, appid = -364361099 (unsigned: 3930606197) -- **LaunchOptions:** `%command%` -- **Статус:** ✅ запускается - ## Остановка Steam (Bazzite game session) ```bash