Es va donar a conèixer el llançament de la nova versió de DXVK 2.0, una implementació de DXGI Direct3D 9, 10 i 11, que funciona a través de la traducció de trucades a l'API de Vulkan. DXVK requereix controladors compatibles.
En aquesta nova versió es van augmentar els requisits per a la versió de l'API de gràfics Vulkan: ara requereix un controlador amb suport per a Vulkan 1.3 (anteriorment es requeria Vulkan 1.1), la qual cosa va fer possible implementar suport per a noves funcions relacionades amb la compilació d'ombrejadors.
A la pràctica, DXVK 2.0 es pot executar en qualsevol sistema que admeti l'ús del paquet Proton Experimental per executar jocs basats en D3D11 i D3D12. Winevulkan requereix com a mínim Wine 7.1 per funcionar.
S'adoptà el codi del projecte dxvk-native, que permet generar compilacions DXVK natives per a Linux (no vinculades a Wine), que es poden utilitzar no per executar aplicacions de Windows, sinó en aplicacions ordinàries de Linux, que poden ser útils per crear ports de jocs per a Linux sense canviar el codi de renderitzat basat en D3D.
s'ha ampliat la compatibilitat amb Direct3D 9, inclosa la gestió millorada de la memòria (els arxius reflectits a la memòria s'utilitzen per emmagatzemar còpies de textura), s'ha implementat la compatibilitat amb la lectura correcta de punts d'accés (va resoldre problemes amb l'aparició d'artefactes en jugar GTA IV) i s'ha redissenyat la implementació del control de transparència.
Per a Direct3D 10, es van descontinuar les biblioteques d3d10.dll i d3d10_1.dll, que no es van instal·lar per defecte a causa de la presència d'una implementació més avançada de D3D10 a Wine. Alhora, la compatibilitat amb l'API D3D10 continua a la biblioteca d3d10core.dll.
La compatibilitat amb Direct3D 11 es va actualitzar al nivell de funció 12_1 ( D3D11 Feaure Level ), per aconseguir que s'implementin característiques com a recursos en mosaic ( Recursos en mosaic ), rasterització conservadora ( Rasterització conservadora ) i representació ordenada al rasteritzador ( Vistes ordenades de rasteritzador ).
La implementació de la interfície ID3D11DeviceContext, que representa el context del dispositiu que genera les ordres de dibuix, s'ha redissenyat i té un comportament més proper a Windows. El redisseny va permetre millorar la compatibilitat amb biblioteques de tercers i reduir la càrrega a la CPU. En particular, l'ús de la CPU s'ha reduït en jocs que usen contextos diferits en gran mesura (com Assassin's Creed: Origins) o que sovint anomenen l'operació ClearState (com God of War).
S'han realitzat canvis relacionats amb la compilació de shaders. En presència de controladors Vulkan amb suport per a l'extensió VK_EXT_graphics_pipeline_library, els ombrejadors Vulkan es van compilar quan els jocs van carregar ombrejadors D3D, i no durant el renderitzat, cosa que va resoldre els problemes amb les congelacions a causa de la compilació de ombrejadors durant el joc.
Dels altres canvis que es destaquen:
- Actualment, l'extensió requerida només és compatible amb els controladors patentats de NVIDIA a partir de la versió 520.56.06.
- Els ombrejadors D3D11 usen el model de memòria Vulkan.
- El límit es va eliminar en la quantitat de recursos que es poden vincular alhora.
Finalment si estàs interessat en conèixer més a l'respecte sobre aquest nou llançament, pots consular els detalls en el següent enllaç.
Com afegir el suport de DXVK a Linux?
DXVK es pot usar per executar aplicacions i jocs 3D en Linux utilitzant Wine, actuant com una alternativa de major rendiment a la implementació de Direct3D 11 integrada en Wine que s'executa sobre OpenGL.
DXVK requereix de l'última versió estable de Wine per executar-se. Pel que, si no comptes amb aquest instal·lat. Ara només haurem de descarregar l'últim paquet estable de DXVK, aquest el trobem en el següent enllaç.
wget https://github.com/doitsujin/dxvk/releases/download/v1.10.2/dxvk-1.10.2.tar.gz
Després d'haver realitzat la descàrrega ara anem a descomprimir el paquet acabat d'obtenir, això ho poden fer amb des del seu entorn d'escriptori o des de la mateixa terminal executant en la següent comanda:
tar -xzvf dxvk-2.0.tar.gz
Després accedim a la carpeta amb:
cd dxvk-2.0
I executem la comanda sh per executar l'script d'instal·lació:
sudo sh setup-dxvk.sh install
setup-dxvk.sh install --without-dxgi
Quan s'instal·li DXVK en un prefix de Wine. L'avantatge és que es pot fer servir Wine vkd3d per a jocs D3D12 i DXVK per a jocs D3D11.
A més, la nova seqüència de comandaments permet instal·lar la dll com enllaços simbòlics, el que facilita l'actualització de DXVK per obtenir més prefixos de Wine (pot fer-ho mitjançant la comanda -symlink).
Com veuran la carpeta d' DXVK conté altres dues dll per a 32 i 64 bits aquestes les anem a col·locar d'acord a les següents rutes.
On "usuari" el remplazas pel nom d'usuari que utilitzes en el teu distribució de Linux.
Per 64 bits les col·loquem en:
~/.wine/drive_c/windows/system32/
O
/home/”usuario”/.wine/drive_c/windows/system32/
I per a 32 bits en:
~/.wine/drive_c/windows/syswow64
O
/home/”usuario”/.wine/drive_c/windows/system32/