Errores de d3dx9_43.dll, xinput1_3.dll, d3dcompiler_43.dll…: corregir los errores de DirectX
Los archivos d3dx9_…, d3dx10_…, d3dx11_…, d3dcompiler_…, xinput1_…, x3daudio…, xapofx… y xaudio2_… son bibliotecas antiguas de DirectX. Muchísimos juegos todavía las utilizan, pero Windows 10 y 11 no las instalan: es uno de los errores de DLL más frecuentes.
En resumen
- Tener DirectX 12 no basta: estos archivos son complementos que se instalan aparte.
- El programa oficial «DirectX End-User Runtime» de Microsoft los instala todos en pocos minutos.
- Para un solo archivo, también puede descargar la DLL y copiarla en la carpeta del juego.
Por qué aparece el error a pesar de DirectX 12
DirectX tiene dos partes. El núcleo (Direct3D 9, 11 y 12, XInput 1.4, DXGI…) está integrado en Windows y se actualiza con Windows Update. Las bibliotecas auxiliares D3DX, XInput 1.3, X3DAudio o XAudio 2.7, en cambio, proceden de los antiguos kits de desarrollo de DirectX: se supone que los juegos las instalan ellos mismos.
Cuando un juego no instala estos requisitos, o una limpieza los ha eliminado, Windows muestra un error del tipo «El programa no puede iniciarse porque falta d3dx9_43.dll en el equipo», incluso en un PC muy reciente.
Instalar los componentes de DirectX
- Descargue el programa oficial DirectX End-User Runtime (archivo dxwebsetup.exe) desde el sitio de Microsoft.
- Ejecútelo y siga el asistente: añade todas las bibliotecas que faltan (D3DX9 de la versión 24 a la 43, D3DX10, D3DX11, XInput 1.3, XAudio 2.7…) sin modificar el DirectX de Windows.
- Reinicie el equipo y vuelva a abrir el juego.
Sin conexión a Internet: en la carpeta de un juego de Steam, la carpeta _CommonRedist\DirectX suele contener un programa DXSETUP.exe que instala los mismos archivos.
¿Qué archivos están afectados?
| Archivos | Función | Solución |
|---|---|---|
| d3dx9_24.dll a d3dx9_43.dll | gráficos Direct3D 9 | DirectX End-User Runtime |
| d3dx10_….dll, d3dx11_43.dll | gráficos Direct3D 10 y 11 | DirectX End-User Runtime |
| d3dcompiler_33.dll a d3dcompiler_43.dll | compilación de efectos gráficos | DirectX End-User Runtime |
| xinput1_1.dll a xinput1_3.dll | mandos de juego | DirectX End-User Runtime |
| x3daudio1_….dll, xapofx1_….dll, xaudio2_0.dll a xaudio2_7.dll | sonido de los juegos | DirectX End-User Runtime |
| d3d9.dll, d3d11.dll, d3d12.dll, dxgi.dll, xinput1_4.dll, d3dcompiler_47.dll | núcleo de DirectX | integrados en Windows: vea la guía DLL del sistema |
Cada juego pide la versión exacta con la que se diseñó: d3dx9_43.dll no sustituye a d3dx9_42.dll. El programa de Microsoft instala todas las versiones a la vez.
Si el error persiste
- Actualice el controlador de la tarjeta gráfica (NVIDIA, AMD o Intel), sobre todo si el error afecta a d3d11.dll, d3d12.dll o dxgi.dll.
- Verifique los archivos del juego desde su plataforma (Steam: clic derecho en el juego › Propiedades › Archivos instalados › Verificar integridad de los archivos del juego).
- Antivirus: compruebe que no haya puesto el archivo en cuarentena.
- Como último recurso, reinstale el juego.
Archivos DLL afectados
Cada ficha ofrece la descarga del archivo solo y el método completo adecuado.
Preguntas frecuentes
¿Hay que desinstalar DirectX 12?
No: DirectX 12 forma parte de Windows y no se puede desinstalar. El programa de Microsoft solo añade las bibliotecas antiguas, sin tocar el DirectX de Windows.
¿Por qué d3dx9_43.dll no sustituye a d3dx9_42.dll?
Cada juego está vinculado a la versión exacta de D3DX9 con la que se desarrolló. Las distintas versiones coexisten y no son intercambiables.