How to: DXVK

Alexandr Oleynikov edited this page Dec 12, 2018 · 47 revisions

What is DXVK?

DXVK is a Vulkan-based compatibility layer for Direct3D 11. It allows running 3D applications on Linux using Wine.

For the current status of the project, please refer to the DXVK wiki.

Requirements:

  • Wine >= 3.10
  • Wine dependencies - Installing latest Wine-Staging into your system to pull in dependencies is recommended.
  • Vulkan capable GPU
  • Driver supported by DXVK. With AMD you can check which driver is used by running lspci -k. If radeon is shown to be in use your system will not be able to use DXVK.
    With Nvidia, only proprietary driver is supported (Nouveau lacks Vulkan support)
  • Vulkan loader, both 64-bit and 32-bit.

Installing Vulkan:

Arch (Antegros/Manjaro):

Ubuntu (Ubuntu-based distros):

  • Enable 32-bit architecture:

    sudo dpkg --add-architecture i386
    
  • AMD:

    sudo apt install mesa-vulkan-drivers mesa-vulkan-drivers:i386
    
  • Nvidia:

    sudo apt install libvulkan1 libvulkan1:i386 
    

Gentoo Linux (Possibly same for Gentoo-based):

Click to expand
Enable multilib:
  • Multilib for media-libs/vulkan-loader AND/OR media-libs/mesa is required.

    • Add abi_x64_32 USEFlag to a package.use/custom for those packages to emerge 64 and 32 bit version.

    • Add ABI_X86="64 32" to make.conf to allow multilib for whole system.

  • Games on Lutris may require additional 32-bit libraries which can be defined using e-file which is part of app-portag/pfl and then linked/placed in /home/$USER/.local/share/lutris/runtime/lib*.

AMD-AMDGPU
  1. Kernel configuration:

    • In /usr/src/linux/.config change CONFIG_DRM_AMDGPU on m.
    • In /usr/src/linux/.config change DRM_AMDGPU_SI OR DRM_AMDGPU_CIK on y.
    • Changing grub might also be required in /etc/default/grub add GRUB_CMDLINE_LINUX=radeon.si_support=0 amdgpu.si_support=1 OR GRUB_CMDLINE_LINUX=radeon.cik_support=0 amdgpu.cik_support=1. To enable experimental support for radeon SI or CIK.
    • Recompile the kernel and make sure that correct kernel is selected.
  2. Make.conf configuration:

    • Add USE="vulkan" to /etc/portage/make.conf.
    • Add media-libs/vulkan-loader layers to /etc/portage/package.use/custom if required.
    • Add VIDEO_CARDS="amdgpu radeonsi" or VIDEO_CARDS="amdgpu radeoncik" to /etc/portage/make.conf.
  3. Emerge required packages using emerge --ask media-libs/vulkan-loader sys-kernel/linux-firmware.

    • Depending on the configuration media-libs/mesa may also be required.
  4. Check the functionality using dev-util/vulkan-tools with vulkan-info USE flag.

ATI-Radeon (legacy)
  1. Kernel configuration:

    • In /usr/src/linux/.config change CONFIG_DRM_Radeon on m.
    • Recompile the kernel and make sure that correct kernel is selected.
  2. Make.conf configuration:

    • Add USE="vulkan" to /etc/portage/make.conf.
    • Add media-libs/vulkan-loader layers to /etc/portage/package.use/custom if required.
    • Add VIDEO_CARDS="radeon radeonsi" or VIDEO_CARDS="radeon radeoncik" to /etc/portage/make.conf.
Nvidia:

Vulkan is part of proprietary drivers on Gentoo.

Using Locally Compiled DXVK and Nightly Builds

  1. Place the x32 and x64 folders that you compiled in a new folder inside Lutris' DXVK folder. ~/.local/share/lutris/runtime/dxvk
  2. Right-click game in your library > Configure > Runner options > Make sure Enable DXVK is checked > DXVK version: foldername

DXVK Extras

DXVK YouTube Playlist:

https://www.youtube.com/playlist?list=PLghCwIBikt5hqXHHlKKkA_bertuvcwjgl

Available DXVK Lutris Installers*:

https://lutris.net/games/?q=DXVK&search-installers=on

*Disclaimer: Not all games listed are playable.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.