• SuperIce@lemmy.world
    link
    fedilink
    English
    arrow-up
    98
    arrow-down
    3
    ·
    11 months ago

    I don’t think there would be any real benefit to this over DXVK and VKD3D

    • 520@kbin.social
      link
      fedilink
      arrow-up
      78
      arrow-down
      1
      ·
      edit-2
      11 months ago

      The main use case of this is in porting. So if someone wanted to make a native port of their game, this library would make it potentially much easier.

      • SuperIce@lemmy.world
        link
        fedilink
        English
        arrow-up
        29
        arrow-down
        2
        ·
        11 months ago

        But why this instead of DXVK or VKD3D? Those can just as easily be integrated.

        • angrymouse@lemmy.world
          link
          fedilink
          arrow-up
          18
          arrow-down
          3
          ·
          edit-2
          11 months ago

          Both use wine iirc, Op is talking about applications written directly for Linux.

          Edit: im wrong

          • SuperIce@lemmy.world
            link
            fedilink
            English
            arrow-up
            55
            ·
            11 months ago

            Wine uses VKD3D and DXVK, not the other way around. People have even used DXVK on Windows to improve performance in certain situations.

              • Atemu@lemmy.ml
                link
                fedilink
                arrow-up
                19
                arrow-down
                1
                ·
                11 months ago

                There is no such thing as “directly” DX. The drivers of the major GPU vendors on Windows must also implement DX ontop of their internal abstractions over the hardware.

                While Vulkan will theoretically always have more “overhead” compared to using the hardware directly in the best possible manner, the latter isn’t even close to being done anywhere as it’s not feasible.

                Therefore, situations where a driver implemented atop of VK being faster than a “native” driver are absolutely possible, though not yet common. Other real-world scenarios include Mesa’s Zink atop of AMD’s Windows VK driver being much better than AMD’s “native” OpenGL driver, leading to a dev studio of an aircraft sim shipping it in a real game.

              • 520@kbin.social
                link
                fedilink
                arrow-up
                4
                ·
                edit-2
                11 months ago

                IIRC the main DXVK dev does this for debugging purposes.

                As to why it might be faster, it depends on the DX implementation and what it’s being transformed into. If the original DX implementation, especially pre-DX12, is wasteful in terms of instructions, and DXVK knows of a better way to do the exact same thing in Vulkan, it can potentially offset the translation costs.

              • SimplyTadpole@lemmy.dbzer0.com
                link
                fedilink
                English
                arrow-up
                2
                ·
                11 months ago

                Besides speed, it’s also really useful for older games with unstable graphics renderers that don’t play nice with modern hardware. When I was still on Windows, I used DXVK on Fallout: New Vegas and Driver: Parallel Lines, and they decreased crashes by a LOT compared to when they ran on native DX9.

                In terms of speed, obviously I didn’t notice much of a difference with D:PL since it’s a 2006 game that’s not demanding at all, but I did notice F:NV seemed to also run better and less laggy in general (not only is FNV poorly-optimized, but I also use a lot of graphics mods for it).

              • Kekin@lemy.lol
                link
                fedilink
                arrow-up
                2
                ·
                11 months ago

                I used DXVK for Dragon’s Dogma on Windows because it ran better overall, vs Directx 9 which the game uses natively.

                This was on an AMD Rx 6800 xt