Skip to content

Releases: pythonlover02/Proton-Sarek

Proton-Sarek9-23 Released

20 Jan 02:41
51b76e7
Compare
Choose a tag to compare

Stable Build:

  • The base had been changed from GE-Proton9-22 to GE-Proton9-23.
  • Fix the PROTON_LOG parameter not working
  • Add the PROTON_OGL_THREAD custom parameter to standardise OpenGL thread optimisation parameters under one parameter instead of using mesa_glthread for Mesa drivers and __GL_THREADED_OPTIMIZATIONS for NVIDIA proprietary drivers (You can still use them if preferred).
  • Add support for the proton version file, this allow the tool to be correctly recognized by MangoHud.

Stable Async Build:

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

As always GLHF and hope this helps :)

Release:

Proton-Sarek9-22 Released

02 Jan 00:04
f37e532
Compare
Choose a tag to compare

Stable Build:

  • The base had been changed from GE-Proton9-21 to GE-Proton9-22.
  • DXVK-Sarek had been updated to the lasted version being v1.10.6 (released the same day as this release).

I had been waiting for me to finish and release DXVK-Sarek v1.10.6 to make this one, thats why i was late to release this :), enjoy a good DXVK Build based on the 1.10.x branch.

Stable Async Build:

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

As always GLHF and hope this helps :)

Release:

Proton-Sarek9-21 Released

13 Dec 22:57
3d5c062
Compare
Choose a tag to compare

Stable Build:

Name Change:

The tool has been renamed from Sarek[version] to Proton-Sarek[version].
This change makes the tool visible for game launchers like Lutris and addresses issues with Steam Cloud Sync for certain games.

Base Version Update:

This release is now based on GE-Proton9-21, moving up from the previously used GE-Proton9-20.

DXVK-Sarek Integration:

For the first time, Proton-Sarek builds will be using DXVK versions from the custom DXVK-Sarek repo rather than the official 1.10.x releases. DXVK-Sarek includes backported fixes and features.

Proton-Sarek builds will now use DXVK-Sarek v1.10.5 as the default.

Stable Async Build:

This build is similar to the stable version but uses DXVK-Sarek v1.10.5 Async instead of the regular one.

As always GLHF and hope this helps :)

Release:

Sarek9-20.1 Released

06 Dec 03:27
bcc4baa
Compare
Choose a tag to compare

Stable Build:

If everything goes well, this will be the last Proton version to utilize the DXVK v1.10.3 release. Moving forward, it will be adopting the releases of DXVK-Sarek.

So what its new on this release?

Sarek Runtime:

A simple runtime that configures the game environment by adding environment variables. Its behavior can be changed using the PROTON_SAREK_PROFILE parameter, which accepts the following values: base, default, and agg.
Currently, this runtime focuses primarily on OpenGL/WineD3D, with minimal impact on DXVK users; however, future updates may change this.

Configuration Options:

  • "base"(Valve's default settings):

    • Disables logging for Wine, DXVK, and VKD3D to enhance performance.
  • "default" (Default Value):

    • Inherits all settings from the Base configuration.
    • Introduces a set of fixes for OpenGL to both Mesa and NVIDIA proprietary drivers.
    • Increases the maximum shader cache size on disk to 2GB per game. This ensures that the driver maintains optimal performance without repeatedly regenerating previously created caches. It's unlikely to exceed 800MB unless running graphically intensive games that require extensive caching.
  • "agg":

    • Represents an aggressive performance tuning mode, incorporating all features from the default configuration, plus the following enhancements:

    NVIDIA OpenGL:

    • Forces no Vsync to reduce input lag.
    • Forces rendering textures under performance settings instead of the default quality settings.
    • Forces no Full-Screen Anti-Aliasing (FSAA) and FXAA.
    • Prevents the usage of anisotropic filtering.
    • Disables Variable Refresh Rate (VRR).

    Mesa OpenGL:

    • Forces no Vsync to minimize input lag.
    • Disables error checking within the API to avoid CPU performance losses.
    • Disables dithering.
    • Forces no Full-Screen Anti-Aliasing (FSAA)
    • Prevents the usage of anisotropic filtering

There its an fps increase if i use agg instead of the default?

Yes and no, the agg profile has been added mainly to workaround games that do not allow you to disable antialiasing, vsync, and anisotropic filtering as these settings negatively impact performance in WineD3D a loot.
However, there are some adjustments that generally improve performance:

NVIDIA OpenGL:

  • Forces rendering textures under performance settings instead of the default quality settings.

Mesa OpenGL:

  • Disables error checking within the API to avoid CPU performance losses.
  • Disables dithering

The overall performance gain from these changes is minimal, typically ranging from 0.5 to 5 FPS, tough it helps with stutters on weak graphics cards.

Sources for the Sarek Runtime:
OpenGL Extensions Documentation
Mesa Documentation
NVIDIA 470 Drivers Documentation
NVIDIA 390 Drivers Documentation

Stable Async Build:

This build is similar to the stable version but uses DXVK-Sarek v1.10.3 Async instead of the regular one.

As always GLHF and hope this helps :)

Release:

Sarek9-20-r1 Released

18 Nov 00:06
95c905d
Compare
Choose a tag to compare

Stable Build:

What's New in Sarek9-20-r1?

The first revision of Sarek9-20 introduces several quality-of-life improvements, bug fixes, and updates:

  • Cleaner Code: The section dedicated to Sarek-specific parameters has been refactored for better readability and maintainability.

  • Cleanup Files: Unnecessary lines have been removed from the wine.inf and user.reg files.

  • Latest Updates: The Valve Proton base has been updated with the latest commit on the 9.0 branch (in case you want to apply the Sarek Patches to Valve Proton).

  • Resolved several known issues to improve stability and functionality.

Stable Async Build:

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

Release:

Sarek9-20 Released

10 Nov 22:00
3e08416
Compare
Choose a tag to compare

Hotfix:

This release is nearly identical to 9-19, but includes a hotfix from GE-Proton9-20 to resolve an issue by reverting the DRI_PRIME auto-setting, which caused compatibility issues with many non-standard setups. For more details on this release, see the 9-19 release notes below, as they apply here as well.

Sarek9-19:

Stable Build:

This release now will be based on GE-Proton9-19, instead of the 9-18 version. Working with DXVK 1.10.3, VKD3D 2.6 and everything added on the prior versions. Tough there are some changes.

Global Prefix Update:

  • Restored Global Prefix to Valve’s/GE default configuration.
  • Removed outdated customizations initially added to resolve issues that are now addressed in current versions of Wine and Proton.
  • Two-week testing confirmed that previous issues are resolved, allowing removal of these customizations to avoid potential conflicts.
  • No impact on other customizations: Changes only apply to the Global Prefix. Custom prefixes for specific games, including those from GE-Proton, Wine-GE, and additional Sarek-specific prefixes, remain unaffected.

Need for Speed (2003-2008) Mod Support:

  • Added custom prefixes for Need for Speed games from 2003-2008 to improve compatibility with mods.
    • Supported games:
      • Need for Speed: Underground
      • Need for Speed: Underground 2
      • Need for Speed: Most Wanted
      • Need for Speed: ProStreet
      • Need for Speed: Undercover
  • Executable naming requirement: Ensure your game executable matches one of the following for mod compatibility:
    • speed.exe, speed2.exe, nfs.exe, or nfsc.exe

How to Use Sarek with Non-Steam Games

Recommended and Supported Method (via Steam):

  1. Add the game as a non-Steam game in your Steam library.
  2. Go to the game’s properties, enable the "Force the use of a specific Steam Play compatibility tool" option, and select Sarek from the list.

Why add Non-Steam Games Prefixes to Sarek?:

Adding non-Steam prefixes doesn’t interfere with Steam games; it simply offers a custom environment for enjoying Non-Steam games through Proton. This way, even games outside Steam’s library can benefit from Sarek’s enhancements.

Looking forward, expect more custom prefixes to support modding. My friends and I are passionate about creating and enjoying game mods, and these prefixes will help make that experience smoother for people in general.

Stable Async Build:

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

Thats all for now GLHF :)

Release:

Sarek9-19 Released

10 Nov 17:46
930efe1
Compare
Choose a tag to compare

Stable Build:

This release now will be based on GE-Proton9-19, instead of the 9-18 version. Working with DXVK 1.10.3, VKD3D 2.6 and everything added on the prior versions. Tough there are some changes.

Global Prefix Update:

  • Restored Global Prefix to Valve’s/GE default configuration.
  • Removed outdated customizations initially added to resolve issues that are now addressed in current versions of Wine and Proton.
  • Two-week testing confirmed that previous issues are resolved, allowing removal of these customizations to avoid potential conflicts.
  • No impact on other customizations: Changes only apply to the Global Prefix. Custom prefixes for specific games, including those from GE-Proton, Wine-GE, and additional Sarek-specific prefixes, remain unaffected.

