Самый полезный гайд для пользователей Steam Deck на примере Doom 3 BFG
Steam Deck - прекрасное устройство, поскольку даёт удобство консолей (нажал кнопку и играешь) и многофункциональность ПК - моды, озвучка, русификаторы текста.
Но вот незадача - на Deck установлен Linux и он со своим запуском Windows-игр работает не совсем как мы привыкли.
Поясню на примере игры Doom 3 BFG Edition.
Решил пройти классику - в детстве меня она пугала до чёртиков в самом начале когда начинают появляться первые демоны. Но после скримеров Alan Wake 2 я настолько преисполнился что с лёгкостью одолел оригинальный Silent Hill 2 (шлифанув его ремейком). И вот решил наверстать упущенное - Doom 3, F.E.A.R. и т.д.
Помню все рофлили что "На марсе нет изоленты? Почему гг не может примотать фонарик к пушке?" А в BFG-версии это исправили. Потом решил проходить именно её.
Но вот незадача в Steam-версии отсутствуют даже сабы.
А в русификаторе есть 2 способа установки - ломающий получение ачивок и работающий с ачивками. Во втором способе, как я понял, в папку с игрой добавляется библиотека в формате .dll.
Тут я сразу понял, что будут проблемы и может начаться пердолинг (в своё время Silent Hill 2 Enchanced (моды от сообщества) я так и не смог запустить). Так и случилось - после запуска получал репорт об ошибке.
В руководствах Steam тоже 0 инфы об этом - у людей либо не работают достижения, либо игра не запускается.
Помню что читал на реддите способы запуска игры не из Steam (NFS и другие). Как я писал выше, при установке русификатора с фиксом достижений в папку с .exe-файлом добавляется dinput8.dll В итоге нам нужно добавить в параметры запуска игры всего лишь одну команду
После этой команды игра запустилась без каких-либо проблем с русской озвучкой и сабами.
А теперь поясняю - на Windows .dll-файлы связанные с directx (поправьте, если неправ) подтягиваются автоматически (dinput, dxgi) если они находятся в папке с исполняемым файлом. А в этом русификаторе библиотека для починки достижений шифруется под этот файл.
А Linux так не умеет, потому все дополнительные dll файлы нужно прописывать вручную в параметры запуска, пример:
Эта команда поможет в 99% случаев запуска сторонних игр и игр с модами/русификаторами.
Для некоторых игр может подойти и такой вариант:
Для русификации в других играх:
В итоге игра пройдена вместе с дополнением Resurrection of Evil, достижения получены и она оказалась не такой уж и страшной и не такой уж скучной, если в неё играть как в Doom 2016, а не бояться каждого шороха. Всем желаю приятной игры, надеюсь гайд был полезен!
Ещё в игре есть графический баг с окнами, огнём, но как его фиксить - совсем другая история, которую поможет решить ProtonDB. Я в итоге играл так, поскольку окон в игре не так много. Правда, под конец пожалел, поскольку этот же эффект использовался у преломления огня и летящих в тебя снарядов:
TL;DR: Если не запускается игра на Linux или Steam Deck, то пропиши в параметры запуска игры в Steam команду WINEDLLOVERRIDES="version,dxgi,dinput8,все новые непонятные .dll в папке с файлом .exe"=n,b" %command% Если интересны подробности - добро пожаловать под кат.