Запуск Diablo 2 Resurrected на Linux посредством Wine.

29. сентября 2021 Wine 0

Страница на Wine AppDB: https://appdb.winehq.org/objectManager.php?sClass=version&iId=40193

Официальная страница: https://diablo2.blizzard.com/

Настройка префикса.

Сначала потребуется установить клиент Battle.net: https://noostyche.ru/blog/2021/09/29/zapusk-battle-net-na-linux-wine/ Будет использоваться тот же префикс: WINEPREFIX=’/home/$USER/.wineBattleNet

Примечание: Ниже представленная информация актуальна только для Wine 6.18 и vkd3d-proton 2.4. На более новых версиях всё работает без дополнительных манипуляций.

На момент написания статьи (2021.09.29) в Wine не была реализована трансляция функции DX12, которая используется именно Diablo 2 Resurrected. Без неё игра показывала чёрный экран.

Так же эта функция отсутствовала в стабильном выпуске vkd3d-proton (версия 2.4), но на тот момент её реализовали в ветке разработки. Чтобы не собирать библиотеки из исходного кода вручную, в готовом виде их можно было взять из Lutris: https://github.com/lutris/vkd3d/releases/tag/v2.4L-2 Далее пойдёт речь о том, как правильно добавить необходимые библиотеки в префикс.

Загрузить архив vkd3d-v2.4L-2.tar.xz:

Содержимое архива:

Переместить содержимое в префикс:

В каталоге vkd3d-v2.4L-2 находятся библиотеки и простой shell-скрипт, который автоматически скопирует их по нужным каталогам префикса, при этом переименовав оригинальные библиотеки. Запуск скрипта:

WINEPREFIX='/home/$USER/.wineBattleNet' '/home/$USER/.wineBattleNet/drive_c/vkd3d-v2.4L-2/setup_vkd3d_proton.sh' install

Пояснения:

  • Необходимо передать переменной окружения WINEPREFIX путь до префикса, так как это значение используется в скрипте для поиска файла реестра. Цитата из скрипта: $WINEPREFIX/system.reg
  • Важно не забыть опцию install.
  • До файла скрипта необходимо указать абсолютный путь.
  • Удаление новых библиотек с возвращением оригиналов осуществляется опцией uninstall.

Пример вывода после выполнения скрипта:

переименован '/home/$USER/.wineBattleNet/dosdevices/c:/windows/system32/d3d12.dll' -> '/home/$USER/.wineBattleNet/dosdevices/c:/windows/system32/d3d12.dll.old'
'/home/$USER/.wineBattleNet/drive_c/vkd3d-v2.4L-2/x64/d3d12.dll' -> '/home/$USER/.wineBattleNet/dosdevices/c:/windows/system32/d3d12.dll'
переименован '/home/$USER/.wineBattleNet/dosdevices/c:/windows/syswow64/d3d12.dll' -> '/home/$USER/.wineBattleNet/dosdevices/c:/windows/syswow64/d3d12.dll.old'
'/home/$USER/.wineBattleNet/drive_c/vkd3d-v2.4L-2/x86/d3d12.dll' -> '/home/$USER/.wineBattleNet/dosdevices/c:/windows/syswow64/d3d12.dll'

Запуск Diablo 2 Resurrected.

Можно запустить через клиент Battle.net (его запуск описан здесь) или напрямую:

WINEPREFIX='home/$USER/.wineBattleNet' wine start /unix 'C:\Program Files (x86)\Diablo II Resurrected\D2R.exe'

Более никаких манипуляций не требуется.


Добавить комментарий

Ваш адрес email не будет опубликован.