Crossroads » WINE » Сборка DXVK и D9VK

Сборка DXVK и D9VK

  • Dislike
  • 0
  • Like
Сборка DXVK и D9VKDXVK - замена некоторых системных библиотек Wine, перенаправляющая вызовы DirectX не в OpenGL, а в более современный Vulkan. Для работы нужна видеокарта, поддерживающая Vulkan и соответствующий драйвер. Первый релиз Vulkan состоялся в феврале 2016-го года. Соответственно, видеокарты, выпущенные позднее, скорее всего поддерживают Vulkan, на ряду с DirectX 12 и OpenGL 4.6. Некоторые производители добавили поддержку Vulkan в более ранние продукты. Уточните на сайте производителя своей видеокарты.

Есть официальные готовые сборки 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.
Download
Like Dislike

___
Tatyana K.



Tags: DXVK, Wine, Linux


 
  • Creative Commons Licence
  • Norton Safeweb
  • Website Uptime Monitoring By ServiceUptime.com