d3dx9_43.dll or XINPUT1_3.dll Not Found: Fix for Games

On this page

“d3dx9_43.dll was not found” and “XINPUT1_3.dll is missing” mean an older game needs a library from Microsoft’s legacy DirectX SDK that Windows doesn’t ship — fix it by installing Microsoft’s DirectX End-User Runtime (or running the game’s own DXSETUP.exe) and restarting. Your installed DirectX 12 isn’t the problem, and downloading the single DLL from a DLL website is the wrong fix.

d3dx9_43.dll or XINPUT1_3.dll Not Found: Fix for Games

The message appears the moment you launch the game. On Windows 10 and 11 it reads:

The code execution cannot proceed because d3dx9_43.dll was not found. Reinstalling the program may fix this problem.

The same message turns up for XINPUT1_3.dll, d3dx11_43.dll, D3DCompiler_43.dll and X3DAudio1_7.dll. They all come from the same package, so the same fix covers them.

Why Windows 10 and 11 don’t have these files

DirectX has two halves. The core components — Direct3D 11 and 12, DXGI, DirectInput — are part of Windows and update with it. The optional components — D3DX, XInput 1.3, XAudio 2.7, X3DAudio, XACT — shipped with the old DirectX SDK, and games built against them must install them separately.

Microsoft’s own guidance for game developers states that Windows Update and service packs don’t provide any of DirectX’s optional components. So:

  • dxdiag saying “DirectX 12” tells you nothing about D3DX or XInput 1.3 — the DirectX version number only covers the core components.
  • A new PC or a fresh Windows install won’t have these files until a game or you install them.

Which package each DLL comes from

Missing DLLComponentFix
d3dx9_24.dll … d3dx9_43.dllD3DX9 (Direct3D 9 helper library)DirectX End-User Runtime
d3dx10_43.dll, d3dx11_43.dll (and earlier numbers)D3DX10 / D3DX11DirectX End-User Runtime
D3DCompiler_43.dll or lowerLegacy shader compilerDirectX End-User Runtime
XINPUT1_1.dll, XINPUT1_2.dll, XINPUT1_3.dllXInput (controller input)DirectX End-User Runtime
XAudio2_7.dll or lower, X3DAudio1_7.dllXAudio2 / X3DAudioDirectX End-User Runtime
xactengine3_*.dllXACT audioDirectX End-User Runtime
XINPUT1_4.dll, D3DCompiler_47.dll, XAudio2_8.dllBuilt into Windows 8 / 8.1 and laterNot this package — repair Windows (Fix 4)
d3d11.dll, d3d12.dll, dxgi.dllCore Windows DirectXNot this package — repair Windows (Fix 4)
VCRUNTIME140.dll, MSVCP140.dllVisual C++ runtimeVCRUNTIME140 / MSVCP140 fix

Fix 1: Install the DirectX End-User Runtime

This fixes the large majority of d3dx9_43.dll and XINPUT1_3.dll errors.

  1. Get DirectX End-User Runtime Web Installer (dxwebsetup.exe, about 288 KB) from the official Microsoft Download Center. Search the exact name on microsoft.com.
  2. Right-click it → Run as administrator.
  3. Let it download and install the missing components, then restart the PC and launch the game.

What it does, in Microsoft’s words: it installs runtime libraries “from the legacy DirectX SDK for some games” — D3DX9, D3DX10, D3DX11, XAudio 2.7, XInput 1.3, XACT and Managed DirectX 1.1 — and it “does not modify the DirectX Runtime installed on your Windows OS in any way.” It can’t downgrade or break DirectX 12.

Microsoft’s download page still lists only older Windows versions under system requirements, but these legacy files are exactly what older games look for on Windows 10 and 11 too.

No internet on the gaming PC? Microsoft also publishes the full offline package, DirectX End-User Runtimes (June 2010) — directx_Jun2010_redist.exe, about 96 MB. It unpacks to a folder you choose; run DXSETUP.exe from that folder.

Fix 2: Run the DirectX installer the game ships with

Most games built on the old SDK bundle the exact installer they were tested with. On Steam it usually sits here:

Steam\steamapps\common\<Game>\_CommonRedist\DirectX\<version>\DXSETUP.exe

Right-click DXSETUP.exe → Run as administrator, accept, and restart. Other launchers keep a similar redistributables folder inside the game directory.

This is the same installer Microsoft tells developers to run on every game install, because checking whether a file exists isn’t a reliable test — the setup program works out what’s missing and installs it in seconds if nothing is.

Fix 3: Verify the game files

