Gaming News

A guide to DXVK on Windows

Disclaimers

  • Read this first. I do not recommend trying anything here with any online games. Do so at your own risk. This is technically a guide to modding your game – if your game explicitly bans players for use of mods then do not use this guide
  • DXVK on Windows is not officially supported. Do not expect any official support from the developers if you experience issues. DXVK is primarily aimed at enabling Windows games to be run on non-Windows platforms. If something doesn't work and you can't fix it, either on your own or using any help from me or anyone else, then I suggest you revert back to using native DirectX. Keep track of what steps you followed and reverting shouldn't be an issue. In most cases, it should be as simple as removing a few DLL files that you copied to the game folder.
  • Do not expect any magical performance boosts across all your games. Results will vary from game to game. Some games may not show any improvement and other games may perform worse. Be prepared to do some benchmarking to validate your results.
    • As mentioned by /u/Rhed0x, DX11 games will not benefit much from multi-threading but there may be other benefits for AMD users.

What is DXVK?

DXVK is a set of software libraries that translates DirectX API calls to Vulkan API calls. It supports DirectX versions 9, 10 and 11.<1>

Why DXVK?

Vulkan and APIs similar to it (DX12, Metal) are a a lot better at making use of multi-core/multi-threaded CPUs to batch up work that needs to be done by the GPU thereby making better use of both CPU and GPU.<2> This can lead to significant performance boosts in some games.

I have personally gone from inconsistent ~50-60FPS in Assassin's Creed III and Torment – Tides of Numenera to consistently hitting 60FPS with no drops.<3>

My hardware specs are as follows:

  • i7 4770
  • R9 280X
  • 16GB DDR3
  • SATA SSDs

As you may see, I'm in dire need of an ugprade so I'll take whatever performance boost I can get hence my experimentation with DXVK.

I didn't find much in the way of good documentation for using DXVK on Windows specifically. All the guides I've found were for gaming on Linux. So I decided to compile my findings here so that others might benefit from it.

The Nitty Gritty

Do these steps once:

  1. Download the latest release of DXVK from GitHub
  2. Use 7-Zip to unzip and untar the dxvk-x.x.x folder (where x.x.x is the version number)

Do these steps for each game:

You need to know two bits of information about the game you want use DXVK with:

  • which version of DirectX it uses
  • what it's "bitness" is, i.e. is it 32-bit or 64-bit

In most cases, you can find out both of these from a game's API section section on PCGamingWiki. There may be some clues in the file/folder names your game's folder about it's bitness if you're unable to find it otherwise, e.g. if there's a steam_api64.dll there then it's probably 64-bit or if there's a binkw32.dll it's likely to be 32-bit.

  1. Open the folder where your game's executable is (.exe file)
  2. Open the folder where you extracted DXVK and go the appropriate folder for your game's bitness, x32 for 32-bit, x64 for 64-bit
  3. Copy the following files to the folder where the game's executable is depending on the game's DirectX version:

    DirectX version Files to copy
    9 d3d9.dll
    10 d3d10.dll, d3d10_1.dll, d3d10core.dll, d3d11.dll and dxgi.dll
    11 d3d11.dll and dxgi.dll

    If your game supports multiple DirectX versions copy all the applicable DLLs.

That's it! Now cross your fingers and run the game.

Caveats!

Unfortunately, DXVK isn't going to work in all situations. So far I've been unsuccessful in getting it to work in the following scenarios:

  • Xbox Game Pass (and probably Windows Store) games – I've been unable to copy the DXVK files to the game folder as the permissions for the game folder don't allow it. There are ways of taking ownership of the game folder and giving yourself the necessary permissions which is something I tried unsuccessfully. It wasn't worth pursuing for Ori and the Blind Forest since I'd already found another way to fix the stuttering issues I was having. When I'm next playing a Game Pass game that requires a performance boost I'll revisit this issue.
  • Steam In-Home Streaming with exclusive fullscreen games – I found this issue with Assassin's Creed III, where I was trying to stream it using Steam In-Home Streaming to my living room TV and was getting a black screen. I tried to force borderless fullscreen using some workarounds on PCGamingWiki but unfortunately the AC games (or at least the earlier ones) are really stubborn about wanting to be in exclusive fullscreen mode (Ubisoft strikes again). If you want to use DXVK with streaming and the game supports borderless fullscreen mode, switching to it should fix this issue. Otherwise your options are don't use DXVK or don't stream.

    Note: I did manage to stream successfully to a laptop with an NVidia Quadro GPU but then after streaming to the TV, streaming to the laptop was broken again. Streaming to an old Macbook Pro with a built in Intel GPU was also unsuccessful so you may find some success depending on the client machine you are streaming to and whether you are changing client machine or not.

There are likely other scenarios where DXVK won't work. I just haven't experienced them yet. I'll update this post with any future findings.

I hope this guide helps others eke to out some more performance from older or lower end hardware. If you have any questions/issues I'll try my best to help. Happy gaming!

<1> DX12 support is unnecessary as DX12 is similar to Vulkan in terms of software architecture and attempts to solve the same problems that Vulkan is targeted at.

<2> Although I'm a software developer by day I'm not a games/graphics developer so this is my very basic understanding TL;DR version. There are articles and videos out there that can explain things better and more in-depth if you are interested.

<3> I don't have a high refresh rate monitor or TV so don't judge my "lofty" FPS goals.

Edits:

  • Amended to add d3d11.dll for DX10 thanks to /u/JoshuaAshton
  • Addendum to disclaimers on DX11 as per /u/Rhed0x's comments

Source

Similar Guides


More about Gaming News

Post: "A guide to DXVK on Windows" specifically for the game Gaming News. Other useful information about this game:





Top 20 NEW Medieval Games of 2021

Swords, dragons, knights, castles - if you love any of this stuff, you might like these games throughout 2021.



10 NEW Shooter Games of 2021 With Over The Top Action

We've been keeping our eye on these crazy action oriented first and third person shooter games releasing this year. What's on your personal list? Let us know!



Top 10 NEW Survival Games of 2021

Survival video games are still going strong in 2021. Here's everything to look forward to on PC, PS5, Xbox Series X, Nintendo Switch, and beyond.



You Might Also Like

Leave a Reply

Your email address will not be published. Required fields are marked *