Ir ao conteúdo

TUTORIAL: Instalação do DXVK para jogos (no Windows)


Ir à solução Resolvido por Gabriel U,

Posts recomendados

  • Membro VIP
Postado

REQUISITOS:

1. Este tutorial é destinado a usuários de Windows, em versão de 64-bit, preferencialmente (jogos DirectX 9.0 e alguns DirectX11 até podem funcionar em 32-bit).

2. Os jogos precisam ser compatíveis com DirectX 9.0 a DirectX11, de preferência.

3. Sua placa de vídeo ou vídeo integrado precisa ter drivers compatíveis com Vulkan 1.3 (nesse caso, use da versão 2.3.1 ou superiores do DXVK).

4. Se o seu driver for compatível com Vulkan 1.2 ou inferior, use a versão 1.10.3 ou inferiores do DXVK.

5. Se tratando de placas dedicadas, placas da Nvidia são (geralmente) as piores em questão de compatibilidade com os recursos Vulkan (apesar dos drivers certificados), mas ainda podem ser testadas.

6. Para saber o grau de compatibilidade do seu driver com Vulkan, você pode consultar:

6.1 O Banco de Dados de GPU Oficial Vulkan.

6.2 O programa GPU-Z

6.3 Os arquivos readme ou Changelog do seu driver, no site do fabricante.

 

COMO O DXVK FUNCIONA:

É uma camada de compatibilidade (ou Wrapper, como é chamada em inglês), originalmente projetada para Linux, que serve para traduzir os parâmetros do DirectX, API usada em jogos do Windows, para a Vulkan, e fazer a GPU processar o jogo a partir dela. Atualmente, o DXVK é compatível com jogos que vão de DirectX8 (muito antigos) até DirectX11 (mais atuais, de 2016-2021), e a principal vantagem no uso dele é a possibilidade de implementar o carregamento assíncrono de shaders (ou texturas), um recurso que reduz consideravelmente a demanda por cálculos da GPU e do processador, embora costume aumentar a alocação prévia de VRAM. Além disso, as instruções de Vulkan à GPU são mais diretas, e isso elimina a necessidade de traduções internas no código, o que facilita (e muito) o processamento dos dados do jogo, coisa que só é melhorada no DirectX na versão 12.

 

INSTALAÇÃO:

A instalação de DXVK nos seus jogos é muito simples. Consiste em inserir três pequenos arquivos na pasta do seu jogo (com um deles sendo um arquivo de texto criado por você), e depois, apenas iniciar o seu jogo normalmente. Segue o passo a passo:

 

1. Do que você vai precisar para instalar?

1.1 Do jogo

1.2 Bloco de Notas do Windows

1.3 Programa 7zip (para manipular o arquivo compactado do DXVK);

1.4 Acesso à internet (apenas na primeira instalação)

1.5 Programa MSI Afterburner (instalado).

 

2. Como aplicar ao seu jogo?

2.1 Pesquise o seu jogo no site pcgamingwiki.com.

Como exemplo, usarei o Batman: Arkham Knight (clique no nome dele para ver o site).

 

2.2 Role para baixo na página, e procure pelas informações de API gráfica que o jogo usa

(DirectX, OpenGL ou Vulkan, principalmente), bem como a arquitetura de instruções do executável do jogo (32-bit ou 64-bit).

Lembrete: para ser compatível com DXVK, o jogo precisa usar DirectX 8 a 11. Em jogos que utilizem Vulkan nativamente, como Detroit: Become Human ou Red Dead Redemption 2, ou em jogos que utilizem DirectX12, o DXVK não é necessário (nesse último caso, o VKD3D-Proton é o mais indicado, porque traduz DirectX12 para Vulkan).

 

2.3 Baixe o DXVK.
No repositório oficial do GitHub, baixe os arquivos do DXVK (versão 2.3.1 usada como exemplo, a melhor versão para o Intel Core i3-1115G4). Os arquivos estarão duplamente compactados. Abra o arquivo do DXVK, e siga abrindo, até encontrar as pastas x64 e x32.

O jogo do Batman usa o executável em 64-bit, portanto, abra a pasta x64.

 

Este jogo utiliza DirectX11. Nesse caso, selecione os arquivos d3d11.dll e dxgi.dll, e extraia-os.

Para jogos DirectX9, copie apenas o d3d9.dll para a pasta do jogo.

Para jogos DirectX10, use os arquivos: d3d10.dll, d3d10_1.dll*, d3d10core.dll*, d3d11.dll, e dxgi.dll.

 

Apenas use os arquivos marcados com * se eles estiverem disponíveis na versão do DXVK que você baixou.

 

2.4 Após instalar o jogo, abra a pasta onde está o executável dele. No caso do Batman, instalado pela Steam, o executável está:

Dentro da pasta Win64, que está...

Dentro da pasta Binaries, que está...

Dentro da pasta com o nome do jogo, que está...

Dentro da pasta common, que está...

Dentro da pasta steamapps...

Dentro da Steam...

Dentro da pasta do Windows, Arquivos de Programas (x86).

Dentro do Disco Principal, "Disco C", ou seja...

 

C:\Program Files (x86)\Steam\steamapps\common\Batman Arkham Knight\Binaries\Win64

 

2.5 Coloque os arquivos extraídos do DXVK na pasta do executável, conforme a versão do DirectX e a arquitetura.

Copie para lá os arquivos d3d11.dll e dxgi.dll mencionados anteriormente, no caso do Batman: Arkham Knight.

 

2.6 Com o jogo e o DXVK instalados, configure o DXVK, criando manualmente o arquivo de configuração dele.

a. Ainda dentro da pasta do jogo, clique com o botão direito em algum espaço vazio da pasta e passe o cursor em Novo > Documento de texto.

b. Renomeie este arquivo de texto para "dxvk.conf", e elimine a extensão .txt do fim do nome (as extensões de arquivo sendo exibidas precisam estar habilitadas no Explorador de Arquivos).

c. Dentro do arquivo de texto, com o Bloco de Notas, copie e cole o seguinte (até o fim do texto com as barras):

 

dxvk.enableAsync = True
# Habilita o modo de carregamento assíncrono de shaders Vulkan. Ganhos brutais de performance em Intel e AMD.

# Caso haja muito sttuttering no início do jogo, por mais do que alguns segundos, desabilitar (= False).

 

dxgi.maxFrameRate = 0

# Para jogos em DirectX10 ou 11, esta opção define o limite de FPS.

# (0 = sem limite, 60 = 60fps, por exemplo)

 

d3d9.maxFrameRate = 0

# Para jogos em DirectX10 ou 11, esta opção define o limite de FPS.

# (0 = sem limite, 30 = 30fps, por exemplo)

 

d3d11.relaxedBarriers = True

# Esta opção pode ajudar a melhorar a performance.

# Caso sinta engasgos ou bugs, mude o valor para "False".

 

d3d11.ignoreGraphicsBarriers = False

# Esta opção pode ajudar a melhorar a performance.

# Caso sinta engasgos ou bugs, mude o valor para "False".

 

d3d11.disableMsaa = True

# Esta opção desabilita o Filtro Anisotrópico de Multi Amostra, para poupar recursos do gráfico.

# Habilitar o uso, mudando o valor para "False", deixará os gráficos mais bonitos, mas vai penalizar os FPS.

 

dxvk.enableGraphicsPipelineLibrary = Auto

# Esta opção automatiza a renderização de pipelines otimizados. De preferência, mantenha em Auto.

# Se o jogo apresentar glitches ou texturas faltando, mude para False e desabilite.

 

d3d9.forceAspectRatio = "16:9"

# Esta opção especifica a proporção de tela a ser usada no jogo.

# As opções devem ser colocadas entre as aspas. Exemplo: "16:9" "4:3" "21:9" "16:10".

# Use apenas se o jogo apresentar barras pretas na tela. Do contrário, deixe vazio.

 

====================================================================================

 

2.7 Abra seu jogo, coloque em Modo Janela ou Janela sem Bordas, e depois abra o MSI Afterburner.

2.8 Para testar sem o DXVK, simplesmente apague os arquivos adicionados da pasta do jogo e inicie novamente. Adicione novamente para reativar.

 

REFERÊNCIAS

EMULATION WIKI. Wrappers. 2024. Disponível em: https://emulation.gametechwiki.com/index.php/Wrappers

GITHUB. DXVK. Disponível em: https://github.com/doitsujin/dxvk

PC GAMING WIKI. Batman: Arkham Knight (informações do jogo). Disponível em: https://www.pcgamingwiki.com/wiki/Batman:_Arkham_Knight

