HeroicGamesLauncher
HeroicGamesLauncher copied to clipboard
[General / UX] Implement install pre-requisites
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
Could this be the cause of Bioshock Remastered not launching at all?
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.
On Legendary we have the list of pre-requisites from the
infocommand
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.
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
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.
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
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.
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)
I figured it would be something along those lines.
Thanks for taking the time for this comprehensive reply!
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
Closing, GOG pre-requisites are now installed by default too
Next step: being excited for ULWGL <3