Skip to content
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

Steamworks Common Redistributables dependencies are not installed #7

Closed
rea987 opened this issue Dec 29, 2018 · 2 comments
Closed

Steamworks Common Redistributables dependencies are not installed #7

rea987 opened this issue Dec 29, 2018 · 2 comments
Labels
bug Something isn't working

Comments

@rea987
Copy link

rea987 commented Dec 29, 2018

As I touched upon at #2 (comment) 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 #2 (comment), 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:

  • Proton 3.16-6 Gallium Nine Extras 0.1.1
  • Proton 3.16-6 Beta

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 popsUlfr added the bug Something isn't working label Dec 30, 2018
@popsUlfr
Copy link
Owner

popsUlfr commented Dec 30, 2018

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 ?

Proton/proton

Lines 431 to 439 in 7ba036a

if "galliumnine" in config_opts:
run_wine([wine_path, "reg", "add", "HKEY_CURRENT_USER\\Software\\Wine\\DllRedirects", "/v", "d3d9", "/d", "d3d9-nine.dll", "/f"])
if "PROTON_GALLIUM_NINE_MODULEPATH" in os.environ:
env["PROTON_GALLIUM_NINE_MODULEPATH"] = os.environ["PROTON_GALLIUM_NINE_MODULEPATH"]
elif not "PROTON_GALLIUM_NINE_MODULEPATH" in env:
env["PROTON_GALLIUM_NINE_MODULEPATH"] = "/usr/lib32/d3d/d3dadapter9.so.1:/usr/lib64/d3d/d3dadapter9.so.1"
run_wine([wine_path, "reg", "add", "HKEY_CURRENT_USER\\Software\\Wine\\Direct3DNine", "/v", "ModulePath", "/d", env["PROTON_GALLIUM_NINE_MODULEPATH"], "/f"])
else:
run_wine([wine_path, "reg", "delete", "HKEY_CURRENT_USER\\Software\\Wine\\DllRedirects", "/v", "d3d9", "/f"])

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 ecc05f1 fixes the issue ? I tested Titan Quest and it installs the dependencies correctly.

popsUlfr added a commit that referenced this issue Dec 30, 2018
To enable/disable gallium nine, the appropriate registry key is either
added or deleted. This will print a harmless error about the key not
existing. However this might be interpreted by steam as a failure and
thus will abort dependency installation.

Any output is forwarded to /dev/null now.

Should fix #6 and #7
@rea987
Copy link
Author

rea987 commented Dec 30, 2018

#7 (comment)

@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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants