Skip to content

[General / UX] Implement install pre-requisites #1381

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

Closed
flavioislima opened this issue May 27, 2022 · 12 comments
Closed

[General / UX] Implement install pre-requisites #1381

flavioislima opened this issue May 27, 2022 · 12 comments
Labels
feature-request New feature needs to be implemented. high priority

Comments

@flavioislima
Copy link
Member

Problem description

Several games (Borderlands, Bioshock) need some dependencies installed and normally they are under a Redist folder.
On Legendary we have the list of pre-requisites from the info command, so we could add a way to install them to improve compatibility.

Feature description

I believe for the first iteration we could have a new tab on the game page with the list of exes and then add a button that will call runWineCommand to install it on the prefix.

On a second iteration, we can think about installing all dependencies on the first launch on a new prefix just like Steam does.

Alternatives

No response

Additional information

No response

@flavioislima flavioislima added the feature-request New feature needs to be implemented. label May 27, 2022
@flavioislima flavioislima changed the title [General] Implement install pre-requisites [General / UX] Implement install pre-requisites May 27, 2022
@atirut-w
Copy link

Could this be the cause of Bioshock Remastered not launching at all?

@flavioislima
Copy link
Member Author

Might be, but for me even after installing then I needed to skip the launcher. And didn't work with proton, only with Wine-GE.

@alterNERDtive
Copy link

On Legendary we have the list of pre-requisites from the info command

How would one use that in practice? Because especially for older games it’s a royal PITA to figure out what versions of stuff they need or go scour years old forum posts scattered around the net for the information.

@imLinguin
Copy link
Member

For legendary pre-requisites are shipped with game files. It is rare though, as the only thing that uses that feature is anti cheat setup.

For prime gaming we support this already, like for Epic, binaries are bundled and are more common.

For GOG this is being implemented by #3020 - it has more steam like management. The redistributables are reused across games saving a bit of space

@alterNERDtive
Copy link

For legendary pre-requisites are shipped with game files.

I just came here after fiddling a while to get Alan Wake (the first one) to work. EGS copy. It clearly shipped without them. As in, no automatic installation of anything + no installers in the game folder.

Now, that might be an anomaly with this specific game and if you are on Windows and haven’t installed the stuff prior it won’t run either. I’m not knowledgable enough to know if that’s the case, just that i had to winetricks d3dcompiler_43 and d3dx9_36 manually to make it work.

@imLinguin
Copy link
Member

imLinguin commented Dec 11, 2023

pre-requisites are the .exe files that are set to be run after the game installation.

In Epic's case these mostly are not provided like I mentioned.
EGS usually requires them on its own so these are provided on Windows. Examples of such redists are: DirectX, MSVC2022 etc...

So with that game it's rather a norm than an anomaly. Epic's pre-requisites usually handle anti cheat setup only

@alterNERDtive
Copy link

OK. So is there a (feasible) way to automate this and get to a “just install and run” state?

Also, UX-wise, listing Proton and SteamDeck compatibility (with link(s) to ProtonDB) is quite irritating since Steam takes care of this. So you can have a “Platinum” compatibility rating with “no tinker steps necessary”, but it won’t run out of the box on Heroic.

How does Steam/Proton do that? I have no idea. But probably some brute force method that’s not feasible to do.

@arielj
Copy link
Collaborator

arielj commented Dec 11, 2023

OK. So is there a (feasible) way to automate this and get to a “just install and run” state?

The issue with this is that we need to have a list of known fixes for games, I started something myself at some point https://docs.google.com/spreadsheets/d/1qvM4HpYLrDCi69nejKF3NIbqxr3RJZV3qQM9mL0u2Y0/edit#gid=0

legendary's wiki has some info too https://github.com/derrod/legendary/wiki

and epiclinux wiki https://github.com/CommandMC/EpicLinux/wiki

also lutris install scripts can help find that information, but in my experience it have not worked that great

There's actually some work in progress to do that here #2176

Also, UX-wise, listing Proton and SteamDeck compatibility (with link(s) to ProtonDB) is quite irritating since Steam takes care of this. So you can have a “Platinum” compatibility rating with “no tinker steps necessary”, but it won’t run out of the box on Heroic.

I already added an issue about this problem #2887

How does Steam/Proton do that? I have no idea. But probably some brute force method that’s not feasible to do.

they keep track of specific fixes and install those fixes in the background, it's definitely feasible, but it's just not easy to come up with all those fixes (the steam people have access to all the games they need and way more resources, we depend on community provided information)

@alterNERDtive
Copy link

I figured it would be something along those lines.

Thanks for taking the time for this comprehensive reply!

@arielj
Copy link
Collaborator

arielj commented Dec 31, 2023

PRs related to this:

We should be able to close this once those PRs are merged

@arielj
Copy link
Collaborator

arielj commented Feb 13, 2024

Closing, GOG pre-requisites are now installed by default too

@arielj arielj closed this as completed Feb 13, 2024
@alterNERDtive
Copy link

Next step: being excited for ULWGL <3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request New feature needs to be implemented. high priority
Projects
None yet
Development

No branches or pull requests

5 participants