popsUlfr / Proton

Compatibility tool for Steam Play based on Wine and additional components. Gallium Nine with some extras.
Other
50 stars 1 forks source link

Steamworks Common Redistributables dependencies are not installed #7

Closed rea987 closed 5 years ago

rea987 commented 5 years ago

As I touched upon at https://github.com/popsUlfr/Proton/issues/2#issuecomment-449777838 for Dungeon Defenders II earlier, games with Steamworks Common Redistributables do not install said dependencies automatically as they should.

Installers of those dependencies are shipped within a folder named _CommonRedist in installation directory.

https://steamdb.info/depot/228981/ https://steamdb.info/app/228980/depots/

https://partner.steamgames.com/doc/features/common_redist

Expected behavior is automatic installation during the first launch.

ekran goruntusu 2018-12-29 13-06-02

However that doesn't happen with the custom Proton builds that this project ships. As I checked with uninstaller function of Winetricks, no additional dependency is installed. Disabling Gallium Nine doesn't help; either dependencies should be installed manually as I pointed out in https://github.com/popsUlfr/Proton/issues/2#issuecomment-449777838, or following method should be applied:

Switch to vanilla Proton > Restart Steam client > Launch the game, dependencies will be installed > Quit the game > Switch to Proton with Gallium Nine > Restart Steam client > Properly launch the game with Gallium Nine

Launch argument: PROTON_USE_GALLIUM_NINE=1 PROTON_GALLIUM_NINE_MODULEPATH="/usr/lib/i386-linux-gnu/d3d/d3dadapter9.so.1:/usr/lib/x86_64-linux-gnu/d3d/d3dadapter9.so.1" PROTON_NO_D3D11=1 GALLIUM_HUD=simple,fps PROTON_LOG=1 %command%

Proton builds:

Games I tested which use Steamworks Common Redistributables:

Dungeon Defenders II: (x64) https://store.steampowered.com/app/236110/ https://steamdb.info/app/236110/depots/ https://www.protondb.com/app/236110

A launcher window opens, when Play is clicked, an error related with DirectX appears and the game doesn't launch. Switching to vanilla Proton to automatically install dependencies, then switching back to Gallium Nine makes the game launch and play properly.

Clean prefix with Gallium Nine first launch: DD2_before_steam-236110.log

After switching to vanilla Proton to automatically install dependencies, then switching back to Gallium Nine: DD2_after_steam-236110.log

Sins of a Solar Empire: Rebellion: https://store.steampowered.com/app/204880/Sins_of_a_Solar_Empire_Rebellion/ https://steamdb.info/app/204880/depots/ https://www.protondb.com/app/204880

A launcher window opens, when Play is clicked, an error appears and the game freezes in black screen which is needed to be killed to quit. Switching to vanilla Proton to automatically install dependencies, then switching back to Gallium Nine makes the game launch and play properly.

Clean prefix with Gallium Nine first launch: SSER_before_steam-204880.log

After switching to vanilla Proton to automatically install dependencies, then switching back to Gallium Nine: SSER_after_steam-204880.log

Titan Quest Anniversary Edition: https://store.steampowered.com/app/475150/Titan_Quest_Anniversary_Edition/ https://steamdb.info/app/475150/depots/ https://www.protondb.com/app/475150

No text in the main menu. Switching to vanilla Proton to automatically install dependencies, then switching back to Gallium Nine makes text in the main menu available.

Clean prefix with Gallium Nine first launch: TQAE_before_steam-475150.log

After switching to vanilla Proton to automatically install dependencies, then switching back to Gallium Nine: TQAE_after_steam-475150.log

Sine Mora EX: https://store.steampowered.com/app/606730/Sine_Mora_EX/ https://steamdb.info/app/606730/depots/ https://www.protondb.com/app/606730

Fails to launch with Gallium Nine. Switching to vanilla Proton to automatically install dependencies, then switching back to Gallium Nine makes the game launch properly.

Clean prefix with Gallium Nine first launch: SMEX_before_steam-606730.log

After switching to vanilla Proton to automatically install dependencies, then switching back to Gallium Nine: SMEX_after_steam-606730.log

Blood of the Werewolf: https://store.steampowered.com/app/260250/Blood_of_the_Werewolf/ https://steamdb.info/app/260250/depots/ https://www.protondb.com/app/260250

DirectX isn't installed with Gallium Nine build, the game launches regardless but performs poorly. Switching to vanilla Proton to automatically install dependencies, then switching back to Gallium Nine increases the performance of the game.

Clean prefix with Gallium Nine first launch: BotW_before_steam-260250.log

After switching to vanilla Proton to automatically install dependencies, then switching back to Gallium Nine: BotW_after_steam-260250.log

Company of Heroes: https://store.steampowered.com/app/228200/Company_of_Heroes/ https://steamdb.info/app/228200/depots/ https://www.protondb.com/app/228200

DirectX isn't installed with Gallium Nine build, the game launches regardless but performs somewhat okay. Switching to vanilla Proton to automatically install dependencies, then switching back to Gallium Nine increases the performance of the game.

Clean prefix with Gallium Nine first launch: COH_before_steam-228200.log

After switching to vanilla Proton to automatically install dependencies, then switching back to Gallium Nine: COH_after_steam-228200.log

System specs: https://gist.github.com/rea987/cfe3ac222c4cddfb29c3a3a45456812d

popsUlfr commented 5 years ago

Thank you for the write up :)

It is weird, it seems like the client does not launch the installscript for the game with custom proton builds ? I'll have to double check with a vanilla custom build of 3.16-6

@rea987 Could you comment this section in the proton script ? https://github.com/popsUlfr/Proton/blob/7ba036ae9ff4f768c5b6bc1a8a4ebcbf52b4e7bc/proton#L431-L439

And check if the dependencies get installed this time ? I guess I need to suppress the output of these commands...

@rea987 Can you confirm that https://github.com/popsUlfr/Proton/commit/ecc05f16def0f3d4524139ea03e22e1809917e05 fixes the issue ? I tested Titan Quest and it installs the dependencies correctly.

rea987 commented 5 years ago

https://github.com/popsUlfr/Proton/issues/7#issuecomment-450562789

@popsUlfr As I've just tried "Proton 3.16-6 Gallium Nine Extras 0.1.1" with new proton script on clean prefixes, Titan Quest Anniversary Edition (x86) and Dungeon Defenders II (x64) did properly install Steamworks Common Redistributables dependencies. I double checked with uninstaller function of Winetricks and the dependencies were indeed installed. Thanks!