Add files required for compatibility with Steam #25
+38
−20
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.
This is a basic implementation of Steam compatibility for ULWGL, discussed in #24.
This is partly motivated by my own laziness, as it would allow my existing code to easily discover ULWGL in the same way it looks for other tools provided by or compatible with Steam. My code parses the vdf files to discover and configure thr execution of these tools.
There are two files describing the compatibility tool:
compatibilitytool.vdf
, which is useful if ULWGL is installed under.local/share/Steam/compatibilitytools.d
ulwgl.vdf
, which can be installed in.local/share/Steam/compatibilitytools.d
and allows Steam to use ULWGL from the.local/share/ULWGL
path. I used the relative path as I don't know if Steam expands environment variables such as$HOME
.If it is possible, it might be a better option to use an absolute path.I doesn't seem to be possible.Some unknowns:
"compatmanager_layer_name" "container-runtime"
because this is in fact a container runtime. Other possible values here. I don't know if these values have some other special meaning to Steam. It also works with this option commented out. It might be entirely possible to set it to some static arbitrary value to aid discoverability too."use_tool_subprocess_reaper" "1"
I do not know if this is related toreaper
and how the inclusion ofreaper
in ULWGL might affect it.Examples:
I tested two games with it, a steam game and an epic game, both had
GAMEID=0
because they do not have a protonfix.@R1kaB3rN This uncovered in bug in
ulwgl-run.py
, which is handled in 29827d0.ulwgl-run
might be called from anywhere outside the project directory, soPath.cwd()
didn't work. Even if this PR doesn't make it through, this should be fixed.Also, please take a look at 68bcb6a. It uses the way other steam tools pass the verb as the first argument. I hastily solved it by checking the arguments and assigning
PROTON_VERB
if it wasn't already assigned. If you would like to see a different way to handle it, just tell me. It could also be merged like this and be improved later.