d3dx9_43.dll, xinput1_3.dll, d3dcompiler_43.dll… errors: fixing DirectX errors
The d3dx9_…, d3dx10_…, d3dx11_…, d3dcompiler_…, xinput1_…, x3daudio…, xapofx… and xaudio2_… files are legacy DirectX libraries. A great many games still use them, but Windows 10 and 11 do not install them: it is one of the most frequent DLL errors.
In short
- Having DirectX 12 is not enough: these files are add-ons that must be installed separately.
- Microsoft’s official “DirectX End-User Runtime” installs all of them in a few minutes.
- For a single file, you can also download the DLL and copy it to the game’s folder.
Why the error appears despite DirectX 12
DirectX has two parts. The core (Direct3D 9, 11 and 12, XInput 1.4, DXGI…) is built into Windows and updated by Windows Update. The D3DX, XInput 1.3, X3DAudio or XAudio 2.7 helper libraries, on the other hand, come from the old DirectX development kits: games are supposed to install them themselves.
When a game does not install these prerequisites, or a cleanup has deleted them, Windows shows an error such as “The program can’t start because d3dx9_43.dll is missing from your computer”, even on a very recent PC.
Installing the DirectX components
- Download Microsoft’s official DirectX End-User Runtime (file dxwebsetup.exe).
- Run it and follow the wizard: it adds all the missing libraries (D3DX9 from version 24 to 43, D3DX10, D3DX11, XInput 1.3, XAudio 2.7…) without changing the DirectX version of Windows.
- Restart your computer, then launch the game again.
Without an Internet connection: in a Steam game’s folder, the _CommonRedist\DirectX folder often contains a DXSETUP.exe program that installs the same files.
Which files are concerned?
| Files | Role | Solution |
|---|---|---|
| d3dx9_24.dll to d3dx9_43.dll | Direct3D 9 graphics | DirectX End-User Runtime |
| d3dx10_….dll, d3dx11_43.dll | Direct3D 10 and 11 graphics | DirectX End-User Runtime |
| d3dcompiler_33.dll to d3dcompiler_43.dll | compiling graphics effects | DirectX End-User Runtime |
| xinput1_1.dll to xinput1_3.dll | game controllers | DirectX End-User Runtime |
| x3daudio1_….dll, xapofx1_….dll, xaudio2_0.dll to xaudio2_7.dll | game sound | DirectX End-User Runtime |
| d3d9.dll, d3d11.dll, d3d12.dll, dxgi.dll, xinput1_4.dll, d3dcompiler_47.dll | DirectX core | built into Windows: see the system DLL guide |
Each game asks for the exact version it was designed with: d3dx9_43.dll does not replace d3dx9_42.dll. Microsoft’s program installs all versions at once.
If the error persists
- Update your graphics card driver (NVIDIA, AMD or Intel), especially if the error concerns d3d11.dll, d3d12.dll or dxgi.dll.
- Verify the game files from its platform (Steam: right-click the game › Properties › Installed Files › Verify integrity of game files).
- Antivirus: check that it has not quarantined the file.
- As a last resort, reinstall the game.
DLL files concerned
Each file page offers the download of the file alone and the complete method suited to it.
Frequently asked questions
Should I uninstall DirectX 12?
No: DirectX 12 is part of Windows and cannot be uninstalled. Microsoft’s program only adds the legacy libraries, without touching the DirectX version of Windows.
Why doesn’t d3dx9_43.dll replace d3dx9_42.dll?
Each game is linked to the exact D3DX9 version it was developed with. The different versions coexist and are not interchangeable.