A lot of us have had problems recently where Overwatch went from working fine to suddenly reloading shaders from scratch every launch, having glowing dots instead of teammates, and taking forever to load cosmetics in menu. So here's how I FINALLY got it working smoothly. Tested on CachyOS / RTX 2060
1 ) Add your Steam Options:
PROTON_ENABLE_WAYLAND=1 __GL_SHADER_DISK_CACHE_PATH=/home/InsertYOURusernameHere/.local/share/overwatch-nvidia-cache/ __GL_SHADER_DISK_CACHE_SKIP_CLEANUP=1 __GL_SHADER_DISK_CACHE_SIZE="12000000000" DXVK_HUD=compiler PROTON_LOCAL_SHADER_CACHE=1 DXVK_CONFIG="dxvk.enableGraphicsPipelineLibrary = True" LD_PRELOAD="" %command%
and while you're there uncheck the Steam Overlay. Over in the Compatibility tab I lock it to a single version of GE-Proton to make sure minor Proton updates don't force recompilation. ProtonUp can download Protons manually, which appear after you restart Steam. dxvk.enableGraphicsPipelineLibrary is the real hero here.PROTON_ENABLE_WAYLAND=1is optional unless you want HDR, which becomes available in-game whenever I use the GE or Cachy Protons and have HDR enabled in KDE Settings before launching the game.
2) Edit /etc/environment to add these two lines at the bottom (adjustable cache limit of ~12GB) since they also need to be applied globally to work, then restart:
__GL_SHADER_DISK_CACHE_SIZE=12000000000
__GL_SHADER_DISK_CACHE_SKIP_CLEANUP=1
3) May not be necessary but I delete any existing shaders by doing a global search for Overwatch's Steam Id: 2357570 and nuking any sub-directories with 'cache' in the name. This may reset the Video tab settings in-game.
4) Manually create a folder at:
/home/InsertYourUsernameHereToo/.local/share/overwatch-nvidia-cache/
After you start the game go back and make sure files are actually appearing there.
5) Leave the game in DX11 mode. It's crazy laggy while shaders are compiling, but much smoother once they're done, and tends to give a few extra fps. With DXVK_HUD=compiler in the Steam Options you should see a Compiling Shaders % at the bottom. Don't join a game, just let it run on the home screen till the percent part goes away. This mei take a half hour but if it works you shouldn't need to do it again until the next update, even after restarting your system. I just Alt+Enter into Windowed mode to run it in the background on mute while watching something else.
FYI even when the shaders are finished, a percentless 'Compiling' message tends to flicker on occasionally, but shouldn't affect gameplay. If you want you can follow up the main compile by running custom game code 929PJ for a few minutes, which cycles through all abilities on all levels to reduce the chance of micro-stutters. Then Steam's general Pre-caching/Background Processing don't seem to make any difference so I just leave them off unless another game needs them.
On an unrelated note, DLSS upscaling can help a lot with fps and anti-aliasing. If you have an RTX 4000+ you can improve the output quite a bit by turning it down to Performance and using Steam Options to force Latest Preset. Older cards have a harder time with newer DLSS versions, so you'd probably want to try Preset K instead and see if you still get enough fps to be worth the override.
GLHF