DXVK (also known as DirectX to Vulkan) is one of the tools included in Steam’s Steam Play feature. It’s a fantastic tool that can convert Microsoft DirectX 11 and DirectX 10 graphical calls to Vulkan, the open source graphics API that is compatible with Linux. While DXVK is primarily used in Steam Play, it’s not the only place that Linux users can take advantage of this fantastic technology. DXVK can run all sorts of DirectX video games outside of Steam! In this guide, we’ll show you how to set up DXVK in Wine, so that you’ll be able to use it to play modern video games without the aide of Steam Play!
Install Wine Staging
DXVK requires the latest version of Wine (aka Wine Staging) to run. Therefore, we must show you how to install the newest Wine packages on Linux before going over how to get your hands on the DXVK packages.
The best way to install the Wine Staging packages on most Linux distributions is to head over to the official WineHQ website. On the site, they have a detailed list of all of the Linux distributions that have Wine Staging packages out there. They’ll help you figure out how to get it going.
If you don’t understand WineHQ and need guidance, we encourage you to check out our post on installing Wine Staging on Linux. In it, we go over how to get it working on Ubuntu, Debian, Arch Linux, Fedora, and even OpenSUSE!
Unfortunately, DXVK doesn’t come with the Wine set of packages on most Linux distributions. Instead, if you want to take advantage of this technology, you’ll need to sit down and manually load up everything. Thankfully, it’s not that difficult to get the latest release of DXVK on most Linux distributions.
To get DXVK working on your Linux distribution of choice, launch a terminal by pressing Ctrl + Alt + T or Ctrl + Shift + T on the keyboard. From there, scroll down, find the Linux operating system you use on your PC, and follow the instructions laid out for it.
There are no DXVK packages out there to speak of on any of the Ubuntu Linux software sources. Fortunately, since Ubuntu is similar to Debian, it’s possible to install the DXVK Debian packages instead.
To get your hands on the Debian DXVK packages, launch a terminal and use the wget download commands below.
wget https://ftp.br.debian.org/debian/pool/main/d/dxvk/dxvk_0.96+ds1-1_all.deb wget https://ftp.br.debian.org/debian/pool/main/d/dxvk/dxvk-wine64-development_0.96+ds1-1_amd64.deb
With the packages downloaded, use the dpkg command to load them onto your Ubuntu system.
sudo dpkg -i dxvk*
After installing the DXVK packages on Ubuntu, you must run the apt install command with the “f” switch to correct the dependencies that Ubuntu didn’t install during the initial package installation.
sudo apt install -f
Debian users have access to DXVK via the “Main” software repository. To install it, enter the following Apt-get package command below.
sudo apt-get install dxvk
On Arch Linux, if you want to use DXVK, you must use the AUR. To interact with the AUR, you must install the Git and Base-devel packages on your system with the following Pacman command.
sudo pacman -S git base-devel
With the Git and Base-devel packages set up on Arch Linux, it’s time to install the Trizen AUR helper, as it will help set up DXVK and it’s important dependencies quickly.
git clone https://github.com/trizen/trizen cd trizen makepkg -sri
Now that you’ve got the Trizen AUR helper installed, use it to set up DXVK on your Arch Linux PC.
trizen -S dxvk-bin
Version 0.94 of DXVK is available on the OpenSUSE Build Service for Fedora 29 and 28. To install it, ensure you have the latest Wine Staging. Then, use the following Dnf package installation command to get DXVK on your system.
sudo dnf install https://download.opensuse.org/repositories/home:/gasinvein:/fedora/Fedora_29/x86_64/dxvk-0.94-2.fc29.1.x86_64.rpm
sudo dnf install https://download.opensuse.org/repositories/home:/gasinvein:/fedora/Fedora_28/x86_64/dxvk-0.94-2.fc28.1.x86_64.rpm
To install DXVK on OpenSUSE, head over to this page on the OBS. Once there, click the “1 Click Install” button next to your release to set it up.
The source code for DXVK is up on Github, so if you’re looking to use it on a lesser-known Linux distribution click this link here.
The DXVK packages are set up on your system, but they’re not ready to go yet and need to be configured. To start the configuration process, launch a terminal and follow the instructions to run the DXVK automated setup tool.
On Ubuntu and Debian, you’ll be able to start the configuration of DXVK by running a simple Shell script. To run the shell script, you need to do the following. First, use the CD command to move the terminal session from the home folder (~/) to /usr/lib/dxvk/wine64-development/.
Once in the wine64-development directory, you can run the script with:
Those using DXVK on Fedora or OpenSUSE must use Winetricks to execute the setup_dxvk.verb file in /usr/share/dxvk/. Install the latest Winetricks release. Then, use the CD command to move to the DXVK folder.
Note: don’t know how to set up Winetricks? Head over to Pkgs.org and learn how to get it working on your OS.
Once in the directory, run the following Winetricks command. Make sure that you do not use sudo, or it will not work!
winetricks --force setup_dxvk.verb
The Arch Linux DXVK package in the AUR should automatically set up DXVK for you, so there’s no need for configuration here.
If you’ve compiled DXVK from the source code, you’ll need to set up DXVK with Wine manually. Instructions on how to do this are on the DXVK Github page.
Running games with DXVK
With the DXVK libraries set up and linked to Wine, you’ll be able to use it to run most modern Windows games immediately. For more information about running games in Wine, head over to WineHQ.org, click on the search box and look through the results for a video game you’d like to run.
Don’t want to deal with WineHQ? Check out GamingOnLinux’s DXVK compatibility list instead. It’ll help you figure out what games run well with DXVK and which ones don’t.