Início / Guias / Erros de programas e arquivos

Erros de DLL em jogos - d3dx9, xinput, d3dcompiler e companhia

Os jogos mais antigos foram construídos sobre componentes da era do DirectX 9, que o Windows moderno não traz mais por padrão. Abra um jogo desses em um PC novo e ele falha pedindo d3dx9_43.dll, xinput1_3.dll ou d3dcompiler_43.dll. A cura é um único instalador oficial da Microsoft - não um arquivo DLL de um site qualquer.

Resposta rápida

Baixe o DirectX End-User Runtime Web Installer no site oficial da Microsoft, execute e deixe-o adicionar os componentes antigos do DirectX 9-12. Ele corrige erros de d3dx9_xx.dll, d3dx10_xx.dll, d3dx11_xx.dll, xinput1_3.dll, d3dcompiler_43.dll e xactengine de uma vez. Na Steam, "Verificar integridade dos arquivos do jogo" muitas vezes faz o mesmo serviço.

Sintomas - como o problema aparece

"Não foi possível iniciar o programa porque d3dx9_43.dll está faltando"
A mesma mensagem cita xinput1_3.dll, d3dcompiler_43.dll ou xactengine3_7.dll
Um jogo antigo falha em um PC novinho enquanto os jogos novos rodam bem
O erro apareceu logo depois de instalar o jogo
Um jogo com suporte a controle pede xinput1_3.dll
Erros de d3d12.dll em um sistema atualizado (raro - veja o FAQ)

Por que isso acontece

O DirectX antigo não vem pré-instalado

O Windows 10/11 vem com o DirectX 12, mas as bibliotecas auxiliares da era do DirectX 9 usadas pelos jogos dos anos 2000 são um complemento opcional.

O instalador do jogo pulou a etapa dos redistributables

Jogos repack ou copiados manualmente ficam sem a etapa de redistributables que um instalador normal executa.

Uma limpeza removeu componentes compartilhados

Ferramentas de limpeza agressivas às vezes apagam os arquivos compartilhados do DirectX e do Visual C++ de que os jogos dependem.

Arquivos do jogo danificados

Um download corrompido ou um erro de disco pode danificar as DLLs do próprio jogo - verificar os arquivos de novo as restaura.

As soluções, em ordem

1. Instale o DirectX End-User Runtime (a solução principal)

  1. Pesquise por "DirectX End-User Runtime Web Installer" e abra o resultado no site oficial da Microsoft.
  2. Baixe e execute o dxwebsetup.exe - recuse qualquer extra opcional que ele oferecer.
  3. Deixe terminar: ele instala o conjunto completo das bibliotecas auxiliares antigas do DirectX.
  4. Reinicie o PC e abra o jogo.

2. Deixe a plataforma do jogo se reparar sozinha

  1. Steam: clique com o botão direito no jogo, Propriedades, Arquivos instalados, depois "Verificar integridade dos arquivos do jogo".
  2. Procure também na pasta do jogo por _CommonRedist ou redist - rodar os instaladores do DirectX e do vcredist que estão ali atende exatamente o que o jogo precisa.
  3. Epic, GOG e outros launchers têm a mesma opção de verificar/reparar no menu do jogo.

3. Cubra o lado do Visual C++

  1. Muitos jogos pedem em seguida uma DLL vcruntime/msvcp: instale o Visual C++ Redistributable como descrito no nosso guia do VCRUNTIME140.dll - x64 e x86, os dois.

4. Se um jogo específico ainda falha

  1. Reinstale o jogo por completo a partir da fonte oficial.
  2. Atualize o driver de vídeo - travamentos ligados a shaders (d3dcompiler) às vezes vêm dele; veja a verificação do driver de vídeo.
  3. Execute sfc /scannow em um terminal de administrador para reparar os arquivos do próprio DirectX 12 do Windows.

Não faça isto: não baixe d3dx9_43.dll ou xinput1_3.dll como arquivos avulsos. Sites de DLL são um clássico do malware, e um arquivo incompatível derruba o jogo de formas piores. Os instaladores oficiais acima restauram cada componente corretamente.

Cola rápida - a qual componente a DLL pertence

O erro citaComponenteA solução
d3dx9_24.dll ... d3dx9_43.dllBiblioteca D3DX do DirectX 9DirectX End-User Runtime (método 1)
d3dx10_xx.dll, d3dx11_xx.dll, d3dcompiler_43.dllBibliotecas auxiliares do DirectX 10/11DirectX End-User Runtime (método 1)
xinput1_3.dll, xinput9_1_0.dllEntrada de controle antigaDirectX End-User Runtime (método 1)
xactengine2_x.dll, xactengine3_x.dll, x3daudio1_x.dllÁudio de jogos antigoDirectX End-User Runtime (método 1)
vcruntime140.dll, msvcp140.dllRuntime do Visual C++Guia do VCRUNTIME140
d3d12.dllNúcleo do DirectX 12 (vem com o Windows)Windows Update + sfc /scannow (método 4)

Se preferir, deixe o Chipps verificar

Escreva o que está acontecendo com suas palavras. O Chipps lê os registros do Windows, aponta a causa provável e propõe a correção mais estreita. Nada é alterado sem o seu Allow, e no fim ele mostra o que fez e o que não fez.

Baixar o Chipps Baixa o instalador do Chipps para Windows.
Com suas palavrassem termos técnicos
Seu OKantes de qualquer alteração
Relatório clarodo que foi feito

Perguntas frequentes

Por que um jogo de 2008 precisa de arquivos extras em um PC novo?

Os jogos daquela época traziam bibliotecas auxiliares do DirectX 9 que nunca fizeram parte do próprio Windows. O Windows moderno inclui só o runtime principal do DirectX, então o conjunto antigo opcional precisa ser instalado uma vez - depois disso, todo jogo antigo encontra os arquivos.

É seguro instalar o DirectX End-User Runtime junto com o DirectX 12?

Sim - ele só adiciona as bibliotecas auxiliares antigas que faltam e não mexe nem rebaixa o DirectX 12 do sistema. A Microsoft distribui o pacote exatamente para isso.

Um jogo pede d3d12.dll - o arquivo do próprio DirectX 12. O que isso significa?

O d3d12.dll vem com o Windows, então a falta dele indica arquivos de sistema danificados ou uma versão muito desatualizada do Windows - rode o Windows Update e depois sfc /scannow. Se um jogo novíssimo simplesmente se recusa a rodar em hardware antigo, confira antes os requisitos mínimos do jogo.