Como habilitar a renderização Vulkan em jogos de vinho usando DXVK

Como habilitar a renderização Vulkan em jogos de vinho usando DXVK
O DXVK é um projeto de código aberto e gratuito que traduz chamadas diretas em Vulkan no Linux. Integrando com a camada de compatibilidade com o vinho, o DXVK permite que você use um renderizador de vulkan no Direct3D (D3D9, D3D10 e D3D11) e jogos no Linux.

O DXVK funciona substituindo os arquivos Direct3D “DLL” existentes em vinhos por arquivos personalizados que convertem chamadas diretas de API para Vulkan. Como resultado, você pode ver gráficos aprimorados, maior desempenho e melhor compatibilidade em aplicativos e jogos 3D. O impacto do desempenho do DXVK pode ser drástico, melhorando as taxas gerais de quadros na maioria dos aplicativos e jogos 3D. Embora você possa ver resultados variados caso a caso.

Instalando DXVK no Linux

Você pode baixar a última construção dxvk em sua página do github. Para configurar corretamente o DXVK, você deve instalar alguns pacotes primeiro e configurar um prefixo de vinho.

Para começar, habilite os motoristas Vulkan no Ubuntu, executando o comando abaixo:

$ sudo apt install mesa-vulkan-drivers mesa-vulkan-drivers: i386
libvulkan1 libvulkan1: i386

Reinicie seu sistema para terminar a instalação.

Em seguida, você precisará instalar pacotes de vinhos. Eu recomendaria que você instale construções estáveis ​​de vinho, mas o dxvk também funcionará com as compilações de desenvolvimento. Para instalar as compilações estáveis ​​do vinho no Ubuntu, execute o comando abaixo:

$ sudo apt install wine

Observe que o Ubuntu pode não ter as últimas construções de vinho incluídas em seus repositórios. Para verificar e instalar a última construção do vinho, siga as instruções disponíveis aqui.

Agora que os pacotes necessários foram instalados, você pode configurar um novo prefixo de vinho. Prefixos de vinho nada além de recipientes isolados para instalar aplicativos Windows no Linux. É uma boa ideia criar um novo prefixo para cada aplicativo ou jogo que você instala no vinho. Como um prefixo não tem nada com outro, as coisas são mantidas limpas e sem falhas, resultando em menos problemas de compatibilidade.

Execute o comando abaixo para criar um novo prefixo chamado "Game" em seu diretório doméstico:

$ Wineprefix = "$ home/jogo" winecfg

Você pode passar qualquer caminho para a variável WinePrefix, apenas certifique -se de que seja o caminho completo, não relativo.

O DXVK está disponível para arquiteturas de 32 e 64 bits e é importante que você instale arquivos DXVK para a arquitetura correta. Por padrão, o vinho criará um prefixo de 64 bits. No entanto, você pode especificar manualmente uma arquitetura executando qualquer um dos comandos abaixo:

$ Winearch = win64 wineprefix = "$ home/game" winecfg
$ Winearch = win32 wineprefix = "$ home/game" winecfg

Se você seguiu as etapas corretamente até agora, agora pode prosseguir para a instalação real do DXVK em um prefixo de vinho. Extraia o arquivo dxvk baixado e execute o comando abaixo da pasta extraída para fazer o Script Executável de Configuração:

$ chmod +x setup_dxvk.sh

Com a variável WinePrefix especificada, execute um comando no seguinte formato:

$ Wineprefix = "$ home/jogo" ./setup_dxvk.SH install

Você pode substituir o valor do WinePrefix pelo seu próprio caminho. Aguarde alguns segundos para a instalação terminar.

Para desinstalar o DXVK, execute o comando abaixo:

$ Wineprefix = "$ home/jogo" ./setup_dxvk.desinstalação sh

Como confirmar se o DXVK está funcionando em um aplicativo ou um jogo?

Após a instalação do DXVK, você pode verificar se as bibliotecas DXVK e Vulkan estão sendo usadas corretamente no jogo. Para fazer isso, prefixo seu comando de vinho com “dxvk_hud = 1” variável de ambiente.

$ Wineprefix = "$ home/jogo" dxvk_hud = 1 lançador de vinhos.exe

Se o DXVK estiver instalado corretamente e sendo usado no seu jogo Direct3D, você verá um HUD FPS no canto superior esquerdo da tela:

Você pode personalizar a tela HUD usando vários valores separados por vírgula explicados aqui.

Caso você não queira usar o DXVK HUD, você pode confirmar na saída do terminal se o dxvk estiver sendo invocado ou não. A saída a seguir mostra que o DXVK está sendo usado em um jogo depois de executar um lançador "exe" em um prefixo de vinho:

Info: DXVK: V1.7.1
Informações: provedores de extensão interno:
Info: Win32 WSI
Informações: OpenVR
Warn: OpenVR: Falha ao localizar o módulo
Informações: Extensões de instância ativadas:
Info: vk_khr_surface
Informações: vk_khr_win32_surface
Warn: d3d9: vk_format_d24_unorm_s8_uint -> vk_format_d32_sfloat_s8_uint
Warn: d3d9: vk_format_a4r4g4b4_unorm_pack16_ext -> vk_format_b4g4r4a4_unorm_pac

Conclusão

O projeto DXVK deu um grande impulso a jogos não nativos no Linux. Sua profunda integração com o vinho resultou em grandes melhorias de desempenho em muitos jogos. O DXVK foi totalmente integrado à camada de compatibilidade de prótons do Steam, que por si só é baseada no vinho. Se você estiver usando o Steam para baixar e jogar jogos compatíveis com Windows, obterá automaticamente suporte para DXVK através do Proton.