DXVK [GitHub], one of the projects that makes up Valve's Steam Play that enables Vulkan-based D3D11 and D3D10 in Wine has a new version out.
Here's the highlights 0.71:
- Added "dxgi.maxDeviceMemory" and "dxgi.maxSharedMemory" options to limit the amount of graphics memory reported to the application. This may help fix texture streaming-related issues in 64-bit games that do not support 4096MB or more VRAM (#591)
- Added "DXVK_FILTER_DEVICE_NAME" environment variable, which forces DXVK to use a specific Vulkan device. The device name must match exactly and can be retrieved from the log files, or from tools such as "vulkaninfo".
- Minor overall reduction in CPU overhead
It also includes some minor fixes for D3D10, along with fixes for Crysis 1 and World of Tanks. There's a few other fixes like incorrect rasterization sample count reported to shaders, possible VSync-related issues if the "IMMEDIATE" present mode is not available and so on.
A RADV-specific workaround (AMD GPU) was also removed for builds of Mesa older than 18.2. See the full release notes here.
Hopefully if it proves to be stable enough, Valve can pull it in for the next update of Steam Play's Proton.
Some you may have missed, popular articles from the last month:
I wonder when this will be integrated in Proton.
2 Likes, Who?
Quoting: Comandante ÑoñardoI wonder when this will be integrated in Proton.If could simply replace the DXVK DDLs in your steam folder.
3 Likes, Who?
Quoting: Comandante ÑoñardoI wonder when this will be integrated in Proton.
I don't think DX10 support with DXVK is good enough for integration right now, but who knows when it comes to Valve? They seem to be moving very fast with updates so far.
2 Likes, Who?
Quoting: lejimsterThey seem to be moving very fast with updates so far.Absolutely, shockingly fast. I can think of 3 random titles off the top of my head (Star Wars: Battlefront 2, Star Wars: Empires at War, Clone Drone in the Danger Zone) that didn't work for me on a wide screen monitor on day 1 of the beta that, since, are now all flawless. Also, Void Destroyer 2, a space combat sim that was never coming to Linux that I never could get working on Wine, also "just works" on Proton. Very impressive...
4 Likes, Who?
Waiting for Khronos to finish transform feedback spec.
5 Likes, Who?
Quoting: iiariAlso, Void Destroyer 2, a space combat sim that was never coming to Linux that I never could get working on Wine, also "just works" on Proton. Very impressive...I had similar problems with Risen 3 Enhanced Edition. I couldn't run it through vanilla WINE, but with Proton it works flawlessly!
Last edited by nadrolinux on 2 September 2018 at 8:32 pm UTC
1 Likes, Who?
Quoting: GuestQuoting: ShmerlWaiting for Khronos to finish transform feedback spec.
Assuming they intend to include it at all. Which I'm not sure is the case right now, though I forget the reason. Vulkan has certain ideals, and transform feedback might not be compatible.
According to their issue tracker, and in that context what @YoRHa-2B said, they are working on it (or at least something that can help implementing D3D stream output), and it should be ready in a few months.
Last edited by Shmerl on 2 September 2018 at 10:03 pm UTC
0 Likes
Stream output is not commonly used for performance heavy features, so I don't really worry as long as it will work to begin with, instead of producing a mess of polygons or invisible surfaces.
Last edited by Shmerl on 2 September 2018 at 10:56 pm UTC
Last edited by Shmerl on 2 September 2018 at 10:56 pm UTC
0 Likes
Wonder if/how that could fix Flight Sim World: "no DX11 device" error?
0 Likes
And then some game pops up which relies on those edge cases and everything blows up.
That kind of trickery works great on a per-game basis when you know in advance that it'll work, but putting large amounts of work into a solution that covers pretty much only one single use case and has no chance of ever working correctly just isn't a risk I'm willing to take.
Yes, that one use case - unconditionally writing transformed vertex data back to a buffer using a geometry shader, without any sort of instancing, tessellation etc. going on - just happens to be what Unity Engine does, but not even having the option to implement conditional writes etc. is bad.
FWIW, D3D12 still supports this feature, so dxvk is not the only thing in the world that benefits from having an extension available. And looking at radeonsi, there is at least some native hardware-level support for that feature.
Last edited by YoRHa-2B on 3 September 2018 at 2:29 pm UTC
That kind of trickery works great on a per-game basis when you know in advance that it'll work, but putting large amounts of work into a solution that covers pretty much only one single use case and has no chance of ever working correctly just isn't a risk I'm willing to take.
Yes, that one use case - unconditionally writing transformed vertex data back to a buffer using a geometry shader, without any sort of instancing, tessellation etc. going on - just happens to be what Unity Engine does, but not even having the option to implement conditional writes etc. is bad.
FWIW, D3D12 still supports this feature, so dxvk is not the only thing in the world that benefits from having an extension available. And looking at radeonsi, there is at least some native hardware-level support for that feature.
Last edited by YoRHa-2B on 3 September 2018 at 2:29 pm UTC
2 Likes, Who?
See more from me