VKD3D-Proton, the tool that translates Direct3D 12 to Vulkan for Steam Play Proton, has a brand new release out with version 2.10 and it's an exciting one. And hey, I'm actually on time with this news unlike DXVK v2.3…
There's some pretty great stuff included in this release including DirectStorage MetaCommands, which brings support for GPU accelerated GDeflate compression, which they said has been shown to work in Ratchet & Clank: Rift Apart.
Also hooked up is NV_device_generated_commands_compute, that helps with Starfield since its use of ExecuteIndirect "hammers multi-dispatch COMPUTE + root parameter changes", previously they were using a "very slow" workaround. So Starfield should work better with this, although it's only enabled on AMD RADV right now due to driver issues.
Pictured - Starfield on Kubuntu Linux with Proton Experimental
Also included is in this release is Enhanced Barriers, but there's no games shipping with it so it's not well tested yet.
There's plenty of fixes and workarounds for games and game engines too including issues solved for: Star Wars Battlefront II, Ashes of the Singularity, fixed mesh shaders in Unreal Engine 5, fixes for some Xenia bugs (xbox 360 emulator), Armored Core VI, Age of Wonders 4, Starfield, Halo Infinite, Street Fighter 6, Resident Evil 4, Monster Hunter Rise and others.
Some of the other stuff included:
Misc
- Support Root Signature version 1.2
- Implement Shader Model 6.7
- Includes all SM 6.7 features like AdvancedTextureOps, WaveOpsIncludeHelperLanes
- Caveat: Technically not Vulkan spec compliant implementation, but works fine on at least NV and RADV. Currently implemented as an opt-in option for now in case some game relies on it to work
- Implement CreateSampler2
- Expose inverted viewport / height feature
- Implement RelaxedFormatCasting feature from Enhanced Barriers
- Implement support for adjacency topologies
- Support A8_UNORM format properly by using
VK_KHR_maintenance5
, allowing A8_UNORM UAVs to work correctly- Handle range checked index buffers correctly with
VK_KHR_maintenance5
New extension use
- VK_EXT_dynamic_rendering_unused_attachments
- VK_KHR_maintenance5
- VK_NV_device_generated_commands_compute
Performance
- Batch acceleration structure builds. Massively improves build performance on at least RADV.
- Massively improve ExecuteIndirect performance when using COMPUTE + root parameter changes when
VK_NV_device_generated_commands_compute
is enabled.
From what I've been told, this update for VKD3D-Proton is already in Proton Experimental as of the recent update from September 7th.
See the VKD3D-Proton release notes here.
Also included is in this release is Enhanced Barriers, but there's no games shipping with it so it's not well tested yet.OK, I don't even know what this is. But I think the mere fact that VKD3D-Proton is supporting things before there are even any games that use them is a pretty good sign. Chasing taillights my ass.
Last edited by Purple Library Guy on 11 September 2023 at 5:45 pm UTC
I don't actually know what it does either, but that's what came to mind. 🤣
GE-Proton8-14? It says they updated to the latest VKD3D-git and of course GitHub just says 'last week' without an actual timestamp (really?).
Presumably the features have been in Git for a while before they tagged this release, and the performance seems... okay, so I'm going to assume 'yes', but I'm wondering if this might be a good reason to flip back to Proton Experimental for Starfield.
Last edited by Kithop on 11 September 2023 at 7:19 pm UTC
It says they updated to the latest VKD3D-git and of course GitHub just says 'last week' without an actual timestamp (really?).
Hah, nice to see someone else that doesn't like those dumbed down "timestamps". In trying to be more human readable, they make it harder. Unless you're watching commits and see "3 minutes ago" or something, "yesterday" or "3 weeks ago" doesn't cut it. It's especially annoying when trying to bisect something. (I don't do git bisect, I make educated guesses on commits to nail it down, browsing commits in sequence with the web interface)
However, on the web interfaces, if you hover, it should pop up some alt text with at least a date and time (e.g. "3 months ago" will show it in the form of "Jun 5, 2023, 2:33 pm EDT" (based on my time zone). Both github and gitlab's web interfaces do that now. Even git.kernel.org dumbs it down like that now in some places.
It still irritates me, I'd rather just see something like "2023-09-11 16:28:21 -0700"
P.S. To answer your question, NO, Proton-GE does not have the latest git commits for vkd3d-proton and dxvk. Even current master is going to pull dxvk and vkd3d-proton from sept. 1 commits.
Proton Experimental has updated them 4 days ago.
Proton Experimental Bleeding Edge 5 hours ago
Last edited by Grogan on 11 September 2023 at 8:15 pm UTC
A bit unclear here - do we know if these are also (at least as they pertain to games like Starfield) inIf you are really curious: Check the commit on the vkd3d-proton submodule. Find the commit in the log for the tagged vkd3d-proton release to see the date: Aug 31, 2023.
GE-Proton8-14? It says they updated to the latest VKD3D-git and of course GitHub just says 'last week' without an actual timestamp (really?).
Presumably the features have been in Git for a while before they tagged this release, and the performance seems... okay, so I'm going to assume 'yes', but I'm wondering if this might be a good reason to flip back to Proton Experimental for Starfield.
(All commits after this didn't make it into the GE release obviously.)
It seems strange to me that driver developers have to make their drivers work with games instead of game developers making their games work with drivers.
There’s a large amount of duct tape, popsicle sticks, paper clips and bubble gum holding most software together, unfortunately.
It seems strange to me that driver developers have to make their drivers work with games instead of game developers making their games work with drivers.Kinda been the case since the start when ya think about it.Quake wasn't exactly made to run on a GPU, but a lot of GPUs were made to run Quake. Too oversimplified, but the jist is 3d games came firat and GPUs came in later to run them but better.
When the cutting edge hardware and software development is best as a joint venture.
I hesitate to call Starfield cutting edge though. I mean I saw swf files inside some of the game data archives... Meaning it is likely in some way using Macromedia Flash, or some such derivative.
It seems strange to me that driver developers have to make their drivers work with games instead of game developers making their games work with drivers.That's just how it is. Part of those GPU vendor partnerships generally include quite a lot of back-and-forth for optimising and just plain making the game works.
The fact of the matter is that game devs are mostly there to make games, not tinker around figuring out how the driver works.
How come Proton Experimental Bleeding-Edge is 4 days behind the standard Proton Experimental? Am I missing something here shouldn't the BE version be the one getting it earlier.It says they updated to the latest VKD3D-git and of course GitHub just says 'last week' without an actual timestamp (really?).
Hah, nice to see someone else that doesn't like those dumbed down "timestamps". In trying to be more human readable, they make it harder. Unless you're watching commits and see "3 minutes ago" or something, "yesterday" or "3 weeks ago" doesn't cut it. It's especially annoying when trying to bisect something. (I don't do git bisect, I make educated guesses on commits to nail it down, browsing commits in sequence with the web interface)
However, on the web interfaces, if you hover, it should pop up some alt text with at least a date and time (e.g. "3 months ago" will show it in the form of "Jun 5, 2023, 2:33 pm EDT" (based on my time zone). Both github and gitlab's web interfaces do that now. Even git.kernel.org dumbs it down like that now in some places.
It still irritates me, I'd rather just see something like "2023-09-11 16:28:21 -0700"
P.S. To answer your question, NO, Proton-GE does not have the latest git commits for vkd3d-proton and dxvk. Even current master is going to pull dxvk and vkd3d-proton from sept. 1 commits.
Proton Experimental has updated them 4 days ago.
Proton Experimental Bleeding Edge 5 hours ago
Edit: Oh I think I miss read you post and see how you meant Bleeding Edge included everything up to the 5 hours ago and not just added it :D
Last edited by Obscure on 12 September 2023 at 1:10 pm UTC
How come Proton Experimental Bleeding-Edge is 4 days behind the standard Proton Experimental? Am I missing something here shouldn't the BE version be the one getting it earlier.
Edit: Oh I think I miss read you post and see how you meant Bleeding Edge included everything up to the 5 hours ago and not just added it :D
The "5 hours ago" was just for the subprojects dxvk and vkd3d-proton. They were synced 5 hours ago at the time (Proton bleeding edge had the most current of them vs. Experimental and Glorious Eggroll's Proton-GE that were set up to pull 4 day and 10 day old subproject commits respectively)
When you see something like:
"This branch is 53 commits ahead, 3 commits behind whatever"
It just means something was committed to that branch and not the one you're looking at, for whatever reason (perhaps it's N/A). It doesn't necessarily mean the older branch "whatever" has something newer.
Last edited by Grogan on 12 September 2023 at 5:37 pm UTC
See more from me