E foi lançado o DXVK 2 com suporte melhorado para muitos jogos, e muito mais. Confira os detalhes dessa atualização.
DXVK é uma camada de tradução baseada em Vulkan para Direct3D 9/10/11 que permite a execução de aplicativos 3D no Linux usando Wine.
Ele fornece uma camada de tradução baseada em Vulkan para DXGI, D3D10 e D3D11, que pode ser usada no Linux com o Wine.
Na prática, DXVK é um conjunto de arquivos DLL de substituição que traduzem do DirectX 11 para o Vulkan.
Como o DXVK move o código DX11 para o Vulkan, o DXVK aborda diretamente o maior problema dos jogos do Wine atualmente, a incompatibilidade com as formas mais recentes do DirectX.
Dependendo do jogo e da sua configuração de hardware, o desempenho com o DXVK pode estar entre 60% e 80% do desempenho nativo do Windows.
O DXVK é usada por um número crescente de gamers Wine e agora pelo Proton do Steam Play, com a Valve financiando o desenvolvedor por trás deste projeto de código aberto.
Agora, Philip Rebohle lançou o DXVK 2, um lançamento importante que introduz mudanças e melhorias importantes.
Novidades do DXVK 2
As principais mudanças na versão DXVK 2.0 incluem melhorias no gerenciamento de memória para a implementação do Direct3D 9 para melhor suporte a jogos D3D9 de 32 bits, juntamente com suporte adequado para leitura de um destino de renderização ativo em jogos D3D9.
Para a implementação do Direct3D 10, esta versão remove as implementações incompletas d3d10.dll e d3d10_1.dll em favor da implementação do Wine dessas DLLs para suportar jogos D3D10.
Por outro lado, a implementação do Direct3D 11 agora expõe o D3D11 Feature Level 12_1 com recursos lado a lado e rasterização conservadora até o nível 3, bem como exibições ordenadas do rasterizador.
Segundo os desenvolvedores:
“Embora nenhum jogo seja conhecido por usar esses recursos diretamente no D3D11, alguns jogos e lançadores de jogos dependem do suporte de recursos consistente entre D3D11 e D3D12 para permitir que os usuários habilitem o D3D12 nas opções do jogo. Embora nossa implementação desses recursos seja geralmente funcional, pode haver bugs ou problemas de desempenho caso um jogo os use.”
A implementação do Direct3D 11 também recebeu melhorias nas implementações de ID3D11DeviceContext para reduzir ainda mais a sobrecarga da CPU em jogos e melhorar a compatibilidade com bibliotecas e mods de terceiros que se conectam ao D3D11, proporcionando um comportamento mais próximo ao dos sistemas Windows.
Além disso, o DXVK 2.0 traz alterações de compilação de sombreador para drivers gráficos que suportam a extensão Vulkan VK_EXT_graphics_pipeline_library compilando sombreadores Vulkan quando o jogo é carregado, e não no momento do desenho.
Atualmente, apenas o driver gráfico NVIDIA 520.56.06 e posterior oferece suporte a essa alteração.
Entre outras mudanças, esta versão introduz suporte para compilações Linux nativas de DXVK para desenvolvedores que desejam portar aplicativos D3D sem ter que alterar o código de renderização, comportamento aprimorado de cadeias de troca de espera DXGI, implementação aprimorada de estatísticas de quadros DXGI, lógica de alocação de memória aprimorada em Gráficos integrados Intel, bem como várias correções de bugs.
Como esperado de uma nova atualização do DXVK, a versão 2.0 também traz melhorias para vários jogos, incluindo Alan Wake, Alice Madness Returns, Anomaly: Warzone Earth, Beyond Good and Evil, Dragon Age Origins, Empire: Total War, Final Fantasy XV, GTA IV, Heroes Of Annihilated Empires, Limit King Of Fighters XIII, Metal Gear Solid V: Ground Zeroes, SiN Episodes: Emergence, Sonic Generations, Spider-Man: Shattered Dimensions, The Ship, Warhammer Online e Ys Seven.
Para saber mais sobre essa versão do DXVK, acesse a nota de lançamento.
Como instalar ou atualizar
Se você estiver usando o DXVK em sua distribuição Linux para jogar jogos do Windows, deve atualizar para o DXVK 2 assim que ele chegar aos repositórios de software da sua distribuição.
Aqueles que desejam compilar o DXVK podem baixar o tarball de origem agora mesmo na página GitHub do projeto, onde você também pode ler as notas de versão completas.