Disclaimer: as you may or may Not Tell I’m Not the Most knowledgable about proton.

So i noticed there are few games where you can switch out graphics APIs when launching or in the ingame settings. One of the examples that come to my mind Off the top of my head is peak Where you can choose via Launch between dx11/12 and vulkan

I know That Proton is Software that translates directx api calls to vulkan for Max Performance. So I’m wondering whether it even would make Sense to switch the graphics api to vulkan if proton already seems to fully Support dx11/12? Or whether proton is still going to think the games are directx and do some weird translation stuff?

  • highball@lemmy.world
    link
    fedilink
    English
    arrow-up
    8
    ·
    15 hours ago

    That’s what I do. If you use Vulkan, then there is nothing to translate and it’s just a 1 for 1 call. Plus, if the game is taking telemetry to see what people are using, you definitely want them to see more Vulkan usage.

  • ColdWater@lemmy.ca
    link
    fedilink
    English
    arrow-up
    5
    ·
    16 hours ago

    Vulkan should be faster, but only one way to find out is install mangohud and check the performance yourself sometime rarely the games has bad native vulkan implementation and translating from DX to vulkan maybe faster.

  • KiwiTB@lemmy.world
    link
    fedilink
    English
    arrow-up
    21
    ·
    24 hours ago

    Vulkan is faster than DX and since no conversion is needed there maybe less load on your system to use it. Often it’ll be better, but just try and see.

  • neidu4@piefed.social
    link
    fedilink
    English
    arrow-up
    6
    ·
    20 hours ago

    Yes. Vulkan is crossplatform, dx is not, so that’s one thing less for proton to interpretation for you.

  • UntimedDiffusion@piefed.zip
    link
    fedilink
    English
    arrow-up
    14
    arrow-down
    1
    ·
    23 hours ago

    Just to clear up some terminology, Proton is a fork of Wine which is used to translate a Windows exe into a Linux readable program. DXVK is what translates D3D into Vulkan (fun fact: it’s not Linux specific, it can be done on Windows)

    I’ve never actually played a Windows version of a game using Vulkan, but I believe Proton would be able to tell and use your system’s native version of Vulkan. I say try it out and tell us how it goes

    • INeedMana@piefed.zip
      link
      fedilink
      English
      arrow-up
      14
      ·
      23 hours ago

      I don’t intend to overly nit-pick, but since OP said themselves they are new to this: Wine doesn’t translate the exe. It translates system calls from Windows ones to Linux ones. So to have an example: opening a file would be some system call in both systems. But, of course, different because the OSes are different. An exe would be calling Windows one. What WINE/Proton do is get that call and translate it into Linux system call, so that .exe can still open a file, as if it was running in Windows

      As for OPs question: AFAIK when using dx11 you will still in the end be using Vulkan, just through DXVK (as this comment said, translates dx calls into Vulkan calls). Theoretically setting to use Vulkan in the game itself might have less overhead (no DXVK in the middle) but it’s a mixed bag in my experience. I think that Windows Vulkan support is just not yet there, so the in-game code for Vulkan is so-so.
      I second this: you have to check on which setting each game works better

      • dgdft@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        10 hours ago

        Linux cannot natively run the .exe binary format (Portable Executable).

        WINE handles mapping the bytecode into a structure Linux can use, and it’s fair to call that translation. Translating syscalls is WINE’s biggest functionality but not its only one.

  • Hond@piefed.social
    link
    fedilink
    English
    arrow-up
    8
    ·
    23 hours ago

    I’d say it really depends on the game. But generally: yes.

    To be clear Proton translates DX API calls to Vulkan so it works at all under Linux. But dxvk (directx to vulkan) is also a thing on Windows and can improve performance. Mostly because DX11 and older versions tended to be a lot more CPU bound. Prominent example would be GTA4 which to this date runs like ass out of the box even on the most potent gaming hardware. With dxvk it gets a lot better.

    With that said i came across a few games over the years which just had a shitty or broken Vulkan implementation and using/translating DX was just better.

    But if you really care, just try it out? Be sure to have some kind of performance overlay open like the Steam one or MangoHud. Play the game a few minutes with Vulkan and a few minutes with DX11. Maybe you see a bit more FPS, less utilization/powerdraw, better 1% lows, less stuttering, etc. Maybe its insignificant. Hard to tell beforehand without testing. But if you dont see or feel an issue in the first place you also could just ignore the technical specifics and just play the game.

  • snoons@lemmy.ca
    link
    fedilink
    English
    arrow-up
    2
    ·
    18 hours ago

    Try it out. Sometimes it’s faster to use dx, others vulkan is the obvious choice. IMO it depends on what state the development is in but that might not always be true.

    Satisfactory for the longest time had vulkan listed as experimental, same with Deadlock. Now I’ve set both to Vulkan because it just runs better.