Skip to content

Split background-Steam runner from game runner with Rhai fixups#49

Closed
weter11 wants to merge 1 commit into
mainfrom
decouple-runners-fixups-2620471683436948321
Closed

Split background-Steam runner from game runner with Rhai fixups#49
weter11 wants to merge 1 commit into
mainfrom
decouple-runners-fixups-2620471683436948321

Conversation

@weter11

@weter11 weter11 commented Jun 21, 2026

Copy link
Copy Markdown
Owner

This PR decouples the runner used for hosting the background Windows Steam client from the one used for the game itself. It ensures that background Steam is always invoked via bare Wine, even when a Proton tree is selected, avoiding interference from Proton's bootstrap logic.

For game launches, it maintains natural Proton fixups for real Proton trees and introduces a new Rhai-based scripting layer for plain Wine or stripped Proton builds. This allows per-AppID environment variables, DLL overrides, and logging actions to be applied before launch.

Key changes:

  • classify_runner in src/utils.rs to distinguish between Proton and Wine.
  • ResolveGameFixupsStage in src/launch/stages/ for Rhai script execution.
  • Updated WineTkgRunner to implement the decoupled invocation logic.
  • Embedded Rhai interpreter and initial seed scripts for games like Fallout 3/NV and Skyrim.

PR created automatically by Jules for task 2620471683436948321 started by @weter11

- Implemented `RunnerKind` classification for Proton and Wine.
- Decoupled background Steam process to always use bare Wine.
- Added Rhai-based fixup mechanism for non-Proton game launches.
- Integrated Rhai fixup stage into the launch pipeline.
- Added seed fixup scripts for popular games.
- Updated UI with validation warnings for Steam Runtime runner.
- Extended logging and verification for fixup tracking.

Co-authored-by: weter11 <14630689+weter11@users.noreply.github.com>
@google-labs-jules

Copy link
Copy Markdown
Contributor

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@weter11 weter11 closed this Jun 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant