
Есть официальные готовые сборки DXVK и, основанные на них D9VK на GitHUB. Процесс сборки так же довольно прост, если вы хотите собрать сами. Ниже краткое описание моей сборки.
Собрано с MinGW. Сборка "два в одном"* поддерживает DirectX 9-11. Для DirectX 10-11 есть поддержка Async* и MangoHud*.
Распакуйте в любое удобное место. В терминале перейдите в соответствующую папку (там где файл «setup_dxvk.sh»). Далее установите DXVK в префикс игры. Пример:
WINEPREFIX="/путь до префикса" ./setup_dxvk.sh install --symlink
Параметр «--symlink» нужен для создания в каталогах «system32» и «syswow64» ссылок на библиотеки. Без «--symlink» библиотеки будут скопированы с заменой файлов, что не совсем удобно при обновлении.
Для включения HUD используйте «DXVK_HUD=» в команде запуска. Полный список значений можно найти здесь. Пример: DXVK_HUD=version,fps отобразит версию DXVK и информацию о FPS.
MangoHud позволяет разместить HUD в любое другое место на экране (по умолчанию левый верхний угол). В команду запуска нужно добавить «DXVK_HUD_OFFSET_X=» и/или «DXVK_HUD_OFFSET_Y=» (количество точек по горизонтали и вертикали). Так же в «DXVK_HUD=» можно использовать «mangogpuload» - текущая нагрузка на видеокарту. И «mangocpuload» - нагрузка на процессор. Клавиша «F12» включает/выключает HUD. «DXVK_LOG_TO_FILE=» с указанием пути и имени файла для логирования в файл. Клавиша «F2» включает/отключает логирование. Для включения Async добавьте DXVK_ASYNC=1 в команду запуска игры. MangoHud будет работать только в играх с DirectX 10, 10.1, 11.
Стоит обратить внимание на то, что DXVK конфликтует с VKD3D. С этим не будет проблем, если вы не планируете в одном префиксе запускать приложения с поддержкой DirectX 10 и DirectX 12. Для корректной работы VKD3D нужна "родная" библиотека DXGI. DXVK заменяет эту библиотеку на свою, что "ломает" VKD3D. Если по каким-то причинам вам все же нужна поддержка и того и другого в одном префиксе, то при экспорте библиотек DXVK в префикс используйте параметр «--without-dxgi». Пример:
WINEPREFIX="/путь до префикса" ./setup_dxvk.sh install --without-dxgi --symlink
Нумерация версий отображается в Hud, но архивы помечены версией DXVK. Проект D9VK основан на DXVK. Это даже не совсем форк, а скорее «дополнение» к нему для поддержки DirectX 9. И хотя версии D9VK пронумерованы по своему, они основаны на конкретной версии DXVK и обновляются с задержкой. Например, архив «dxvk-1.4.5» содержит библиотеки DXVK версии 1.4.5 и D9VK версии 0.30, основанной на DXVK версии 1.4.4.
Важно! Сборка скомпилирована с использованием Arch версии GLIBC. В дистрибутивах с более старой версией GLIBC сборка работать не будет.
Сноски.
* Начиная с версии 1.5 проекты объединены. Официальная сборка DXVK так же поддерживает вызовы Direct3D 9.
** Не так давно в Сети много писали о серии банов в онлайн играх. Считается, что античит-системам не нравился патч Async, заметно увеличивающий производительность в ряде игр. И хотя никто достоверно не подтвердил, что баны связаны именно с Async, а не с DXVK или Wine в целом, не рекомендуется использовать Async в MMO, или других играх, включающих в себя мультиплеер. Если очень страшно, используйте DXVK_ASYNC=0 или сборку D9VK при игре онлайн.
*** Из-за изменений в Hud патч MangoHud несовместим с версией DXVK 1.5.
___
Tatyana K.
Tatyana K.