A Valve revelou recentemente o lançamento da nova versão do VKD3D-Proton 2.9, uma bifurcação da base de código vkd3d, projetada para melhorar a compatibilidade do Direct3D 12 no inicializador de jogos Proton.
Para quem ainda não conhece o VKD3D-Proton, você deve saber que este Suporta alterações específicas do Proton, otimizações e aprimoramentos para melhor desempenho de jogos do Windows baseados em Direct3D 12, que ainda não são aceitos na parte principal do vkd3d. Entre as diferenças, há também o foco no uso de extensões Vulkan modernas e nos recursos de versões recentes de drivers gráficos para obter compatibilidade total com o Direct3D 12.
Assim sendo A Valve usa o fork especificado no pacote baseado em Wine para executar jogos do Windows Proton. O suporte ao DirectX 9/10/11 no Proton é baseado no pacote DXVK e a implementação do DirectX 12 até agora foi baseada na biblioteca vkd3d (após a morte do autor do vkd3d, a CodeWeavers continuou o desenvolvimento deste componente e da comunidade do vinho).
Principais novidades do VKD3D-Proton 2.9
Esta nova versão do VKD3D-Proton 2.9 menciona que alguns jogos começaram a assumir que as DLLs foram projetadas de forma semelhante ao AgilitySDK, onde a biblioteca d3d12core.dll é dividida em um carregador (d3d12.dll) e uma implementação principal (d3d12core.dll). Com essa alteração, vários scripts precisarão ser atualizados para acomodar ambas as DLLs. Depois que o d3d12.dll é instalado em um prefixo, apenas o d3d12core.dll precisa ser atualizado.
Outra das mudanças que se destaca nesta nova versão são as otimizações de desempenho implementadas e é que nesta versão os requisitos de memória foram significativamente reduzidos na primeira vez que o aplicativo é iniciado.
Destaca-se também quee melhorou o desempenho no código que usa a extensão VK_EXT_descriptor_buffer, bem como otimizações adicionais para sistemas com GPUs Intel, AMD e NVIDIA.
Além disso, adicionado suporte para interfaces de portabilidade D3D11On12, Código removido com a implementação anterior de framebuffers virtuais (SwapChain), adicionado suporte para interfaces Linux padrão para SwapChain e corrigidos alguns problemas que ocorriam ao usar os drivers NVIDIA e RADV.
Além disso, O Vulkan 1.3 agora é declarado como a versão mínima exigida, Também foi adicionado suporte para operações fatiadas fora de ordem (3D UAV, Unordered View), implementadas usando a extensão VK_EXT_image_sliced_view_of_3d.
Das outras mudanças que se destacam nesta nova versão:
- Comportamento VRAM aprimorado quando VK_EXT_pageable_device_local_memory é suportado, permitindo que as APIs Evicty e MakeResident sejam implementadas de maneira útil.
VK_EXT_memory_priority também é usado para fornecer prioridades estáticas como fallback. - Suporte aprimorado para DXR 1.1 ativando a extensão VK_EXT_pipeline_library_group_handles.
- Adicionado suporte para a extensão VK_EXT_fragment_shader_interlock.
- Compatibilidade aprimorada com jogos que usam recursos específicos do AgilitySDK.
- Problemas corrigidos em muitos jogos.
- No Wine, winevulkan.dll é usado em vez de vulkan-1.dll, se disponível.
- Melhorias na compatibilidade com jogos que dependem de certos detalhes do AgilitySDK.
- Compatibilidade aprimorada do sistema de compilação com diferentes versões widl
- VKD3D_CONFIG=dxr agora também habilita DXR 1.1 e dxr11 é salvo para compatibilidade.
- Valor de luminância mínimo de metadados HDR fixo.
- Adicionado VKD3D_LIMIT_TESS_FACTORS para corrigir a tesselação excessiva. Habilitado para Wo Long.
- Correção do bug do RADV que causa excesso de memória nos caches do sombreador. Você pode economizar várias centenas de MB de memória, o que é importante em certos títulos que consomem muita memória para evitar instabilidade.
- Correção do bug da NVIDIA com envios de fila simultâneos usando semáforos de linha do tempo
- Corrigido um monte de erros inexplicáveis Xid 109 CTX_SWITCH_TIMEOUT em muitos jogos diferentes.
Finalmente Se você estiver interessado em saber mais sobre esta nova versão, você pode verificar os detalhes no link a seguir.E se você quiser experimente Proton no Steam agora, você já sabe que pode instalar o cliente Steam a partir do site oficial, embora você também o encontre nos repositórios da maioria das distros.