REDDIT. Como usar o DXVK e AFMF para melhorar muito a performance em jogos antigos (e alguns mais novos). 2023. Disponível em: https://www.reddit.com/r/Amd/comments/177p8jb/guide_how_to_use_dxvk_afmf_to_greatly_improve/?tl=pt-br

  • Obrigado 1
  • Amei 1
  • Coordenador
Postado

@Gabriel U Obrigado pela contribuição. 🙂

 

Desde que foi criado, o DXVK tem evoluído em ritmo absurdamente rápido. É cada vez mais comum que jogos de Windows rodando no Linux apresentem desempenho superior no sistema do pinguim, justamente porque o Vulkan é muito mais eficiente que o DirectX 8/9/10/11. Ou seja, os ganhos de eficiência são tão altos que compensam algum overhead da camada de compatibilidade. Por razões ainda incertas, a própria Microsoft tem realizado algumas contribuições para o desenvolvimento de iniciativas como o DXVK.

 

A ideia de usar o DXVK no próprio Windows pode ser bastante útil, pois os ganhos, a depender do caso, podem ser massivos.

 

Apenas uma correção: já existe uma versão do DXVK que funciona com jogos DirectX 12 e ela funciona muito bem. Trata-se do VKD3D. Já joguei vários jogos DirectX 12 no Linux. 😉

 

Uma curiosidade: o Vulkan surgiu a partir da API Mantle, desenvolvida de forma open source por parte da AMD. A AMD sempre investiu em tecnologias abertas e que beneficiam o ecossistema como um todo e continua sendo uma das principais contribuidoras.

  • Curtir 2
  • Obrigado 1
  • Amei 1
  • KairanD marcou este tópico como especial
  • Membro VIP
  • Solução
Postado
Em 11/18/2024 às 5:32 AM, KairanD disse:

@Gabriel U Obrigado pela contribuição. 🙂

 

Desde que foi criado, o DXVK tem evoluído em ritmo absurdamente rápido. É cada vez mais comum que jogos de Windows rodando no Linux apresentem desempenho superior no sistema do pinguim, justamente porque o Vulkan é muito mais eficiente que o DirectX 8/9/10/11. Ou seja, os ganhos de eficiência são tão altos que compensam algum overhead da camada de compatibilidade. Por razões ainda incertas, a própria Microsoft tem realizado algumas contribuições para o desenvolvimento de iniciativas como o DXVK.

 

A ideia de usar o DXVK no próprio Windows pode ser bastante útil, pois os ganhos, a depender do caso, podem ser massivos.

 

Apenas uma correção: já existe uma versão do DXVK que funciona com jogos DirectX 12 e ela funciona muito bem. Trata-se do VKD3D. Já joguei vários jogos DirectX 12 no Linux. 😉

 

Uma curiosidade: o Vulkan surgiu a partir da API Mantle, desenvolvida de forma open source por parte da AMD. A AMD sempre investiu em tecnologias abertas e que beneficiam o ecossistema como um todo e continua sendo uma das principais contribuidoras.

Bom dia, @KairanD. Muito obrigado pelo seu feedback e observações.

 

Apenas justificando as informações faltando:

1. Eu não sabia que o VKD3D era derivado do DXVK (apesar dos propósitos parecidos deles);

2. Sua observação sobre a participação da Microsoft é interessante. Meu palpite é o estudo para aplicação de funções derivadas do DXVK no WSL, que é um projeto da Microsoft que faz o contrário (traduz OpenGL e Vulkan para Direct3D).

 

ERRATA DO TUTORIAL:

Com base nas informações das contribuições, e outros equívocos que eu mesmo acabo de constatar no meu tutorial.

 

1. Onde se lê:

Em 11/16/2024 às 11:59 AM, Gabriel U disse:

d3d9.maxFrameRate = 0

# Para jogos em DirectX10 ou 11, esta opção define o limite de FPS.

# (0 = sem limite, 30 = 30fps, por exemplo)

Leia-se:

d3d9.maxFrameRate = 0

# Para jogos em DirectX9, esta opção define o limite de FPS.

# (0 = sem limite, 30 = 30fps, por exemplo)

  • Curtir 3
  • Gabriel U alterou o título para TUTORIAL: Instalação do DXVK para jogos (no Windows)
  • KairanD destacou este tópico

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...