Valve has a new Steam Chart for the most played Steam Deck games

MentalEdge@sopuli.xyz to Steam Deck@sopuli.xyz – 131 points –
Valve has a new Steam Chart for the most played Steam Deck games
gamingonlinux.com
21

You are viewing a single comment

It is. In fact at launch it ran better than on high end windows PCs because linux handles directx shaders better.

I think it was actually, because the game stuttered when compiling shaders on PC. Valve then precompiled all the shaders for the steam deck and delivered those via the steam client.

Digital Foundry video on the topic

Yes. But Valve didn't do anything special. They provide pre-compiled shaders for all games on the deck and can only do so because of how directx shaders are handled on linux.

All games on linux and windows when using DX12/Vulkan must compile shaders. They should be compiled during loading screens and such, not gameplay, then cached for use later.

Elden Ring in particular, didn't precompile shaders before gameplay, and then when it did compile them, it would discard the shaders rather than cache them. As a result the stutter would happen non-stop and never go away.

On linux, the equivalent compiled vulkan shaders are cached by VKD3D, eliminating the stutter except when a shader is used for the first time. On the deck, Valve will deliver the shaders precompiled with the game download to eliminate the need to compile them at all.

The fix of providing precompiled shaders was only possible on linux due to the use of VKD3D. And even without them, on linux the stutter would go away after a while as VKD3D will cache them even when the game doesn't. Fromsoft had to update the game to fix it from their side on windows.

There was a code change to proton to remove stutters in ER

There were apparently several, now that I look into it. I didn't know that.

They seem to try to mitigate other issues, like asset streaming and other general bad practices in the code of the game.

It seems there are many things wrong with how Elden Ring was coded.