Bug 56107
| Summary: | С включенным мангохут (mangohud %command%) 32 битные игры не запускаются в стим. | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | Sisyphus | Reporter: | Дмитрий <semenow.dmitr> | ||||||||
| Component: | mangohud | Assignee: | Денис Назаров <nenderus> | ||||||||
| Status: | RESOLVED FIXED | QA Contact: | qa-sisyphus | ||||||||
| Severity: | normal | ||||||||||
| Priority: | P5 | CC: | gesha24, mail, nenderus, sychkinsv | ||||||||
| Version: | unstable | ||||||||||
| Hardware: | x86 | ||||||||||
| OS: | Linux | ||||||||||
| Attachments: |
|
||||||||||
Created attachment 19620 [details]
В консоли
Добрый день. Укажите, пожалуйста шаги воспроизведения. Воспроизводится ли эта ошибка на другом железе? Ошибка воспроизводится на ALT K Workstation, Версии пакетов: i586-mangohud-0.7.2-alt1, steam-1.0.0.84-alt1 Пакет сообщества: GE-Proton10-21 Оборудование: Процессор: Intel(R) Core(TM) Ultra 7 255H Видеокарта: ASUSTeK Computer Inc. Intel Graphics репозиторий: p11 Пока не проверялось на Sisyphus Проверил также:
Стенд ALT Education KDE x86-64, ALT Workstation x86-64
p11, i856-mangohud-0.7.2-alt1, mangohud-0.7.2-alt1 - Воспроизводится
Sisyphus, i586-mangohud-0.8.1-alt1, mangohud-0.8.1-alt1 - Появляется другая ошибка
[2025-10-25 20:47:57.855] [MANGOHUD] [info] [blacklist.cpp:75] proces s 'explorer.exe' is blacklisted in MangoHud Adding process 10840 for gameID 70
Adding process 10865 for gameID 70
^Zshim: Failed to load from "/run/host/usr/lib/mangohud/libMangoHud_o pengl.so": libspdlog.so.1.13: cannot open shared object file: No such file or directory
shim: Failed to load from ${ORIGIN}/libMangoHud_opengl.so: ${ORIGIN}/ libMangoHud_opengl.so: cannot open shared object file: No such file o r directory
Шаги воспроизведения:
# apt-get install i586-mangohud steam
Скачать сборку Proton10-21 от сообщества : https://github.com/GloriousEggroll/proton-ge-custom/releases
создать дирректорию:
$ mkdir -p ~/.local/share/Steam/compatibilitytools.d/
перейти:
$ cd ~/.local/share/Steam/compatibilitytools.d/
распоковать скачанную сборку:
$ tar -xzf GE-Proton10-21.tar.gz
Запустить Steam -> Настройки -> Совместимость -> отметить "Принудительно использовать выбранный элемент совместимости Steam Play" -> выбрать GE-Proton10-21.
В настройках 32-битной игры также выбрать совместимость, отметить "Принудительно использовать выбранный элемент совместимости Steam Play" -> выбрать GE-Proton10-21. В параметрах запуска прописать mangohud %command%
Created attachment 19937 [details]
Лог работы steam и версия mangohud
Изменение состояния Created attachment 22375 [details]
mangohud.spec: собирать со встроенным (статическим) spdlog вместо системного libspdlog
Воспроизводится и с нативным Steam без Proton (HL2, L4D2), ALT p11, mangohud-0.7.2-alt1 + i586-mangohud-0.7.2-alt1.
Симптом: при `mangohud %command%` 32-битная игра не стартует, в ~/.local/share/Steam/logs/console-linux.txt:
.../hl2_linux: error while loading shared libraries: libspdlog.so.1.17: wrong ELF class: ELFCLASS64
Без mangohud в параметрах запуска игра запускается.
Причина: в спеке сборка идёт с -Duse_system_spdlog=enabled, поэтому libMangoHud_opengl.so
динамически зависит от libspdlog.so.1.17 и libfmt.so.12. Внутри контейнера Steam Runtime
(pressure-vessel) для 64-битного процесса эти библиотеки подкладываются с хоста
(overrides/lib/x86_64-linux-gnu/libspdlog.so.1.17 -> /run/host/usr/lib64/...),
а в overrides/lib/i386-linux-gnu/ libspdlog и libfmt не оказывается. Почему pressure-vessel
не подкладывает их для i386, я не выяснял. Апстрим по умолчанию собирает spdlog (вместе с fmt)
статически (use_system_spdlog=disabled), и в тарболле уже лежит subprojects/spdlog-1.14.1.
На Sisyphus с 0.8.1 та же схема даёт ошибку с libspdlog.so.1.13, т.е. дело не в конкретной версии.
Исправление: прикладываю патч к mangohud.spec из p11 (0.7.2-alt1), применяется через -p1 из
каталога со спеком. Убирает -Duse_system_spdlog=enabled и BuildRequires: libspdlog-devel.
Release и changelog не менял.
Проверка:
- Собрано в hasher для x86_64 и i586 (--target=i586) из src.rpm с этим патчем.
- Requires у собранных mangohud (x86_64 и i586): остаётся только libxkbcommon.so.0;
libspdlog и libfmt пропали (у alt1 они были).
- Установил x86_64-пакет и 32-битные libMangoHud*.so из i586-сборки в /usr/lib/mangohud/
(содержимое i586-mangohud). Запуск штатной командой `mangohud %command%` в нативном Steam:
HL2 и L4D2 стартуют, оверлей работает.
Не проверялось: Proton-сценарий из описания бага (GE-Proton10-21), Sisyphus с 0.8.1.
Для Sisyphus патч нужно перенести на актуальный спек.
mangohud-0.8.4-alt2 -> sisyphus: Sat Oct 10 2026 Nazarov Denis <nenderus@altlinux> 0.8.4-alt2 - Build with bundled spdlog instead of the system one; fixes launch of 32-bit games under Steam with mangohud (closes: 56107) |

Description
Дмитрий 2025-09-23 13:51:42 MSK