REFERENCE · THE FIVE DLLs · DXVK 3.1.1
Which DXVK DLLs do you need?
How we checked this
The DLL map
Pick the Direct3D version your game uses and whether the game is 32-bit or 64-bit. The map lights up the files to copy. The link in your address bar changes too, so you can send someone the exact answer (for example #d3d9-x32). Sizes are from the DXVK 3.1.1 archive.
d3d8.dllnot needed1.69 MBd3d9.dllneeded7.86 MBd3d10core.dllnot needed0.18 MBd3d11.dllnot needed8.19 MBdxgi.dllnot needed5.88 MBA Direct3D 9 game needs only d3d9.dll. We ran D3D9 with just that file, 32-bit and 64-bit (F38).
Show the same mapping as a table
| API | Files to copy |
|---|---|
| Direct3D 8 | d3d8.dll, d3d9.dll |
| Direct3D 9 | d3d9.dll |
| Direct3D 10 | d3d10core.dll, d3d11.dll, dxgi.dll |
| Direct3D 11 | d3d11.dll, dxgi.dll |
If you do not know which Direct3D version or bitness your game uses, the Game Checker reads the game’s files and tells you; otherwise a game’s PCGamingWiki page usually lists it.
What each file does
DXVK has no dxvk.dll. It is five DLLs, each named like a Windows Direct3D file so that a game loads DXVK’s version from its own folder instead of Windows’ version. These are our summaries; sizes are the 3.1.1 builds.
| File | Used by | x64 size | x32 size | Evidence |
|---|---|---|---|---|
| d3d9.dll | Direct3D 9 games, and Direct3D 8 games (through the D3D9 code) | 7.29 MB | 7.86 MB | F38, F07 |
| d3d11.dll | Direct3D 11 games, and Direct3D 10 games | 7.48 MB | 8.19 MB | F40 |
| dxgi.dll | Direct3D 11 games (and 10): the window, swap chain and GPU list | 5.41 MB | 5.88 MB | F06, F40 |
| d3d8.dll | Direct3D 8 games (needs d3d9.dll too) | 1.56 MB | 1.69 MB | F39, F07 |
| d3d10core.dll | Direct3D 10 games | 0.12 MB | 0.18 MB | upstream, untested |
No rows match.
d3d9.dll
The one most people need. It replaces Direct3D 9, which most games from about 2003 to 2012 use. It works on its own: our lab ran a D3D9 program with only this file, 32-bit and 64-bit, and the system dxgi.dll stayed in use (F38). It is also half of the Direct3D 8 setup.
d3d11.dll and dxgi.dll
These two are a pair for Direct3D 11 games. d3d11.dll is the large one; dxgi.dll handles the window, swap chain and the list of GPUs. With both copied and nothing else, our D3D11 program ran on DXVK (F40).
d3d8.dll
Direct3D 8 games use d3d8.dll and also DXVK’s d3d9.dll: the D3D8 test loaded both and wrote a log for each (F07). With d3d8.dll alone DXVK did not start, the game got a NULL device, and the log said D3D8Interface: ERROR! Failed to get D3D9 Bridge. d3d9.dll might not be DXVK! (F39). Direct3D 8 support only exists from DXVK 2.4 (upstream), so 1.10.3 has no d3d8.dll and such a game keeps using the system D3D8 (F09).
d3d10core.dll
The Direct3D 10 file. According to the DXVK README a Direct3D 10 game needs it together with d3d11.dll and dxgi.dll. Our test program has no Direct3D 10 path, so this row is upstream information, not our test result. It is the only DXVK DLL with no text marker inside, so only a hash identifies it (F45).
x64 or x32: match the game, not Windows
The folder must match the game’s .exe. A 64-bit Windows runs many 32-bit games, and those need x32. When we put x64 DLLs next to a 32-bit program, and the reverse, nothing was reported: no error, no log, and the program kept using the normal Direct3D (F05). That silent failure is why people believe “DXVK does nothing” on games where it simply was not loaded.
Direct3D 8 games are always 32-bit: Windows has no 64-bit d3d8.dll, and a native 64-bit D3D8 program failed to load on both of our Windows machines (F08). To see a game’s bitness, open Task Manager’s Details tab: a 32-bit process shows (32 bit) after its name. We have not captured a screenshot of that on a desktop PC, so there is none here.
Why copying only d3d11.dll breaks D3D11 games
If you copy d3d11.dll and forget dxgi.dll, device creation fails. In our test DXVK logged that it could not create a swap chain and the program got error 0x887A0004 (F06):
err: D3D11CreateDevice: Failed to create swap chain
The swap chain comes from dxgi.dll. Copy dxgi.dll next to d3d11.dll.
The opposite mix is worse. With DXVK’s dxgi.dll alone and Windows’ own d3d11.dll, DXVK printed its banner and then the process died within 0.3 seconds with an access violation, code 0xC0000005, and no further output (F41). Mixing DXVK’s DXGI with the native D3D11 is not a valid install. The errors guide covers the other messages.
Is the d3d9.dll in my game folder DXVK?
Do not trust the file name: Windows has its own d3d9.dll and so do other tools. Three ways to tell:
- Check the hash. The verifier on the download page compares a DLL’s SHA-256 against every official release and says “official DXVK 3.1.1”, “DXVK-based but not an official file”, or “not DXVK”.
- Look at the size. DXVK’s DLLs are big: the 3.1.1
d3d9.dllis 7.29 MB (x64), while Windows’ own is a small system file. Size alone is a hint, not proof. - Do not use File Properties. Every DXVK DLL carries Windows-style version text (
10.0.17763.1), so the properties dialog cannot show the DXVK version (F45).
Other software also ships a d3d9.dll or dxgi.dll into game folders: ReShade, ENB, ASI loaders and some fixes. If you already have one and add DXVK, the two collide; see overlays, ENB and mod conflicts.
“d3d9.dll is missing” errors are not a DXVK problem
If Windows says d3d9.dll, d3d11.dll or dxgi.dll is missing, that is not about DXVK. It usually means the game’s DirectX runtime parts are not installed. Reinstall the game (it normally installs them), or install Microsoft’s official DirectX End-User Runtimes. Do not download single DLL files from “DLL” sites: you cannot tell what is inside them, and a DLL loaded by a game runs with the game’s permissions. We have not tested these remedies; they are Microsoft’s documented route.
Older versions
DXVK 1.10.3 ships more files than 3.1.1: besides d3d9.dll, d3d11.dll, d3d10core.dll and dxgi.dll it holds d3d10.dll and d3d10_1.dll, and has no d3d8.dll (F09, F44).
| File | In 3.1.1 | In 1.10.3 |
|---|---|---|
| d3d8.dll | yes | no |
| d3d9.dll | yes | yes |
| d3d10.dll | no | yes |
| d3d10_1.dll | no | yes |
| d3d10core.dll | yes | yes |
| d3d11.dll | yes | yes |
| dxgi.dll | yes | yes |
No rows match.
When you update from 1.10.3 to 3.1.1 over the same folder, d3d10.dll and d3d10_1.dll stay behind. The new d3d9.dll, d3d11.dll and dxgi.dll still loaded and reported 3.1.1 in our test (F42), but we did not exercise the leftover files, so delete the old DLLs before copying the new ones. Which version to use is on the requirements page.
Questions people ask
Which DXVK DLL do I need for DirectX 9?
Only d3d9.dll. In our lab a Direct3D 9 program ran on DXVK 3.1.1 with just that one file next to the .exe, in both 32-bit and 64-bit form (finding F38).
Do I need dxgi.dll for DX9?
No. A D3D9 game does not use it; the system's own dxgi.dll stayed in use in our test and DXVK still ran (F38). Copy dxgi.dll only for Direct3D 10 and 11 games.
x32 or x64 for a 32-bit game on 64-bit Windows?
x32. Match the game's .exe, not Windows. With the wrong folder nothing is shown, and the game quietly keeps using the normal Direct3D (F05).
Can I use DXVK's d3d9.dll for every game?
Only for Direct3D 9 games, and for Direct3D 8 games together with d3d8.dll (F39). A d3d9.dll does nothing for a Direct3D 11 game, which loads d3d11.dll and dxgi.dll.
What is d3d10core.dll?
The file DXVK provides for Direct3D 10 games, working alongside d3d11.dll and dxgi.dll. It is small (about 123 KB in the 64-bit 3.1.1 build) because the heavy work is in d3d11.dll. We have not tested a Direct3D 10 game.
Sources
- DXVK README (which DLLs per API) · accessed 2026-11-07
- DXVK releases (archive contents) · accessed 2026-11-07
- Microsoft DirectX End-User Runtimes (June 2010) · accessed 2026-11-07