Split Steam runtime and game runner routing#50
Merged
Merged
Conversation
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.
Motivation
proton runscript so Proton's bundled protonfixes run naturally, and provide a fallback fixup mechanism for plain Wine/wine-tkg.Description
RunnerKind) andclassify_runner+validate_steam_runtime_runner_pathinsrc/utils.rs, including unit tests exercising Proton/plain-Wine/Unknown cases and the 6-row support-matrix routing decisions.WineTkgRunner::prepare_prefixto never fall back to the game runner: it now resolves a wine-tkg/plain Wine runner or extracts and invokes Proton's bundledwine64directly for background Steam (bare wine invocation), and surfaces clearLaunchErrorfor unknown/missing cases.proton rununchanged, while plain Wine / Proton-without-protonfixes uses bare wine and runs the new Rhai fixup layer; merged fixup outputs (env and DLL override fragments) into the final environment/overrides inwine_tkgrunner.src/launch/fixups/mod.rswithFixupContext/FixupResult, seed scripts (3–5 examples),ResolveGameFixupsStagein the pipeline, and wiring toPipelineContext/RunnerLaunchContextso results are applied before final command construction.protonfixes_routed: boolandrhai_fixup_applied: Option<String>inLaunchVerificationand included these fields in the concise launch summary metadata; added a small UI validation warning for Steam Runtime Runner pointing at unknown paths.rhai = { version = "1", features = ["sync"] }toCargo.tomland included unit tests for the fixup loader (including malformed-script handling).Testing
cargo test -q, and all new and existing unit tests passed (tests exercisedclassify_runner, Rhai fixup loader including malformed-script behavior, and runner routing logic).cargo build --release -qin this CI-like environment but the build process timed out before completion; no compiler errors were emitted during the work that produced these changes.cargo test.Codex Task