• MentalEdgeOP
      link
      fedilink
      21
      edit-2
      6 months ago

      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.

        • MentalEdgeOP
          link
          fedilink
          36 months ago

          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.