Need for Speed (2003-2008) Mod Support:

  • Added custom prefixes for Need for Speed games from 2003-2008 to improve compatibility with mods.
    • Supported games:
      • Need for Speed: Underground
      • Need for Speed: Underground 2
      • Need for Speed: Most Wanted
      • Need for Speed: ProStreet
      • Need for Speed: Undercover
  • Executable naming requirement: Ensure your game executable matches one of the following for mod compatibility:
    • speed.exe, speed2.exe, nfs.exe, or nfsc.exe

How to Use Sarek with Non-Steam Games

Recommended and Supported Method (via Steam):

  1. Add the game as a non-Steam game in your Steam library.
  2. Go to the game’s properties, enable the "Force the use of a specific Steam Play compatibility tool" option, and select Sarek from the list.

Why add Non-Steam Games Prefixes to Sarek?:

Adding non-Steam prefixes doesn’t interfere with Steam games; it simply offers a custom environment for enjoying Non-Steam games through Proton. This way, even games outside Steam’s library can benefit from Sarek’s enhancements.

Looking forward, expect more custom prefixes to support modding. My friends and I are passionate about creating and enjoying game mods, and these prefixes will help make that experience smoother for people in general.

Stable Async Build:

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

Thats all for now GLHF :)

Release:

Sarek9-18 Released

03 Nov 22:20
ef73b49
Compare
Choose a tag to compare

Hotfix:

This release is nearly identical to 9-17, but includes a crucial hotfix to resolve an issue with prefix creation by adding the missing Python uuid import in the Proton script. For more details on this release, see the 9-17 release notes below, as they apply here as well

Sarek9-17:

Stable Build:

Changed the base of the Build to GE-Proton9-17 instead of GE-Proton9-16, all previous patches applied to Sarek9-16 are now working on Sarek9-17, including the ones for WineD3D, the Global Proton Prefix, and the Custom Parameters. The release as usual comes with DXVK 1.10.3 and VKD3D 2.6.

The only things added to this release are 2 new parameters, those being:

  • PROTON_VK_SOFTWARE: Uses Lavapipe to enable CPU-based rendering for Vulkan, supporting API version 1.3.
  • PROTON_OGL_SOFTWARE: Uses LLVMpipe to enable CPU-based rendering for OpenGL, supporting API version 4.6.

The software rendering options are more of a fallback, designed for cases when your GPU drivers are broken, really underperforming in OpenGL/Vulkan games, or lack support for specific APIs used by games or translation layers. While performance is predictably slow since the CPU handles rendering instead of the GPU these options can make some simple 3D or 2D games playable. For the best experience, try using the lowest resolution possible, as it helps a loot.

For example, I was able to run the Windows version of Terraria at 15-30 FPS on 800x600 window mode using the following parameters: PROTON_USE_WINED3D=1 PROTON_OGL_SOFTWARE=1 %command%. While the game didn’t launch with DXVK+Lavapipe, it worked with these settings. (I know there's a Linux version, but this was a test.) This was all on an old office PC with an i5-2400 CPU, 4GB of RAM, and a very outdated NVIDIA GPU.

Based on testing, WineD3D with LLVMpipe seems to work with all games that are already compatible with WineD3D on a GPU. In contrast, DXVK with Lavapipe encounters issues, with some games failing to launch, likely due to Lavapipe incomplete support for certain Vulkan extensions. Additionally, the PROTON_TWEAKS parameter is enabled by default to optimize performance as much as possible. Ideally, you won’t have to depend on software rendering, but if you do, I hope this setup will at least make some games playable.

Requirements for Using Lavapipe (Vulkan Software Rendering)

  • Mesa Version: 20.3 or newer
  • CPU: Multi-core recommended for better performance

Requirements for Using LLVMpipe (OpenGL Software Rendering)

  • Mesa Version: Any recent version (LLVMpipe is well-supported in current Mesa releases)
  • CPU: Multi-core recommended for better performance

Stable Async Build:

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

Release:

Sarek9-17 Released

03 Nov 06:24
fdc96a3
Compare
Choose a tag to compare

Stable Build:

Changed the base of the Build to GE-Proton9-17 instead of GE-Proton9-16, all previous patches applied to Sarek9-16 are now working on Sarek9-17, including the ones for WineD3D, the Global Proton Prefix, and the Custom Parameters. The release as usual comes with DXVK 1.10.3 and VKD3D 2.6.

The only things added to this release are 2 new parameters, those being:

  • PROTON_VK_SOFTWARE: Uses Lavapipe to enable CPU-based rendering for Vulkan, supporting API version 1.3.
  • PROTON_OGL_SOFTWARE: Uses LLVMpipe to enable CPU-based rendering for OpenGL, supporting API version 4.6.

The software rendering options are more of a fallback, designed for cases when your GPU drivers are broken, really underperforming in OpenGL/Vulkan games, or lack support for specific APIs used by games or translation layers. While performance is predictably slow since the CPU handles rendering instead of the GPU these options can make some simple 3D or 2D games playable. For the best experience, try using the lowest resolution possible, as it helps a loot.

For example, I was able to run the Windows version of Terraria at 15-30 FPS on 800x600 window mode using the following parameters: PROTON_USE_WINED3D=1 PROTON_OGL_SOFTWARE=1 %command%. While the game didn’t launch with DXVK+Lavapipe, it worked with these settings. (I know there's a Linux version, but this was a test.) This was all on an old office PC with an i5-2400 CPU, 4GB of RAM, and a very outdated NVIDIA GPU.

Based on testing, WineD3D with LLVMpipe seems to work with all games that are already compatible with WineD3D on a GPU. In contrast, DXVK with Lavapipe encounters issues, with some games failing to launch, likely due to Lavapipe incomplete support for certain Vulkan extensions. Additionally, the PROTON_TWEAKS parameter is enabled by default to optimize performance as much as possible. Ideally, you won’t have to depend on software rendering, but if you do, I hope this setup will at least make some games playable.

Requirements for Using Lavapipe (Vulkan Software Rendering)

  • Mesa Version: 20.3 or newer
  • CPU: Multi-core recommended for better performance

Requirements for Using LLVMpipe (OpenGL Software Rendering)

  • Mesa Version: Any recent version (LLVMpipe is well-supported in current Mesa releases)
  • CPU: Multi-core recommended for better performance

Stable Async Build:

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

Release:

Sarek9-16 Released

18 Oct 22:03
9c915e2
Compare
Choose a tag to compare

Stable Build:

Changed the base of the Build to GE-Proton9-16 instead of GE-Proton9-15, all previous patches applied to Sarek9-15-r3 are now working on Sarek9-16, including the ones for WineD3D and the Global Proton Prefix. The release as usual comes with DXVK 1.10.3 and VKD3D 2.6.

This work is primarily to bring the new build in line with the older releases, but 9-16 will also come with new features. Specifically, it introduces some customs Proton parameters designed to squeeze every last bit of performance from your PC. How does it work? It’s simple when you call one of these parameters, it sets multiple environment variables aimed at boosting performance.

So, why aren’t these enabled by default?

Because many of these parameters act as "double-edged swords." While they can improve performance, they may also have trade-offs. For example, __GL_THREADED_OPTIMIZATIONS=1 and mesa_glthread=1 are usually helpful in CPU-bound applications but can reduce performance in games that rely on synchronous OpenGL calls. Other tweaks might affect the visual quality of a game or introduce instability. That’s why we’re offering these optimizations as optional settings instead of making them default, you get better performance, but there might be some compromises.

So far, the parameters added are:

  • PROTON_TWEAKS: Enables all other tweaks.
  • PROTON_TWEAKS_PROTON: Enables Proton/Wine-specific optimizations.
  • PROTON_TWEAKS_NVIDIA: Optimizations specifically for NVIDIA proprietary drivers.
  • PROTON_TWEAKS_MESA: Optimizations for Mesa drivers.

One of the reasons why we separate it its because you can perfectly lose performance on for example the NVIDIA part but win on the PROTON part, this its unusual but it can happen, so instead of PROTON_TWEAKS being the only option we decided to brake it down to various other parameters and that PROTON_TWEAKS call them all. Activate them its as simple as add Parameter_Name=1 as a parameter on the Steam Launch parameters, remember to write the %command% on the end :).

Stable Async Build:

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

Benchmarks:

Here are 2 benchmarks in witch i compare the performance of having PROTON_TWEAKS on and off:
AMD Benchmark
NVIDIA Benchmark (With Proprietary Drivers)

Release: