Hitman: Agent 47 в библиотеке Steam

Посвящается моему другу Михаилу — геофизику и большому фанату серии игр Hitman. Если бы не его периодические призывы к тому, чтобы наконец-то обратить внимание на серию, я бы и дальше обходил её стороной, так как считал её всё это время скучной.

Проходить её я захотел в хронологическом порядке и начать решил с самого начала — c Hitman: Agent 47, вышедшего исключительно на ПК 21 ноября 2000 года, почти четверть века назад. В ходе экспериментов выяснилось, что под Windows 10 он до сих пор запускается без проблем, а под Linux… что ж, тут не обошлось без проблем.

Моя система — ноутбук HP Victus 16, ОС — EndeavourOS(Arch Linux), ядро — 6.11.5-arch1-1, окружение рабочего стола — Plasma 6.2.2(Wayland), процессор — Ryzen 5 5600H, видеокарта — NVIDIA GeForce RTX 3050 Ti Mobile.

Игра была скачана в стиме, поначалу был выбран Proton Experimental для запуска.

Характеристики моей системы

Запускаем, ииии… Ничего. Игра отказывается запускаться, быстрый поиск в гугле находит другого такого же линуксоида, который советует ставить сразу Proton 5.0-10. И ура, наконец-то всё запустилось! Из интереса проверил, более ранние версии Proton также будут работать, а вот Proton 8 и выше, которые минимально требуются для protontricks, работать наотрез не хотят, но об этом позже.

▍ Настройка игры


Про запуск Hitman: Codename 47 Configuration советую забыть, для нас он бесполезен, мы будем напрямую менять конфиги игры, а заодно установим один мод для увеличения дистанции прорисовки объектов.

Варианты запуска игры

Начнём с мода из репозитория HitmanUnlocker, нам нужно просто скачать находящийся в latest release файл DSOUND.dll, его перемещаем в папку, куда стим установил нашу игру.

Установка мода

▍ Редактирование конфигурационных файлов


Далее подредактируем конфиги, для начала hitman.ini, чтобы игра нормально запускалась в FullHD.

hitman.ini
Include Setup\Locale.zip
//DrawDll Render3DFX.dll
//DrawDll renderd3d.dll
DrawDll RenderOpenGL.dll
SoundDll Sound.dll
ScriptDll GSC.dll
LocaleDLL Locale.dll
Resolution 1920x1080
//enableconsole
ColorDepth 32
Anisotropy 2
AntiAlias
DisableLight
ShadowDetail 2
TextureResolution 0
Window
//DisableDXT
//DisablePAL
StartUpperPos 0,0



▍ Настройка управления


Уже опционально, так как раскладку клавиш вы можете спокойно поменять в игре, но вот уже готовая, которую вставим в Hitman.cfg. Как можно заметить, в моём случае раскладка сделана под кириллические символы, по непонятной мне причине Hitman вне зависимости от языка раскладки распознавал мои нажатия именно в кириллических символах, хотя как системный язык у меня выбран английский, а на уровне железа раскладка клавиатуры вообще испанская.

Hitman.cfg
<Settings>
<Controls>
<Mapping Action="FireWeapon">
<Key SCode="356"/>
</Mapping>
<Mapping Action="DropItemInHand">
<Key SCode="74"/>
</Mapping>
<Mapping Action="ShowLaptop">
<Key SCode="59"/>
</Mapping>
<Mapping Action="ShowStatus">
<Key SCode="60"/>
</Mapping>
<Mapping Action="ToggleMouseControl">
<Key SCode="4"/>
</Mapping>
<Mapping Action="DoAction">
<Key SCode="57"/>
</Mapping>
<Mapping Action="Binoculars">
<Key SCode="3"/>
</Mapping>
<Mapping Action="WalkForward">
<Key SCode="97"/>
</Mapping>
<Mapping Action="Run">
<Key SCode="42"/>
</Mapping>
<Mapping Action="WalkLeft">
<Key SCode="108"/>
</Mapping>
<Mapping Action="WalkRight">
<Key SCode="110"/>
</Mapping>
<Mapping Action="WalkBackWard">
<Key SCode="109"/>
</Mapping>
<Mapping Action="TurnLeft">
<Key SCode="96"/>
</Mapping>
<Mapping Action="TurnRight">
<Key SCode="98"/>
</Mapping>
<Mapping Action="LeanOutLeft">
<Key SCode="120"/>
</Mapping>
<Mapping Action="LeanOutRight">
<Key SCode="121"/>
</Mapping>
<Mapping Action="ShowMap">
<Key SCode="126"/>
</Mapping>
<Mapping Action="ToggleWeaponMode">
<Key SCode="15"/>
</Mapping>
<Mapping Action="SelectNext2">
<Key SCode="358"/>
</Mapping>
<Mapping Action="SelectPrev2">
<Key SCode="119"/>
</Mapping>
<Mapping Action="EmptyHands">
<Key SCode="78"/>
</Mapping>
<Mapping Action="Sneak">
<Key SCode="56"/>
</Mapping>
<Mapping Action="ReloadWeapon">
<Key SCode="99"/>
</Mapping>
<Mapping Action="IncreaseDrawDistance">
<Key SCode="107"/>
</Mapping>
<Mapping Action="DecreaseDrawDistance">
<Key SCode="106"/>
</Mapping>
<Mouse Speed="13" Invert="0"/>
</Controls>
<Sound SfxVol="80" MusicVol="80" SpeechVol="90" UseEAX="0" UseHW="0" UseStreaming="1" MusicQuality="1" NumBuffers="8"/>
</Settings>



