DXVK – это набор dll файлов замены, которые переводят из DirectX 11 в Vulkan.

Поскольку код DX11 переносится в Vulkan, DXVK напрямую решает самую большую проблему современных игр Wine – несовместимость с новыми формами DirectX. Большинство игр уходят как можно дальше от DirextX 9 и в процессе нарушают сопоставимость Wine. DXVK имеет очень реальный потенциал в качестве решения.

Как установить Vulkan в Linux

Прежде чем вы сможете использовать DXVK, вам нужна поддержка Vulkan. Это могут быть разные вещи, в зависимости от вашей видеокарты и драйверов, но есть некоторые универсальные, которые можно установить в первую очередь.

sudo apt install libvulkan1 libvulkan-dev vulkan-utils

Установить Mesa в Linux

Если вы используете Mesa, вместе с AMD или Intel, это очень хорошая идея. Вы можете получить последнюю версию Mesa из PPA-репозитория, который постоянно обновляет Mesa из Git для Ubuntu.

Откройте терминал, и введите следующие команды

sudo add-apt-repository ppa:oibaf/graphics-drivers
sudo apt update

Теперь установите драйвер Mesa Vulkan.

sudo apt установить mesa-vulkan-drivers

Рекомендуется перезагрузить компьютер, чтобы изменения вступили в силу.

Lutris

В прошлой статье, я уже писал о такой замечательной программе как Lutris. В ней, вы можете абсолютно без проблем запускать игры с DXVK, ведь он уже поставляется по умолчанию. Попробуйте запустить Lutris, а не разбираться с независимыми конфигурациями Wine самостоятельно. DXVK работает на основе префиксов, поэтому разделение, которое приносит Lutris, делает его намного лучше для такого рода вещей. Если вам нужна помощь в установке и настройке Lutris, ознакомьтесь с моим руководством по Lutris.

dxvk lutris

Установка DXVK в Linux

Перейдите на страницу релиза проекта и загрузите последнюю версию tarball. Распакуйте архив в любое удобное место.

Откройте терминал, и выполните следующие команды из каталога DXVK:

export WINEPREFIX=/путь/к/.wine
./setup_dxvk.sh install

dxvk linux

Это скопирует библиотеки DLL в каталоги system32 и syswow64 вашего префикса wine и настроит необходимые переопределения DLL. Чистые 32-битные префиксы также поддерживаются.

Сценарий установки также необязательно принимает следующие аргументы:

–symlink: Создавать символические ссылки на файлы DLL вместо их копирования. Это особенно полезно для развития.

–with-d3d10: Установить d3d10{_1}.dll вспомогательные библиотеки.

–without-dxgi: Не устанавливайте реализацию DXVI в DXVK и используйте вместо нее ту, которая предоставляется wine. Это необходимо, чтобы vkd3d и DXVK работали в одном и том же префиксе wine.

Убедитесь, что ваше приложение использует DXVK вместо wined3d, проверив наличие файла журнала d3d9.log или d3d11.log в каталоге приложения, или включив HUD.

DXVK_HUD – Переменная среды управляет HUD, который может отображать частоту кадров и некоторые счетчики. Он принимает разделенный запятыми список следующих опций:

  • devinfo: Отображает имя графического процессора и версию драйвера.
  • fps: Показывает текущую частоту кадров.
  • frametimes: Показывает график времени кадра.
  • submissions: Показывает количество командных буферов, отправленных на кадр.
  • drawcalls: Показывает количество вызовов отрисовки и отрисовки проходов за кадр.
  • pipelines: Показывает общее количество графических и вычислительных конвейеров.
  • memory: Показывает объем памяти устройства, выделенной и использованной.
  • gpuload: Показывает приблизительную загрузку графического процессора. Может быть неточным.
  • version: Показывает версию DXVK.
  • api: Показывает уровень функций D3D, используемый приложением.
  • compiler: Показывает активность шейдерного компилятора
  • samplers: Показывает текущее количество используемых пар сэмплеров [Только D3D9]

То есть чтобы включить показ fps на вашем экране в игре, можно ввести такую команду

DXVK_HUD=fps wine /путь к файлу exe игры/

Или включить все

DXVK_HUD=full wine /путь к файлу exe игры/

Например, команда которую я ввел чтобы играть выглядит вот так

DXVK_HUD=full wine '/home/fox/.wine/drive_c/Games/Battlefield 1/bf1.exe'

установка dxvk

Чтобы удалить DXVK из префикса, выполните следующую команду:

export WINEPREFIX=/путь/к/.wine
./setup_dxvk.sh uninstall

Вот и все. Надеюсь статья была полезной, и если это так, не забудьте поделиться в социальных сетях.