D8VK, uma implementação Direct3D 8 para DXVK

D8VK

D8VK é uma implementação do Direct3D 8 que permite executar aplicativos 3D no Linux usando o Wine.

Alguns dias atrás foi anunciado o lançamento da primeira versão estável do projeto “D8VK 1.0”, que oferece um Implementação da API de gráficos Direct3D 8 que funciona através da tradução de chamadas API Vulkan e permite que você use Wine ou Proton para executar aplicativos 3D e jogos desenvolvidos para Windows no Linux que estão vinculados à API Direct3D 8.

Como muitos de vocês sabem, no Linux temos o VKD3D-Proton para a tradução do Direct3D 12 no Vulkan, além disso também temos o Steam Play que usa o DXVK para implementar as APIs do Direct3D 9/10/11 no Vulkan, mas para o antigo implementação do Direct3D 8, não havia nada de concreto.

É por isso que nasceu o D8VK, que é a implementação da antiga API Microsoft Direct3D 8 sobre Vulkan para melhorar a experiência de jogos mais antigos.

D8VK 1.0 é marcado como o primeiro lançamento do projeto, adequado para uso e testado em centenas de jogos. Comparado aos projetos WineD3D e d3d8to9, que usam a tradução Direct3D 8 para OpenGL e Direct3D 9, o projeto D8VK demonstra melhor desempenho, estabilidade e compatibilidade com jogos.

Por exemplo, quando testado no pacote 3DMark 2001 SE, o projeto D8VK obteve 144660 pontos, a combinação de d3d8to9 e dxvk – 118033 e WineD3D – 97134.

O lançamento de D8VK 1.0 apresenta d3d8.dll(d3d9 está vinculado estaticamente), bem como um novo processador de lote personalizado para certos jogos com comportamento indefinido.

Além disso, destaca-se também que suporta a substituição da declaração do sombreador de vértice para jogos com comportamento indefinido e que os buffers de vértice agora podem ser armazenados no pool autogerenciado para melhorar o desempenho e evitar problemas de ordem de gravação.

Também é observado que o suporte de compilação é implementado no MSVC, bem como o suporte para consultas GetInfo e os tipos de bloco de status agora são suportados.

Dos demais mudanças que se destacam:

  • Tamanhos de descrição de superfície corretos com base no formato
  • Permitir preservar a instalação atual do Proton
  • Inúmeras configurações específicas do jogo e recursos e ajustes menores
  • Corrigido um bug em que CreateTexture tentava envolver uma textura nula
  • Backbuffers corrigidos não sendo armazenados em cache ou referenciados ao dispositivo proprietário
  • Texturas corrigidas, fluxos e índices não sendo limpos na reinicialização
  • Localização fixa de Direct3DCreate8 em d3d8.def
  • Contagem de referência fixa para destinos de renderização, modelos de profundidade e texturas.
  • Corrigidos sombreadores de pixel nulos não sendo lembrados
  • Alvos de renderização corrigidos e modelos de profundidade não sendo armazenados em cache
  • Corrigido o erro se o cliente tentasse habilitar o SWVP em um dispositivo de hardware
  • Dispositivos corrigidos sem jailbreak
  • Segfault corrigido na liberação do dispositivo com texturas vinculadas

Por fim, se você tiver interesse em saber mais sobre o assunto, pode consultar os detalhes no link a seguir.

Você deve saber que o código do projeto é escrito em linguagem C++ e é distribuído sob a licença Zlib. A base de código do projeto DXVK com a implementação do Direct3D 9, 10 e 11 em cima do Vulkan foi usada como base para o desenvolvimento.

Como instalar o D8VK no Linux?

Para quem tem interesse em poder instalar o D8VK, deve saber que sua implementação é bastante simples e não exige muito. Basta abrir um terminal para poder obter a nova versão. Nele vamos digitar o seguinte comando:

git clone https://github.com/AlpyneDreams/d8vk.git

Ou se preferir baixar do seu navegador (basta descompactar o arquivo e se posicionar em um terminal dentro da pasta) pode fazer clicando em neste link

Feito isso, agora vamos entrar no diretório com:

cd d8vk

E passamos a realizar a implementação do d8vk conforme o caso. Para implementá-lo com o Wine, devemos digitar o seguinte:

./setup_d3d8.sh install --no-proton

Ou no caso de querer implementar com Proton, o comando que deve ser digitado é o seguinte:

./setup_d3d8.sh install

Se pretender saber mais sobre a sua utilização ou instalação em casos particulares, pode consultar o seguinte link.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.