Home / Guide / Errori di programmi e file

Errori DLL nei giochi - d3dx9, xinput, d3dcompiler e compagnia

I giochi più vecchi erano costruiti su componenti dell'era DirectX 9 che i Windows moderni non includono più di serie. Avvia uno di questi giochi su un PC appena configurato e fallirà chiedendo d3dx9_43.dll, xinput1_3.dll o d3dcompiler_43.dll. La cura è un unico installer ufficiale Microsoft, non un file DLL da un sito a caso.

Risposta rapida

Scarica il DirectX End-User Runtime Web Installer da microsoft.com/download, eseguilo e lascia che aggiunga i componenti legacy DirectX 9-12. Risolve in un colpo solo gli errori di d3dx9_xx.dll, d3dx10_xx.dll, d3dx11_xx.dll, xinput1_3.dll, d3dcompiler_43.dll e xactengine. Su Steam, "Verifica l'integrità dei file di gioco" spesso fa lo stesso lavoro.

Sintomi - come si presenta il problema

"Impossibile avviare il programma perché d3dx9_43.dll non è presente nel computer"
Lo stesso messaggio cita xinput1_3.dll, d3dcompiler_43.dll o xactengine3_7.dll
Un gioco vecchio fallisce su un PC nuovissimo mentre i giochi recenti girano bene
L'errore è comparso subito dopo l'installazione del gioco
Un gioco con supporto controller chiede xinput1_3.dll
Errori su d3d12.dll con un sistema aggiornato (raro - vedi FAQ)

Perché succede

Il DirectX legacy non è preinstallato

Windows 10/11 arrivano con DirectX 12, ma le librerie di contorno dell'era DirectX 9 usate dai giochi degli anni 2000 sono un componente aggiuntivo opzionale.

L'installer del gioco ha saltato i redistributable

I giochi da repack o copiati a mano saltano il passaggio dei redistributable che un installer normale esegue.

Una pulizia ha rimosso componenti condivisi

I tool di pulizia aggressivi a volte eliminano i file condivisi DirectX e Visual C++ da cui dipendono i giochi.

File del gioco danneggiati

Un download corrotto o un errore del disco può danneggiare le DLL del gioco stesso: la verifica dei file le ripristina.

Le soluzioni, in ordine

1. Installa il DirectX End-User Runtime (la soluzione principale)

  1. Cerca "DirectX End-User Runtime Web Installer" e apri il risultato su microsoft.com.
  2. Scarica ed esegui dxwebsetup.exe - rifiuta gli extra opzionali che propone.
  3. Lascialo finire: installa il set completo delle librerie legacy di DirectX.
  4. Riavvia il PC e avvia il gioco.

2. Lascia che la piattaforma di gioco si ripari da sola

  1. Steam: clic destro sul gioco, Proprietà, File installati, poi "Verifica l'integrità dei file di gioco".
  2. Guarda anche nella cartella del gioco: se c'è _CommonRedist o redist, eseguire gli installer DirectX e vcredist lì dentro copre esattamente ciò che serve al gioco.
  3. Epic, GOG e gli altri launcher hanno la stessa opzione di verifica/riparazione nel menu del gioco.

3. Copri il lato Visual C++

  1. Molti giochi nominano subito dopo una DLL vcruntime/msvcp: installa il Visual C++ Redistributable come descritto nella nostra guida a VCRUNTIME140.dll - sia x64 che x86.

4. Se un gioco specifico continua a fallire

  1. Reinstalla il gioco completamente dalla sua fonte ufficiale.
  2. Aggiorna il driver della scheda video: i crash legati agli shader (d3dcompiler) a volte risalgono a lui; guarda il controllo del driver video.
  3. Esegui sfc /scannow in un terminale da amministratore per riparare i file DirectX 12 di Windows.

Da non fare: non scaricare d3dx9_43.dll o xinput1_3.dll come file singoli. I siti di DLL sono un classico del malware, e un file non corrispondente fa crashare il gioco in modi peggiori. Gli installer ufficiali qui sopra ripristinano ogni componente correttamente.

Promemoria - a quale componente appartiene la DLL

L'errore citaComponenteLa soluzione
d3dx9_24.dll ... d3dx9_43.dllLibreria D3DX di DirectX 9DirectX End-User Runtime (metodo 1)
d3dx10_xx.dll, d3dx11_xx.dll, d3dcompiler_43.dllLibrerie di contorno DirectX 10/11DirectX End-User Runtime (metodo 1)
xinput1_3.dll, xinput9_1_0.dllInput controller legacyDirectX End-User Runtime (metodo 1)
xactengine2_x.dll, xactengine3_x.dll, x3daudio1_x.dllAudio di gioco legacyDirectX End-User Runtime (metodo 1)
vcruntime140.dll, msvcp140.dllRuntime Visual C++Guida a VCRUNTIME140
d3d12.dllNucleo DirectX 12 (incluso in Windows)Windows Update + sfc /scannow (metodo 4)

L'opzione automatica

Outbyte PC Repair cerca più di 100 problemi comuni - file spazzatura, processi in background pesanti, vulnerabilità, questioni di privacy - e li risolve da un unico posto. Utile se preferisci non usare a mano gli strumenti qui sopra, o se vuoi una manutenzione regolare fatta in automatico.

Scarica PC Repair Scarica Outbyte PC Repair per Windows 11, 10, 8 e 7. Prova gratuita per categoria inclusa.

Tutte le funzioni e i dettagli →

Domande frequenti

Perché un gioco del 2008 ha bisogno di file in più su un PC nuovo?

I giochi di quell'epoca includevano le librerie di contorno di DirectX 9, che non hanno mai fatto parte di Windows. I Windows moderni includono solo il runtime DirectX di base, quindi il set legacy opzionale va installato una volta - dopo, ogni gioco vecchio trova i suoi file.

Installare il DirectX End-User Runtime accanto a DirectX 12 è sicuro?

Sì: aggiunge solo le librerie legacy mancanti e non tocca né declassa il DirectX 12 di sistema. Microsoft lo distribuisce esattamente per questo scopo.

Un gioco chiede d3d12.dll - proprio il file di DirectX 12. Cosa significa?

d3d12.dll arriva con Windows, quindi se manca il problema è un danno ai file di sistema o una build di Windows molto datata: esegui Windows Update e poi sfc /scannow. Se un gioco nuovissimo semplicemente si rifiuta di girare su hardware vecchio, controlla invece i requisiti minimi del gioco.