If the runtime installed cleanly but the game still fails, the problem can be in the game’s own folder:

  • Steam: right-click the game → Properties → Installed Files → Verify integrity of game files
  • Epic Games Launcher: the three dots on the game → Manage → Verify
  • EA app / Ubisoft Connect / GOG Galaxy: use the launcher’s Repair or Verify option

Remove mods and old “fix” packs first. A wrapper or mod that ships its own d3d9.dll, dxgi.dll or xinput1_3.dll sits in front of the real one and can cause the same error.

Fix 4: Undo DLLs copied in by hand, then repair Windows

If you or an old guide dropped a downloaded d3dx9_43.dll or xinput1_3.dll into the game folder, System32 or SysWOW64:

  1. Delete only the files you added yourself. Don’t touch Windows files you didn’t put there.
  2. Run Fix 1 again so the official installer puts the signed 32-bit and 64-bit copies in the right places.
  3. For a core file (d3d11.dll, dxgi.dll, XINPUT1_4.dll, D3DCompiler_47.dll), open an elevated Command Prompt and run DISM /Online /Cleanup-Image /RestoreHealth, then sfc /scannow. The full sequence is in Fixing DLL Errors with DISM, SFC, and Similar Methods.

A wrong-architecture copy is what produces “The application was unable to start correctly (0xc000007b)”. If that’s the error you see now, follow Fix 0xc000007b.

Missing DLL vs other launch errors

Error you seeWhat it meansGuide
d3dx9_43.dll / XINPUT1_3.dll was not foundLegacy DirectX runtime not installedThis page
VCRUNTIME140.dll / MSVCP140.dll was not foundVisual C++ runtime not installed or damagedVCRUNTIME140 fix
unable to start correctly (0xc000007b)A DLL of the wrong architecture (32-bit vs 64-bit)0xc000007b fix
unable to start correctly (0xc0000142)A DLL failed to initialize at launch0xc0000142 fix
Crash with 0xc0000005 after the game loadsAccess violation — mods, overlays, drivers, unstable RAM0xc0000005 fix
DXGI_ERROR_DEVICE_HUNG mid-gameGPU driver timeoutDXGI device hung fix

The short version

  • The missing file belongs to Microsoft’s legacy DirectX SDK runtime, which Windows 10/11 and Windows Update don’t include.
  • Install the DirectX End-User Runtime (dxwebsetup.exe) or run the game’s _CommonRedist\DirectX\DXSETUP.exe, then restart.
  • It adds the old libraries side by side and doesn’t touch DirectX 11 or 12.
  • XINPUT1_4.dll, D3DCompiler_47.dll and d3d12.dll are Windows files — repair Windows instead.
  • Never download a lone DLL from a DLL site.

Once an older game launches, frame pacing is usually the next complaint — Tier1Suite checks the common Windows causes of stutter and input lag in one pass.

Frequently asked questions

How do I fix d3dx9_43.dll was not found?

Install Microsoft's DirectX End-User Runtime — the small web installer dxwebsetup.exe from the Microsoft Download Center, or the game's own DXSETUP.exe in its _CommonRedist\DirectX folder — then restart the PC. d3dx9_43.dll is one of the legacy DirectX SDK libraries that Windows 10 and 11 don't include and Windows Update never installs, so the runtime installer is the official way to add it.

I have DirectX 12, so why is d3dx9_43.dll missing?

Because the DirectX version number only covers the core components built into Windows, such as Direct3D. D3DX, XInput 1.3, XAudio 2.7 and XACT are optional components from the old DirectX SDK, and Microsoft says Windows Update and service packs don't provide any of them. A PC that reports DirectX 12 in dxdiag can still be missing every one of these files.

Is it safe to download d3dx9_43.dll or xinput1_3.dll from a DLL website?

It's the wrong fix. A single DLL from a download site can be the wrong version or the wrong architecture, and a 32-bit copy in a 64-bit game folder (or the reverse) turns a missing-DLL error into error 0xc000007b. Microsoft's DirectX End-User Runtime installs the signed 32-bit and 64-bit files into the right Windows folders in one step.

Does the DirectX End-User Runtime change my DirectX 11 or 12 version?

No. Microsoft states the package does not modify the DirectX runtime installed with Windows in any way. It only adds the legacy side-by-side libraries — D3DX9, D3DX10, D3DX11, XAudio 2.7, XInput 1.3, XACT and Managed DirectX 1.1 — that older games were built against.

Will the DirectX runtime fix xinput1_4.dll or d3dcompiler_47.dll errors?

No. XInput 1.4 ships with Windows 8 and later and D3DCompiler_47 with Windows 8.1 and later, so they're part of Windows itself, not the legacy runtime. If one of those is missing, repair Windows with DISM and SFC and install pending Windows updates instead.