I got my Steam Deck 3 days ago and I just started exploring it. Given that I already have a large library of games on Epic Games, one of the first thing I did was installing the Heroic launcher. It worked well for some of the games (and not for others… like Hyper Light Drifter ;_; if someone knows how to configure it please help me). What I’m not understanding is: why do I need to have different proton versions installed for each game? Eg: one game requires GE 7.32 (what’s GE by the way???), another game version 7.45, another one 7.20 etc etc etc… Why? I already had the latest version (8.0) of proton installed on my Steam Deck, shouldn’t it be enough to run all other games being the latest version? 🫤

  • ShaunaTheDead@kbin.social
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    At it’s very basic, the only thing preventing Windows software from running on Linux is the order in which commands are called to start the program. What WINE (and Proton) do is reconfigure the order of command calls. Of course, it’s much more complicated than that because of proprietary third-party software like DLLs, DirectX, and .NET redistributables. The difficulty is increased by nearly all of these being closed source, and so, developers just have to make educated guesses at what’s going on behind the scenes much of the time.

    As for getting games working specifically with WINE and Proton, it’s nearly always better to run the game through a terminal window so you can see the logs output in real time. A lot of times, I find a big log at the start saying something like “{LIBRARY NAME} not found” or something along those lines, and simply installing the missing library through your package manager usually fixes the error. For example if it said “libssl errror” then try typing “sudo apt search libssl” and usually there will be a library literally called that letter for letter and install that, or try installing the closest candidate like maybe libssl3 or libssl-dev.

    So, the way to actually launch games through a terminal window is this. Substitute your actual steam path for {your steam path} in the following examples. Then you’d type ~/{your steam path}/steamapps/common/{the name of the proton version you want to run}/proton run ~/{the path to the .exe you want to run}/{the .exe you want to run}.exe.

    It’s as simple as that. You might immediately get an error saying KeyError: ‘STEAM_COMPAT_CLIENT_INSTALL_PATH’ or KeyError: ‘STEAM_COMPAT_DATA_PATH’.

    For STEAM_COMPAT_CLIENT_INSTALL_PATH, simply add or update the environment variable for that key by typing export STEAM_COMPAT_CLIENT_INSTALL_PATH=~/{your steam path}/compatibilitytools.d and for STEAM_COMPAT_DATA_PATH type export STEAM_COMPAT_DATA_PATH=~/{your steam path}/steamapps/compatdata

  • Badland9085@lemm.ee
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    You can force a specific Proton version on each game, though I’m not sure (off the top of my head at least) if that would help with not installing duplicates. Iirc best practice for using Wine for games is to have separate installations to avoid having conflicting dependencies, though I’m not sure if Steam does that.

    Also, GE is short for Glorious Eggroll, which is the name of the dev who creates custom Proton distributions. People refer to these distributions simply as Proton GE or just GE. Ref: https://github.com/GloriousEggroll/proton-ge-custom

  • ii7mood@beehaw.org
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    Proton updates can sometimes unintentionally break or introduce bugs and glitches for certain games in which case you can force the use of an older version of proton where the game works best.

    Most of the time though the latest version works fine. GE refers to a custom version of proton with community patches applied to faster than official proton releases.

    I have used my Steam Deck for roughly two weeks now so I might be wrong but personally the latest Proton version running games through Steam works perfectly fine.