Skip to content

Sarek9-15-r2 Released

Compare
Choose a tag to compare
@pythonlover02 pythonlover02 released this 13 Oct 22:48
f51d799

Stable Build:

The second revision of Sarek9-15, so what has been done?

Now VKD3D its officially supported, all future Sarek builds will utilize VKD3D 2.8, as it's the last version that doesn't have Vulkan 1.3 as a requirement. The Proton configuration has been updated to correctly reference the VKD3D 2.8 DLL. Because newer versions typically include two dlls, d3d12.dll and d3d12_core.dll while VKD3D 2.8 and earlier versions only include d3d12.dll.

For that reason the next line had been changed from:

vkd3d_protonfiles = ["d3d12", "d3d12_core"] to vkd3d_protonfiles = ["d3d12"]

Stable Async Build:

This build is similar to the stable version but uses DXVK 1.10.3 Async instead of the regular one.

Why DXVK Async?
The main reason is performance. DXVK Async enables asynchronous shader compilation, while the regular DXVK uses synchronous compilation. In regular DXVK, when a game encounters new shaders, they are compiled synchronously, causing brief stutters or freezes as the game waits for the compilation to finish. In contrast, DXVK Async compiles shaders in the background, allowing the game to continue running, though there may be minor graphical artifacts until compilation is complete.

So why isn't it in the normal version?
While DXVK Async significantly improves performance by reducing stuttering, it poses a potential risk of triggering client-side anti-cheat systems in multiplayer games. This risk arises because the tool alters shader handling, which might be viewed as cheating by some anti-cheat software. Although there haven’t been confirmed bans for using DXVK Async, the possibility remains, and I personally wouldn’t risk my Steam account for it.

What its being tested now:

We are currently testing a feature that could be ideal for users looking to squeeze every bit of performance from their PCs. We're making a new Proton parameter for Sarek, which, when enabled, will apply a set of optimizations through environment variables. Instead of having to manually add parameters like parameter1 parameter2 ... parameterx %command%, you’ll just need to use PROTON_TWEAKS=1 %command%. This will apply all the relevant tweaks at once, removing the need to search multiple sources like the Arch Wiki, Mesa, Nvidia, and Wine documentation for performance boosting parameters. Also please note that the parameter name may change in the future.

Why it will not be enabled by default?
Because many of these parameters act as "double-edged swords," it’s important to approach them carefully. For instance, __GL_THREADED_OPTIMIZATIONS=1 and mesa_glthread=1 are typically beneficial for CPU-intensive applications but can lead to performance drops in games that depend on synchronous OpenGL calls. Other tweaks might impact the artistic style of the game or introduce instability. That's why it's better to offer these optimizations as an option rather than making them a standard, as achieving better performance often involves some sacrifices.

Release: