Confused on Steam Play and Proton? Be sure to check out our guide.
We do often include affiliate links to earn us some pennies. See more here.

There's another release of the community-made compatibility layer GE-Proton with version 7-45 out now, and this one removes a popular patch to help game performance but there's a good reason for that.

When DXVK 2.0 released, the software that does the Direct3D 9 / 10 / 11 translation to Vulkan, it came with major changes to shader compilation. Thanks to pulling in support for the VK_EXT_graphics_pipeline_library extension, it allows it to compile the shaders when games load their D3D shaders, rather than at draw time — the result is that games should perform better and reduce the stutter.

To work with it, you do need updated drivers with the recommended versions being 520.56.06 for NVIDIA and 22.2 for Mesa (AMD / Intel). AMD RADV users need to use "RADV_PERFTEST=gpl" to enable it.

So, with it mostly taking over the job of the old dxvk-async patch, GE-Proton has removed it. Another reason though, as pointed out in the release notes, is that dxvk-async causes problems with the dxvk-cache and it seems the developer on dxvk-async no longer uses it either.

For those who still need it, for whatever reason, you can just use older versions of GE-Proton.

Need a primer on how to actually use GE-Proton? You can see my previous guide here but to save you clicking around the video and steps are below:

YouTube Thumbnail
YouTube videos require cookies, you must accept their cookies to view. View cookie preferences.
Accept Cookies & Show   Direct Link

Text Guide:

  • Download
    • Desktop: head to the official website, scroll down and pick your favourite download option either AppImage or Flathub.
    • Steam Deck: simply download ProtonUp-Qt from Discover in Desktop Mode (Steam Button -> Power - Switch to Desktop).
  • Load ProtonUp-Qt.
  • Make sure it's set to Steam at the top and select to install GE-Proton.
  • Reload Steam to update the compatibility layer list.
  • In Steam:
    • Desktop: right click a game and go to Properties.
    • Steam Deck: find the game in your library, go to the little COG on the right and then select Properties.
  • Compatibility menu -> Tick the box, select GE-Proton from the drop-down
Article taken from GamingOnLinux.com.
20 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly checked on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly.
See more from me
The comments on this article are closed.
12 comments
Page: «2/2
  Go to:

ripper81358 Jan 23, 2023
I never used dxvk-async because stuttering became more and more of a lesser issue for me. Having Shader-Prechaching and Vulkanshader-processing turned on in steam, reduced stuttering on my end very well. But after reading this article i decided to try out the VK_EXT_graphics_pipeline_library extension with my Radeon RX 6700 XT and the latest stable MESA Release. I used it with two very different games, i tried Doom Eternal (Vulkan API) and Tiny Tina's Wonderland (DirectX 12 API/Proton VK3D).

Doom Eternal worked flawless. Tiny Tina's Wonderland behaved very different. The time needed to load the game was much longer. I got heavy stuttering at the first run even in the game menu. After running the game a second time i noticed that the stuttering was now mostly gone.

The MESA implementation of VK_EXT_graphics_pipeline_library seems to be pretty underdeveloped at least on the stable branch. I guess this is the reason for it beeing still hidden behind the RADV_PERFTEST=gpl variable.


Last edited by ripper81358 on 23 January 2023 at 4:06 am UTC
Grogan Jan 24, 2023
"RADV_PERFTEST=gpl"

You know, I scoffed at that. Why would I not want that? So I set it globally in /etc/profile.d and I've been using it for some time (since mesa 22.3.0-rc) without issue with latest DXVK's and vkd3d-proton's. The only side effect is that on first use, some games sat with a black screen during load for several seconds, or simply took longer (e.g. Borderlands 3, during the dancing claptrap animation... it's compiling/optimizing DirectX 12 shader bytecode there). It was beneficial though, for initial shader compiles.

However, I ran into one game last night that I hadn't played in a while that absolutely will not load, Rage 2 (which uses a Vulkan renderer). It won't even draw anything, it just sits there in the "running" state in Steam until killed. I gave it a good 5 minutes, but something is waiting for something that's not coming.

RADV_PERFTEST="" %command%

on invocation that game then (or any others if I discover any, since there won't be many)

So it's for good reason, that the extension is still not being enabled by default, I guess.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.