Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ship prebuilt Proton/Wine to avoid Steam #12

Closed
p4block opened this issue Mar 4, 2023 · 2 comments
Closed

Ship prebuilt Proton/Wine to avoid Steam #12

p4block opened this issue Mar 4, 2023 · 2 comments
Assignees

Comments

@p4block
Copy link

p4block commented Mar 4, 2023

I've always been using my own crappy script to run the game. Just recently discovered this repo, which outclasses it greatly in many aspects.

Here:
https://gist.github.com/p4block/8d947f85fa707b433af359a699b367fb

Needing Steam to download Proton is not necessary, specially with GOG support now Steam is a thing that is not a given. The big issue is host dependency. The list of packages the user needs to install may grow big without Steam, and normal Proton just isn't supposed to be run in the first place without the Steam Runtime. There are prebuilt protonified wine tars out there, haven't really investigated it much, just used the first one that I found.

Putting the script in .faforever/bin and pointing the client to it gets you a working game, mostly. The latest DXVK version has working effects without the need for the configfile.
I recently upgraded Proton from 5.13 to 7.0.6 and I'm not getting in-game videos running somehow. It's a minor problem, but it is there.

Ideally, eventually, somehow, we get the script(s) into the java client and just let people play oneclick. It annoys me that the client would be the 99th instance of software implementing what PlayOnLinux/Lutris/Heroic/Bottles do, but tbh it's not much code.

@iczero
Copy link
Member

iczero commented Mar 5, 2023

One of the things I've wanted to do is to move the entire thing into container image(s), somewhat similar to how the Steam Runtime does it. That could solve a lot of the annoying issues relating to the environment such as library versions being wrong. This isn't exactly foolproof, notably because graphics libraries are pretty finicky, but it could help. The Steam Runtime uses bwrap and their own runtime named pressure-vessel (https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/blob/main/docs/container-runtime.md) which seems to deal with some of this so we could look into using that. Code related to the Steam Runtime is permissively licensed.

The script already supports running the game without Steam, but that bit isn't yet documented or tested. Doing BYPASS_STEAM=1 GAME_PATH="/path/to/FA" WINE_PATH="/path/to/wine" ./setup.sh should in theory be enough to set things up without Steam.

The script currently defaults to Proton Experimental as that (in my experience) generally results in fewer problems. It may be better to directly pin to a prebuilt version of Proton though.

There are a lot of client integration features to be desired. The client updater on Linux is currently entirely nonfunctional. It may be better to rewrite these scripts in Python for better user experience.

@iczero iczero changed the title Ship prebuilt Proton/Wine to avoid Steam Switch to the Steam Runtime May 13, 2024
@iczero iczero self-assigned this May 13, 2024
@iczero iczero changed the title Switch to the Steam Runtime Ship prebuilt Proton/Wine to avoid Steam May 13, 2024
@iczero
Copy link
Member

iczero commented May 13, 2024

Will open new issue for Steam Runtime

@iczero iczero closed this as completed May 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants