
Посвящается моему другу Михаилу — геофизику и большому фанату серии игр 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.
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 вне зависимости от языка раскладки распознавал мои нажатия именно в кириллических символах, хотя как системный язык у меня выбран английский, а на уровне железа раскладка клавиатуры вообще испанская.
<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.

Выбираем
Select the defaul wineprefix
.
Далее выбираем
Install a Windows DLL or component
.
И начинаем вводить на клавиатуре
directmusic
, выбираем и нажимаем ОК, а дальше ждём, и ждать придётся, по непонятным для меня причинам, весьма долго. К сожалению, не засекал в первый раз, но по ощущениям — минут 5.
Вместо всех этих манипуляций в графическом интерфейсе можно также воспользоваться одной-единственной командой —
protontricks 6900 directmusic
, где 6900
— это ID игры. Плюс, в отличие от графического способа, в моём случае protontricks справился куда быстрее — где-то за минуту.Далее я советую полностью закрыть и перезапустить Steam и уже после запустить игру.

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

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

Дискретная графика в отличие от интегрированной не напрягается даже на 1%, настолько лёгок для неё Хитман, из разницы разве что изменилась заполненность видеопамяти с 305Мб, до 704. В целом же, всё работает по ощущениям также стабильно.
И на этом в общем-то всё, дальше можно спокойно играть. Если у кого-то есть что-то дополнить или хотите поделиться, как мечту свою лелея
Telegram-канал со скидками, розыгрышами призов и новостями IT ?

Комментарии (15)
ohray
02.11.2024 13:43Прелесть, я тоже недавно решил перепройти всех «Хитмэнов», буквально на днях закончил первого и начал второго :) А тут Mastodon приносит ваш материал!
На Windows 11 всё равно пришлось помучаться с настройкой, но оно того стоило — удовольствие получил огромное.
И саундтрек Йеспера Кюда к первой части, конечно, абсолютно гениальный — регулярно его прослушиваю во время работы.
OrkBiotechnologist Автор
02.11.2024 13:43На 10 Винде на удивление оно запустилось без проблем, друг мой Михаил, говорил ещё что на 7 и 8 винде .dll также нужных могло не хватать как раз для 1 и 2 части. А первый раз он игру прошёл в 2000, на сборке из 1999. С P2 320, 32Мб памяти и видюхой на 4Мб.
Непонятно правда почему сейчас Хитман отъел себе аж 400Мб видеопамяти, пусть и с поправкой на более высокое разрешение.
ohray
02.11.2024 13:43Второй держится бодрее — достаточно было подредактировать конфиги и ограничить FPS
dotnetfx40
02.11.2024 13:43portproton вместо лутрикс и винтрткса...работает замечательно....
OrkBiotechnologist Автор
02.11.2024 13:43Про Portproton я как-то забыл совсем, так как ни разу им до этого не пользовался. Надо бы интереса ради тоже проверить, будет ли в нём Hitman сразу работать без дополнительных танцев с бубном.
Seenkao
02.11.2024 13:43Я XCom 2 запускал посредством Wine. Та ещё морока. Все уже нацелились на нативную версию XCom, но у меня её не было. И попытки запустить игру заканчивались либо зависанием игры, либо багами отрисовки. Вот сначала с графикой бодался, получилось через Vulkan добиться нормальной графики, а потом с зависаниями. Оказалось какой-то виндовой библиотеки не хватало для запуска. Установил её и больше проблем не было.
Думал работать будет хуже чем на Windows, но отличий сильных нет, кроме некоторых моментов когда загружается миссия и уходим с миссии. Но это не критично.
OrkBiotechnologist Автор
02.11.2024 13:43С XCOM2 тоже набодался, в итоге решил в стиме официальную версию купить, и на Proton Experimental сразу всё запустилось.
Но больше всего бодался я конечно с игрой, пытайсь её на Легенде с Айронмэном пройти. После попытки ~30й, нервы мои окончательно закончились и поставил командира с сохранениями. Самая жесть была на последней миссии когда всё зависло, а потом не грузилось никак. Помогло снижение графики на минимум и разрешение на HD, вместо FullHD.
Johan_Palych
protontricks 1.12.0-1 есть в aur
https://aur.archlinux.org/packages/protontricks
OrkBiotechnologist Автор
Я предпочитаю использовать AUR только в случаях когда альтернатив совсем нету, либо когда он указан в официальном репозиторие проекта.
Johan_Palych
Да, с 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
OrkBiotechnologist Автор
Lutris пробовал, там 3 версии конфига есть, ни один не запустился.
Lutris хорошо помог когда сестра младшая зазывала с ней в Genshin Impact играть, там как-то хитро отключали античит, работа которого не давала запускать просто через Wine. На кой чёрт он нужен вообще в игре где PvP или рейтинга игроков нету, я правда так и не понял.
Ну и ещё uPlay через Lutris недавно запускал, когда девушка предложила параллельно перепройти Assassin's Creed Syndicate.
t3n3t
Емнип, там внутриигровой шмот, который за донат покупается, включен в клиент синглплеера. Вот затем.
OrkBiotechnologist Автор
Китайскому гача-казино настолько боязно что кто-то модами накрутит себе желаемых пикселей, что ради этого надо прикручивать античит?
UPD
Из забавного, у меня сестра всё как раз пыталась выбить себе Ксяо и иногда донатила, а он у меня бесплатно выпал. Предложил ей аккаунт тупо себе забрать, но не захотела.)
t3n3t
Именно. Баблоу машт флоу.
OrkBiotechnologist Автор
Поразительная жадность, а также омерзительная.