d3dx9_26.dll is a DirectX 9 helper library from 2005. It never shipped with Windows - games installed it themselves, so on a fresh PC classics like GTA San Andreas or other titles of that era fail with this exact message. Unlike most DLL errors, this one has an official installer that legitimately restores the file - Microsoft's DirectX End-User Runtime.
Fix it automatically
Outbyte Driver Updater identifies your installed hardware automatically and updates outdated or broken drivers from official sources, with a backup before every change. Useful when you would rather not run the steps below by hand - the scan and diagnosis are free.
Download Driver Updater Downloads Outbyte Driver Updater for Windows 11, 10, 8 and 7. Free 2-day trial, no credit card required.Quick answer
Search the web for "DirectX End-User Runtime Web Installer" and download it from microsoft.com - it is free and official. Run it, let it add the legacy DirectX files, restart, and start the game. This one installer restores the whole d3dx9 family (d3dx9_24 through d3dx9_43), so the game will not ask for the next numbered file tomorrow.
The d3dx9 helper libraries were optional extras that game installers added. A fresh Windows - any version, including 11 - simply does not have them.
Old installers bundled a DirectX setup step that modern Windows sometimes skips or that users cancel - the game lands on disk without its runtime.
Cleanup tools and manual "debloating" sometimes delete files that look unused - until the one old game that needs them starts.
Every DirectX SDK release produced a new numbered file - _26, _27, up to _43. Fixing one by hand invites the next error; the full runtime install fixes them all at once.
Do not do this: Never download d3dx9_26.dll as a single file from a "DLL download" site and never copy it into the game folder. Those copies are unverified, often the wrong build, and such sites are a well-known malware channel. The official runtime is free and installs every related file correctly.
| The error names | What it belongs to | The fix |
|---|---|---|
| d3dx9_24.dll ... d3dx9_43.dll, d3dx10_*.dll, d3dcompiler_43.dll, xinput1_3.dll, xact*.dll | Legacy DirectX game components | DirectX End-User Runtime (method 1) |
| d3d11.dll, "Failed to create D3D11 device" | DirectX 11 - part of Windows | See the d3d11.dll guide |
| d3d12.dll | DirectX 12 - Windows 10/11 only | See the d3d12.dll guide |
| vcruntime140.dll, msvcp140.dll | Visual C++ runtime | See the VCRUNTIME140 guide |
More game-related DLL fixes are collected in the game DLL errors guide.
Because d3dx9_26.dll never shipped with Windows. It is a game-era helper library that games installed themselves. A fresh Windows has none of these files until the DirectX End-User Runtime or a game's own installer puts them there.
No. The End-User Runtime only adds the optional d3dx9, d3dx10, xinput and related helper files next to the modern DirectX that is part of Windows. Nothing is replaced or downgraded - the two live side by side by design.
That is normal - each SDK release had its own numbered file and one game can use several. The full DirectX End-User Runtime install puts all of them (d3dx9_24 through d3dx9_43) on disk in one pass, which ends the whack-a-mole.