Special K: Add toggle for installing d3dcompiler_47#932
Merged
Conversation
This can cause crashes on some systems if used, particularly if used with ReShade, so this toggle allows a user to choose whether they want this feature.
Owner
Author
|
Fixed a few edge case issues identified in testing. Will do some testing with ReShade+SpecialK, and if that works, I will bump the langfiles and merge. |
Owner
Author
|
Interesting, the crash I was having no longer occurs with the newer Mesa version and newer GE-Proton versions, but it could re-occur I suppose. I think this option is still useful to have, though, just in case. |
Owner
Author
|
Looks like SpecialK DLLs were not exported properly in some cases, fixed that. |
Owner
Author
|
Tested with SpecialK and it works, it also works with SpecialK+ReShade. Pending a langfile update, this should be good to merge. |
Owner
Author
|
Done! |
Owner
Author
|
SpecialK wiki page was updated as well. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Final piece of #894, though quite minor and seems to only affect me.
Overview
This PR implements a toggle for installing
d3dcompiler_47.dllfor Special K. This DLL can cause crashes on some systems if used, particularly if used with ReShade, so this toggle allows a user to choose whether they want this DLL and they can turn it off if it causes a game crash.The goal here is to provide an optional way to use
d3dcompiler_47to prevent this crash. In testing it seems that Valve Proton requires this DLL, but GE-Proton and Proton-tkg will crash with it, possibly due to differences in patches and so on. Users can use this option in combination with a Proton version change, so the hope is this feature provides even more flexibility for tinkering.To make clear: This only applies for Special K! ReShade is not relevant here, as I have not seen a case where the DLL causes a crash when present.
Implementation
The existing
installd3d47code will skip installing the DLL if the file exists, unconditionally. Even if SteamTinkerLaunch didn't install it (i.e. it's not tracked inSpecialK_enabled.txt). So if this DLL already exists in the game files, such as with the XCOM 2 launcher, we would not install it.If the DLL already exists in the game files, we will use that, otherwise we'll install it ourselves. When the checkbox is disabled, we will remove the DLL only if we were the ones that installed it (if it's in
SpecialK_enabled.txt).TODO: