• MentalEdgeOP
    link
    fedilink
    arrow-up
    43
    ·
    edit-2
    5 months ago

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

      • MentalEdgeOP
        link
        fedilink
        arrow-up
        21
        ·
        edit-2
        5 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
            arrow-up
            3
            ·
            5 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.