protonscr

Install Steamworks Common Redistributables for every game

protonclosed
ValveSoftware/Proton#5027 · opened 2021-07-29 by ArtyIF · updated 2021-07-30 · 2 comments · github
AArtyIF 2021-07-29 github

Feature Request

I confirm:

  • [x] that I haven't found another request for this feature.
  • [x] that I have checked whether there are updates for my system available that
    contain this feature already.

Description

For some reason some games like The Witcher 2 refused to launch for me (and apparently others) until I installed a game that downloads Steamworks Common Redistributables. After that the needed first-time setup programs were installed and the game worked properly.

I can assume they won't download because that game already has a native Linux port. If that's the case, then the redistributables need to be downloaded even if there's a native Linux port of the game as long as the game runs through Proton.

Justification [optional]

This feature is more Steam-related than Proton or Wine, but there's native Linux games on Steam and they don't need it

Risks [optional]

More disk space for Proton required

References [optional]

#2309 (refused to launch until I installed another game that did install redistributables)

Kkisak-valve maintainer 2021-07-29 github

Hello @ArtyIF, you may have encountered an uncommon bug with Steam and Steamworks Common Redistributables which should be pondered.

That said, there's something fundamentally wrong with this feature request. When Steamworks Common Redistributables was added to Steam, it extracted game-bundled installers and put them in a common folder so that duplicates could be removed and save storage. The individual game devs still chose what specific installers they want used on the first run of the game, and Steam updates the Steamworks Common Redistributables folder to include the installers that used to be separately bundled with a bunch of games.

This feature request reads like a request for every Windows redist installer under the sun to be pushed into every wineprefix for every game run with Proton. That's not healthy or beneficial.

Instead, the most interesting thing to figure out is what specific installer in the Steamworks Common Redistributable set was missing for The Witcher 2, and reliable steps to reproduce the issue so that a Steam devs can try to reproduce the issue you encountered. If you do figure that out, then please add a note to #2309 with your findings.

RRuedii 2021-07-30 github

The redistributables install fine, but it seems Wine overrides them on occasion.

I think it would be nice to have a simple variable that causes Proton to attach a tiny script to all redistributable installers (even ones in the game directory) to mark to use native libraries on those instead of builtins excluding a short list of blacklisted libraries. (Something like "PROTON_USE_NATIVE_DLLS")

Basically, this should switch the dll list to keep a minimal list of dlls that should always be builtin, and default to native.

I'll make this a separate report if recommended. (or someone else can)

Launch options