Recently the release of the new version of the implementation of DXVK 1.10.1 in which some novelties and new experimental functions have been added, among other things.
For those who still do not know about DXVK, they should know what it is one of the tools included in the Steam Play function from Steam. It is a fantastic tool thate can convert Microsoft DirectX 11 and DirectX 10 graphics calls to Vulkan, the open source graphics API that is compatible with Linux. To use DXVK, in addition to Wine and Vulkan, you obviously need a Vulkan-compatible GPU.
While DXVK is mainly used on Steam Play, but it is not the only place where Linux users can take advantage of this fantastic technology. It also contributes the Vulkan-based D3D11 implementation for Linux and Wine, Regarding performance and optimization when running Direct3D 11 games on Wine, as they also provide support for Direct3D9.
Main new features of DXVK 1.10.1
In this new version the sinitial support for shared texture resources and the IDXGIResource API. To orchestrate texture metadata storage along with associated shared memory descriptors, additional patches for Wine are required, which are currently only available on the Proton Experimental branch.
Currently, the implementation is limited to supporting 2D texture sharing for the D3D9 and D3D11 APIs. The call to IDXGIKeyedMutex is not supported and there is currently no way to share resources with applications using D3D12 and Vulkan. Added features resolved video playback issues in some Koei Tecmo games, such as Nioh 2 and Atelier, and modified the UI rendering in Black Mesa.
Another of the changes that stands out in this new version is that added environment variable DXVK_ENABLE_NVAPI to disable vendor identifier override (similar to dxvk.nvapiHack=False), in addition to improved shader code generation when using local arrays, which can speed up some D3D11 games on systems with NVIDIA drivers.
Of the other changes that stand out:
- Added an optimization that potentially increases the performance of rendering images in the DXGI_FORMAT_R11G11B10_FLOAT format.
- Fixed issues loading textures when using D3D9.
- For Assassin's Creed 3 and Black Flag, the setting "d3d11.cachedDynamicResources=a" is enabled to resolve performance issues.
- The setting "d3d11.cachedDynamicResources=c" is enabled for Frostpunk and "dxgi.maxFrameLatency=1" is enabled for God of War.
- Fixed rendering issues in GTA: San Andreas and Rayman Origins.
Finally if you are interested in knowing more about it About this new release, you can check the details In the following link.
How to add DXVK support to Linux?
DXVK can be used to run 3D applications and games on Linux using Wine, acting as a higher-performance alternative to Wine's built-in Direct3D 11 implementation that runs on OpenGL.
DXVK requires the latest stable version of Wine to run. So, if you don't have this installed. Now we will only have to download the latest stable package of DXVK, this one we found In the following link.
After having made the download now we are going to unzip the package just obtained, this can be done with from your desktop environment or from the terminal itself by executing in the following command:
tar -xzvf dxvk-1.10.1.tar.gz
Then we access the folder with:
And we execute the sh command to run the install script:
sudo sh setup-dxvk.sh install
setup-dxvk.sh install --without-dxgi
When installing DXVK in a prefix of Wine. The advantage is that Wine vkd3d can be used for D3D12 games and DXVK for D3D11 games.
Also, the new script allows the dll to be installed as symbolic links, making it easier to update the DXVK to get more Wine prefixes (you can do this via the –symlink command).
How will you see the folder DXVK contains two other dlls for 32 and 64 bits these we are going to place them according to the following routes.
Where "user" you replace it with the username you use in your Linux distribution.
For 64 bits we put them in:
And for 32 bits in: