Faz pouco o lançamento do a nova versão da implementação do DXVK 1.10.1 em que algumas novidades e novas funções experimentais foram adicionadas, entre outras coisas.
Para quem ainda não conhece o DXVK, deveria saber o que é uma das ferramentas incluídas na função Steam Play do Steam. É uma ferramenta fantástica quee pode converter chamadas gráficas Microsoft DirectX 11 e DirectX 10 para Vulkan, a API gráfica de código aberto compatível com Linux. Para usar o DXVK, além do Wine e do Vulkan, você obviamente precisa de uma GPU compatível com o Vulkan.
Embora o DXVK seja usado principalmente no Steam Play, mas não é o único lugar onde os usuários do Linux podem aproveitar essa fantástica tecnologia. Também contribui a implementação D3D11 baseada em Vulkan para Linux e Wine, Com relação ao desempenho e otimização ao executar jogos Direct3D 11 no Wine, pois eles também fornecem suporte para Direct3D9.
Principais novos recursos do DXVK 1.10.1
Nesta nova versão o ssuporte inicial para recursos de textura compartilhados e a API IDXGIResource. Para orquestrar o armazenamento de metadados de textura junto com os descritores de memória compartilhada associados, são necessários patches adicionais para o Wine, que atualmente estão disponíveis apenas na ramificação Proton Experimental.
Atualmente, a implementação é limitada ao suporte ao compartilhamento de textura 2D para as APIs D3D9 e D3D11. A chamada para IDXGIKeyedMutex não é suportada e atualmente não há como compartilhar recursos com aplicativos usando D3D12 e Vulkan. Recursos adicionados resolveram problemas de reprodução de vídeo em alguns jogos da Koei Tecmo, como Nioh 2 e Atelier, e modificaram a renderização da interface do usuário no Black Mesa.
Outra das mudanças que se destacam nesta nova versão é que adicionada variável de ambiente DXVK_ENABLE_NVAPI para desativar a substituição do identificador do fornecedor (semelhante a dxvk.nvapiHack=False), além de geração de código de shader aprimorada ao usar matrizes locais, o que pode acelerar alguns jogos D3D11 em sistemas com drivers NVIDIA.
Do outras mudanças que se destacam:
- Adicionada uma otimização que potencialmente aumenta o desempenho da renderização de imagens no formato DXGI_FORMAT_R11G11B10_FLOAT.
- Corrigidos problemas ao carregar texturas ao usar D3D9.
- Para Assassin's Creed 3 e Black Flag, a configuração "d3d11.cachedDynamicResources=a" está habilitada para resolver problemas de desempenho.
- A configuração "d3d11.cachedDynamicResources=c" está habilitada para Frostpunk e "dxgi.maxFrameLatency=1" está habilitada para God of War.
- Corrigidos problemas de renderização em GTA: San Andreas e Rayman Origins.
Finalmente se você estiver interessado em saber mais sobre isso Sobre este novo lançamento, você pode verificar os detalhes no link a seguir.
Como adicionar suporte DXVK ao Linux?
DXVK pode ser usado para executar aplicativos 3D e jogos no Linux usando Wine, agindo como uma alternativa de alto desempenho à implementação Direct3D 11 integrada do Wine que é executada em OpenGL.
DXVK requer a última versão estável do Wine para correr. Então, se você não tiver instalado. Agora, só teremos que baixar o pacote DXVK estável mais recente, vamos encontrar este no link a seguir.
wget https://github.com/doitsujin/dxvk/releases/download/v1.10.1/dxvk-1.10.1.tar.gz
Depois de ter feito o download agora vamos descompactar o pacote que acabamos de obter, isso pode ser feito a partir do seu ambiente de trabalho ou do próprio terminal executando o seguinte comando:
tar -xzvf dxvk-1.10.1.tar.gz
Em seguida, acessamos a pasta com:
cd dxvk-1.10.1
E executamos o comando sh para execute o script de instalação:
sudo sh setup-dxvk.sh install
setup-dxvk.sh install --without-dxgi
Ao instalar DXVK em um prefixo do Wine. A vantagem é que o Wine vkd3d pode ser usado para jogos D3D12 e DXVK para jogos D3D11.
Além disso, o novo script permite que a dll seja instalada como links simbólicos, tornando mais fácil atualizar o DXVK para obter mais prefixos Wine (você pode fazer isso por meio do comando –symlink).
Como você verá a pasta DXVK contém duas outras dlls para 32 e 64 bits estas vamos colocá-los de acordo com as seguintes rotas.
Onde "usuário" você substitui pelo nome de usuário que você usa em sua distribuição Linux.
Para 64 bits, nós os colocamos em:
~/.wine/drive_c/windows/system32/
O
/home/”usuario”/.wine/drive_c/windows/system32/
E para 32 bits em:
~/.wine/drive_c/windows/syswow64
O
/home/”usuario”/.wine/drive_c/windows/system32/