В самом низу конфига можно заметить два действия — Mapping Action="IncreaseDrawDistance" и Mapping Action="DecreaseDrawDistance", их добавляет скачанный нами мод на увеличение дистанции прорисовки объектов, и как можно догадаться из названия, регулируется она уже в самой игре, когда она запущена, в большую либо меньшую сторону.

▍ Запуск игры и решение проблем


Давайте теперь наконец-то запустим игру.

Первый запуск

Для вас это просто скриншот, а вот для меня при первом запуске кое-чего не хватало — того, что было у других, судя по видео на YouTube, — музыки. Задавшись вопросом, где она, я, конечно же, обратился к поиску в Google.

▍ Установка DirectMusic


Поиск решения

Как оказалось, для работы музыки в Hitman: Agent 47 не хватает ещё одного DLL-файла — dmusic32.dll, он же DirectMusic. Но в Steam возможности скачивать дополнительные .dll для Proton нет, так что нам потребуется ещё один инструмент — protontricks.

Чтобы его установить, для начала скачаем все его зависимости:

sudo pacman -S python-pip python-pipx python-setuptools python-virtualenv winetricks

А дальше с помощью pipx и protontricks:

pipx install protontricks

Добавим protontricks в PATH, чтобы не указывать каждый раз путь до его бинарника:

pipx ensurepath

Закроем этот терминал и откроем новый, далее введём туда protontricks:

protontricks

На Wayland сессии вероятно, что открывшийся графический интерфейс будет сыпать на вас одной ошибкой за другой, просто пропускаем их, нажимая OK.

Интерфейс protontricks

Выбираем Select the defaul wineprefix.

Выбор wineprefix

Далее выбираем Install a Windows DLL or component.

Установка DLL

И начинаем вводить на клавиатуре directmusic, выбираем и нажимаем ОК, а дальше ждём, и ждать придётся, по непонятным для меня причинам, весьма долго. К сожалению, не засекал в первый раз, но по ощущениям — минут 5.

Установка DirectMusic

Вместо всех этих манипуляций в графическом интерфейсе можно также воспользоваться одной-единственной командой — protontricks 6900 directmusic, где 6900 — это ID игры. Плюс, в отличие от графического способа, в моём случае protontricks справился куда быстрее — где-то за минуту.

Далее я советую полностью закрыть и перезапустить Steam и уже после запустить игру.

Успешный запуск

И наконец-то, после стольких стараний, на экране мы видим лучезарную лысину нашего агента 47, а в наушниках, помимо просто звуков, теперь ещё слышна и фоновая музыка. Ура! На удивление, ко всему прочему, Hitman ещё достаточно спокойно относится к alt+Tab, чем не всегда могут похвастаться даже современные, а также нативные, запускаемые не через Wine/Proton, игры.

▍ Дополнительная оптимизация


Ещё небольшое дополнение: пусть игре уже через месяц будет 25 лет, и, скорее всего, современные процессоры смогут её осилить даже в режиме программной отрисовки, без использования интегрированной графики, хотелось бы всё-таки запустить игру на дискретке. А сейчас, судя по nvtop, она запущена на интегрированной. Заодно проверим, нормально ли всё будет работать на современных карточках Nvidia.

Мониторинг GPU

Для этого запустим весь Steam целиком с помощью prime-run, и все его дочерние процессы также будут принудительно работать на дискретке.

prime-run steam

Запуск на дискретной видеокарте

Дискретная графика в отличие от интегрированной не напрягается даже на 1%, настолько лёгок для неё Хитман, из разницы разве что изменилась заполненность видеопамяти с 305Мб, до 704. В целом же, всё работает по ощущениям также стабильно.

И на этом в общем-то всё, дальше можно спокойно играть. Если у кого-то есть что-то дополнить или хотите поделиться, как мечту свою лелея подключались к Галилео запускали упорно отказывающуюся работать игру — приглашаю в комментарии.

Telegram-канал со скидками, розыгрышами призов и новостями IT ?

