ObjectiveAdd DXVK to an existing Wine prefix, improving performance.
DistributionsThis guide focuses on Ubuntu, but the procedure will work on any distribution.
RequirementsA working Linux install with root privileges.
- # - requires given linux commands to be executed with root privileges either directly as a root user or by use of
- $ - requires given linux commands to be executed as a regular non-privileged user
IntroductionWine gaming is sort of a moving target. It always has been. Just when you think you know the lay of the land, something new pops up and disrupts everything. The latest curveball comes in the form of DXVK.
DXVK is a set of replacement
dllfiles that translate from DirectX 11 to Vulkan. While DXVK is still very new, and it hasn't even seen its 1.0 release yet, Wine gamers are jumping on board with both feet.
Because it moves DX11 code to Vulkan, DXVK directly addresses the biggest problem with Wine gaming today, incompatibility with newer forms of DirectX. Most games are moving as far from DirextX 9 as possible, and breaking Wine comparability in the process. DXVK has very real potential as a solution.
Install VulkanBefore you can make use of DXVK, you need Vulkan support. That means different things, depending on your graphics card and drivers, but there are some universal parts. Install them first.
$ sudo apt install libvulkan1 libvulkan-dev vulkan-utils
MesaIf you're using Mesa, ether with AMD or Intel, it's a very good idea to get the absolute latest version of Mesa possible. There's a great PPA that continually updates Mesa from Git for Ubuntu.
$ sudo add-apt-repository ppa:oibaf/graphics-drivers $ sudo apt updat
$ sudo apt upgradeNow, install the Mesa Vulkan drivers.
$ sudo apt install mesa-vulkan-driversIt's a good idea to restart your computer here to make sure that you're using the new version of Mesa with Vulkan.
NVIDIAThe NVIDIA proprietary drivers already come with Vulkan support, so there isn't anything extra that you need to do. Just be sure that you have the latest ones on your system. If you're still running drivers from the default repositories, consider adding the graphics PPA.
There is also a Vulkan package provided by the PPA. Install it too.
$ sudo add-apt-repository ppa:graphics-drivers/ppa $ sudo apt update $ sudo apt upgrade
$ sudo apt install vulkan
Install LutrisYou can absolutely run DXVK without Lutris, but it makes everything with Wine so much easier. Consider running Lutris rather than wrangling independent Wine configurations yourself. DXVK also works on a per-prefix basis, so the compartmentalization that Lutris brings also makes it much better suited for this sort of thing. If you need help getting Lutris set up, check out our Lutris guide.
Install A GamePick a game to install. Anything that runs on DirectX 11 is a good candidate to test out. Keep in mind that not every game runs better with DXVK. It's still a very young project, and it's not optimized for every situation yet. This guide is going to follow Overwatch. It's a fairly popular DX11-only game, and it works well with Lutris.
Go to the game page, and click the "Install" button below the image slideshow. That will begin the Lutris install.
Let the install go as normal, and follow the instructions given by Lutris. Don't worry about DXVK just yet. When the install is done, exit the game, or don't launch it at all when prompted.
Update WineIf you are following along with Overwatch, you might want to update the version of Wine that Lutris is using. The Overwatch script hasn't been updated in a while, and still uses Wine 2.21.
Click the "Runners" icon. It's the second one from the left. Scroll down to Wine in the resulting Window. Click on "Manage versions" button. Select the latest version of Wine Staging, and wait for it to install. When it's done, close both windows.
Configure. Choose the
Runner optionstab. Change the version of Wine to the version of Staging that you just downloaded.
Download DXVKYou're finally ready to bring DXVK into the equation. Head over to the project's release page, and download the latest tarball.
Unpack the tarball someplace convenient. DXVK installs itself via symlinks, so you can leave the single folder in one central location.
Run The Installer ScriptsInside the DXVK folder, you'll find two additional folders, one for x32 and one for x64. You need both. Change into the x32 one first.
$ cd ~/Downloads/dxvk-0.50/x32There are a couple of things in the folder. It has the two replacement
dllfiles, and an installer script. The script places symlinks of the
system32of your Wine prefix and creates an override for each one to be used natively.
$ WINEPREFIX=~/Games/overwatch ./setup_dxvk.shDo the same thing in the x64 folder. It'll create links in
Test It Out
Wine Configuration. This will bring up a a typical
winecfgwindow. Check under the
Librariestab. You should see overrides for
Open up and run your game like you normally would. Everything should still work, but now, you should notice a performance bump. Again, results aren't exactly guaranteed here, but it's always worth testing.