Home / Guides / Program and file errors

Game DLL errors - d3dx9, xinput, d3dcompiler and friends

Older games were built on DirectX 9-era components that modern Windows no longer ships by default. Launch such a game on a fresh PC and it fails asking for d3dx9_43.dll, xinput1_3.dll or d3dcompiler_43.dll. The cure is one official Microsoft installer - not a DLL file from a random site.

Quick answer

Download the DirectX End-User Runtime Web Installer from microsoft.com/download, run it, and let it add the legacy DirectX 9-12 components. It fixes d3dx9_xx.dll, d3dx10_xx.dll, d3dx11_xx.dll, xinput1_3.dll, d3dcompiler_43.dll and xactengine errors in one pass. On Steam, "Verify integrity of game files" often does the same job.

Symptoms - how this problem looks

"The program can't start because d3dx9_43.dll is missing"
The same message names xinput1_3.dll, d3dcompiler_43.dll or xactengine3_7.dll
An older game fails on a brand-new PC while new games run fine
The error appeared right after installing the game
A controller-enabled game asks for xinput1_3.dll
d3d12.dll errors on an up-to-date system (rare - see FAQ)

Why it happens

Legacy DirectX is not preinstalled

Windows 10/11 ship with DirectX 12, but the DirectX 9-era side libraries games from the 2000s used are an optional add-on.

The game's installer skipped the redist step

Repacked or manually copied games miss the redistributable step a normal installer runs.

A cleanup removed shared game components

Aggressive cleaner tools sometimes strip the shared DirectX and Visual C++ files games depend on.

Damaged game files

A corrupted download or disk error can damage the game's own DLLs - reverifying the files restores them.

The fixes, in order

1. Install the DirectX End-User Runtime (the main fix)

  1. Search for "DirectX End-User Runtime Web Installer" and open the result on microsoft.com.
  2. Download and run dxwebsetup.exe - decline any optional extras it offers.
  3. Let it finish: it installs the complete set of legacy DirectX side libraries.
  4. Restart the PC and launch the game.

2. Let the game platform repair itself

  1. Steam: right-click the game, Properties, Installed Files, then "Verify integrity of game files".
  2. Also look inside the game's folder for _CommonRedist or redist - running the DirectX and vcredist installers there matches the game's exact needs.
  3. Epic, GOG and other launchers have the same verify/repair option in the game's menu.

3. Cover the Visual C++ side

  1. Many games name a vcruntime/msvcp DLL next: install the Visual C++ Redistributable as described in our VCRUNTIME140.dll guide - both x64 and x86.

4. If one specific game still fails

  1. Reinstall the game completely from its official source.
  2. Update the graphics driver - shader-related crashes (d3dcompiler) sometimes trace to it; see the graphics driver check.
  3. Run sfc /scannow in an admin terminal to repair Windows' own DirectX 12 files.

Do not do this: Do not download d3dx9_43.dll or xinput1_3.dll as single files. DLL sites are a malware classic, and a mismatched file crashes the game in worse ways. The official installers above restore every component correctly.

Cheat sheet - which component the DLL belongs to

The error namesComponentThe fix
d3dx9_24.dll ... d3dx9_43.dllDirectX 9 D3DX libraryDirectX End-User Runtime (method 1)
d3dx10_xx.dll, d3dx11_xx.dll, d3dcompiler_43.dllDirectX 10/11 side librariesDirectX End-User Runtime (method 1)
xinput1_3.dll, xinput9_1_0.dllLegacy controller inputDirectX End-User Runtime (method 1)
xactengine2_x.dll, xactengine3_x.dll, x3daudio1_x.dllLegacy game audioDirectX End-User Runtime (method 1)
vcruntime140.dll, msvcp140.dllVisual C++ runtimeVCRUNTIME140 guide
d3d12.dllDirectX 12 core (ships with Windows)Windows Update + sfc /scannow (method 4)

The automatic option

Outbyte PC Repair scans for more than 100 common problems - junk files, heavy background processes, vulnerabilities, privacy issues - and fixes them from one place. Useful when you would rather not run the tools above by hand, or want regular maintenance done automatically.

Download PC Repair Downloads Outbyte PC Repair for Windows 11, 10, 8 and 7. Free by-category trial included.

Full features and details →

Frequently asked questions

Why does a 2008 game need extra files on a new PC?

Games of that era bundled DirectX 9 side libraries that were never part of Windows itself. Modern Windows includes only the core DirectX runtime, so the optional legacy set must be installed once - after that, every old game finds its files.

Is the DirectX End-User Runtime safe to install alongside DirectX 12?

Yes - it only adds the missing legacy side libraries and does not touch or downgrade the system's DirectX 12. Microsoft ships it exactly for this purpose.

A game asks for d3d12.dll - the DirectX 12 file itself. What does that mean?

d3d12.dll ships with Windows, so a missing one points to system file damage or a very outdated Windows build - run Windows Update and then sfc /scannow. If a brand-new game simply refuses to run on old hardware, check the game's minimum requirements instead.