Комментарии (15)


  1. Johan_Palych
    02.11.2024 13:43

    protontricks 1.12.0-1 есть в aur
    https://aur.archlinux.org/packages/protontricks


    1. OrkBiotechnologist Автор
      02.11.2024 13:43

      Я предпочитаю использовать AUR только в случаях когда альтернатив совсем нету, либо когда он указан в официальном репозиторие проекта.


      1. Johan_Palych
        02.11.2024 13:43

        Да, с AUR надо быть аккуратней и читать комменты к PKGBUILD.
        Предпочитаю Lutris, удобно.
        https://wiki.archlinux.org/title/Gaming#Getting_games
        https://lutris.net/games/hitman/
        "...Experiment and have fun in the ultimate playground as Agent 47..."
        Много всего:
        https://lutris.net/games?q=Hitman


        1. OrkBiotechnologist Автор
          02.11.2024 13:43

          Lutris пробовал, там 3 версии конфига есть, ни один не запустился.

          Lutris хорошо помог когда сестра младшая зазывала с ней в Genshin Impact играть, там как-то хитро отключали античит, работа которого не давала запускать просто через Wine. На кой чёрт он нужен вообще в игре где PvP или рейтинга игроков нету, я правда так и не понял.

          Ну и ещё uPlay через Lutris недавно запускал, когда девушка предложила параллельно перепройти Assassin's Creed Syndicate.


          1. t3n3t
            02.11.2024 13:43

            На кой чёрт он нужен вообще в игре где PvP или рейтинга игроков нету, я правда так и не понял.

            Емнип, там внутриигровой шмот, который за донат покупается, включен в клиент синглплеера. Вот затем.


            1. OrkBiotechnologist Автор
              02.11.2024 13:43

              Китайскому гача-казино настолько боязно что кто-то модами накрутит себе желаемых пикселей, что ради этого надо прикручивать античит?

              UPD
              Из забавного, у меня сестра всё как раз пыталась выбить себе Ксяо и иногда донатила, а он у меня бесплатно выпал. Предложил ей аккаунт тупо себе забрать, но не захотела.)


              1. t3n3t
                02.11.2024 13:43

                Китайскому гача-казино настолько боязно что кто-то модами накрутит себе желаемых пикселей, что ради этого надо прикручивать античит?

                Именно. Баблоу машт флоу.


                1. OrkBiotechnologist Автор
                  02.11.2024 13:43

                  Поразительная жадность, а также омерзительная.


  1. ohray
    02.11.2024 13:43

    Прелесть, я тоже недавно решил перепройти всех «Хитмэнов», буквально на днях закончил первого и начал второго :) А тут Mastodon приносит ваш материал!

    На Windows 11 всё равно пришлось помучаться с настройкой, но оно того стоило — удовольствие получил огромное.

    И саундтрек Йеспера Кюда к первой части, конечно, абсолютно гениальный — регулярно его прослушиваю во время работы.


    1. OrkBiotechnologist Автор
      02.11.2024 13:43

      На 10 Винде на удивление оно запустилось без проблем, друг мой Михаил, говорил ещё что на 7 и 8 винде .dll также нужных могло не хватать как раз для 1 и 2 части. А первый раз он игру прошёл в 2000, на сборке из 1999. С P2 320, 32Мб памяти и видюхой на 4Мб.

      Непонятно правда почему сейчас Хитман отъел себе аж 400Мб видеопамяти, пусть и с поправкой на более высокое разрешение.


      1. ohray
        02.11.2024 13:43

        Второй держится бодрее — достаточно было подредактировать конфиги и ограничить FPS


  1. dotnetfx40
    02.11.2024 13:43

    portproton вместо лутрикс и винтрткса...работает замечательно....


    1. OrkBiotechnologist Автор
      02.11.2024 13:43

      Про Portproton я как-то забыл совсем, так как ни разу им до этого не пользовался. Надо бы интереса ради тоже проверить, будет ли в нём Hitman сразу работать без дополнительных танцев с бубном.


  1. Seenkao
    02.11.2024 13:43

    Я XCom 2 запускал посредством Wine. Та ещё морока. Все уже нацелились на нативную версию XCom, но у меня её не было. И попытки запустить игру заканчивались либо зависанием игры, либо багами отрисовки. Вот сначала с графикой бодался, получилось через Vulkan добиться нормальной графики, а потом с зависаниями. Оказалось какой-то виндовой библиотеки не хватало для запуска. Установил её и больше проблем не было.

    Думал работать будет хуже чем на Windows, но отличий сильных нет, кроме некоторых моментов когда загружается миссия и уходим с миссии. Но это не критично.


    1. OrkBiotechnologist Автор
      02.11.2024 13:43

      С XCOM2 тоже набодался, в итоге решил в стиме официальную версию купить, и на Proton Experimental сразу всё запустилось.

      Но больше всего бодался я конечно с игрой, пытайсь её на Легенде с Айронмэном пройти. После попытки ~30й, нервы мои окончательно закончились и поставил командира с сохранениями. Самая жесть была на последней миссии когда всё зависло, а потом не грузилось никак. Помогло снижение графики на минимум и разрешение на HD, вместо FullHD.