HeroicGamesLauncher icon indicating copy to clipboard operation
HeroicGamesLauncher copied to clipboard

[General / UX] Implement install pre-requisites

Open flavioislima opened this issue 3 years ago • 2 comments

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 avatar May 27 '22 09:05 flavioislima

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

atirut-w avatar May 27 '22 13:05 atirut-w

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.

flavioislima avatar May 29 '22 16:05 flavioislima

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.

alterNERDtive avatar Dec 11 '23 00:12 alterNERDtive

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

imLinguin avatar Dec 11 '23 07:12 imLinguin

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.

alterNERDtive avatar Dec 11 '23 21:12 alterNERDtive

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

imLinguin avatar Dec 11 '23 21:12 imLinguin

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.

alterNERDtive avatar Dec 11 '23 22:12 alterNERDtive

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 https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/pull/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 https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/issues/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)

arielj avatar Dec 11 '23 22:12 arielj

I figured it would be something along those lines.

Thanks for taking the time for this comprehensive reply!

alterNERDtive avatar Dec 11 '23 22:12 alterNERDtive

PRs related to this:

  • https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/pull/3364 (legendary prerequisites)
  • https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/pull/3020 (gog prerequisites)
  • https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/pull/3335 (known winetricks fixes)

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

arielj avatar Dec 31 '23 02:12 arielj

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

arielj avatar Feb 13 '24 18:02 arielj

Next step: being excited for ULWGL <3

alterNERDtive avatar Feb 13 '24 18:02 alterNERDtive