Skip to content

Experimental diagnostic capture for Steam Runtime install#57

Open
weter11 wants to merge 9 commits into
mainfrom
experimental-diagnostic-capture-14406602374170507055
Open

Experimental diagnostic capture for Steam Runtime install#57
weter11 wants to merge 9 commits into
mainfrom
experimental-diagnostic-capture-14406602374170507055

Conversation

@weter11

@weter11 weter11 commented Jun 26, 2026

Copy link
Copy Markdown
Owner

This PR adds a temporary, experimental diagnostic capture mode for the Windows Steam Runtime install/management flow. It is designed to help root-cause setupapi failures during file copy operations on Proton-derived Wine builds.

Key features:

  • Opt-in via STEAMFLOW_DIAGNOSE_INSTALL=1 environment variable.
  • Configures verbose WINEDEBUG specifically for the installer/runtime process.
  • Redirects all process output to a timestamped log file in the application's log directory.
  • Isolated from normal game launch paths to prevent any side effects on general usage.
  • All modified functions are explicitly marked as EXPERIMENTAL DIAGNOSTIC for easy cleanup.

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

- Implements `STEAMFLOW_DIAGNOSE_INSTALL=1` opt-in flag.
- Captures verbose `setupapi` and `file` Wine traces during Master Steam
  install/repair.
- Redirects stdout/stderr to a dedicated log file in the `logs` directory.
- Isolates diagnostic logic to `src/launch/diagnostics.rs`.
- Ensures zero behavioral impact when the flag is not set.
- Marked with mandatory header comments for easy identification and
  reversion.

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.

google-labs-jules Bot and others added 8 commits June 26, 2026 11:47
- Implements STEAMFLOW_DIAGNOSE_INSTALL=1 diagnostic mode.
- Adds "Open Logs" button to Settings window.
- Integrates webbrowser crate for opening local directories.
- Ensures diagnostic logic is isolated and marked as experimental.

Co-authored-by: weter11 <14630689+weter11@users.noreply.github.com>
- Implements STEAMFLOW_DIAGNOSE_INSTALL=1 gated diagnostic capture.
- Configures WINEDEBUG=+user32,+desktop,+win,+x11drv as requested.
- Captures installer and background Steam output to timestamped log files.
- Adds "Open Logs" button to Settings window for easy log access.
- Marked with EXPERIMENTAL DIAGNOSTIC comments for easy removal.
- Zero impact on normal usage when the diagnostic flag is unset.

Co-authored-by: weter11 <14630689+weter11@users.noreply.github.com>
- Implements STEAMFLOW_DIAGNOSE_INSTALL=1 gated diagnostic capture.
- Configures WINEDEBUG=+process,+module,+loaddll,+msi,+shell.
- Redirects installer and background Steam output to timestamped logs.
- Adds "Open Logs" button to Settings for easy trace access.
- Marked with EXPERIMENTAL DIAGNOSTIC comments for easy removal.
- Verified byte-for-byte identical behavior when flag is unset.

Co-authored-by: weter11 <14630689+weter11@users.noreply.github.com>
- Implements STEAMFLOW_DIAGNOSE_INSTALL=1 gated diagnostic capture.
- Configures WINEDEBUG=+loaddll for focused troubleshooting.
- Redirects installer and background Steam output to timestamped logs.
- Adds "Open Logs" button to Settings window for easy log access.
- Marked with EXPERIMENTAL DIAGNOSTIC comments for easy removal.
- Verified byte-for-byte identical behavior when flag is unset.

Co-authored-by: weter11 <14630689+weter11@users.noreply.github.com>
- Implements STEAMFLOW_DIAGNOSE_INSTALL=1 gated capture.
- Configures WINEDEBUG=+process,+seh,+msi,+setupapi,+heap,+file.
- Captures installer and background Steam output to timestamped log files.
- Adds "Open Logs" button to Settings window for easy log access.
- All changes isolated and marked for easy reversion.

Co-authored-by: weter11 <14630689+weter11@users.noreply.github.com>
- Implements STEAMFLOW_DIAGNOSE_INSTALL=1 gated capture.
- Configures WINEDEBUG=+process,+setupapi,+shell for focused troubleshooting.
- Redirects installer and background Steam output to timestamped logs.
- Adds "Open Logs" button to Settings window for easy log access.
- Strictly isolated and marked with EXPERIMENTAL DIAGNOSTIC comments.
- Formally verified via build, test, and diff evidence.

Co-authored-by: weter11 <14630689+weter11@users.noreply.github.com>
- Implements STEAMFLOW_DIAGNOSE_INSTALL=1 gated diagnostic capture.
- Configures WINEDEBUG=+process,+file,+dll,+setupapi.
- Captures installer and background Steam output to timestamped log files.
- Adds "Open Logs" button to Settings window for easy log access.
- Strictly isolated and marked with EXPERIMENTAL DIAGNOSTIC comments.
- Formally verified via build, test, and diff evidence.

Co-authored-by: weter11 <14630689+weter11@users.noreply.github.com>
- Implements `STEAMFLOW_DIAGNOSE_INSTALL=1` gated capture for installs.
- Adds `src/launch/diagnostics.rs` with JSON-configurable `WINEDEBUG` params.
- Redirects stdout/stderr to `logs/install_diagnose_<timestamp>.log`.
- Replaces "Open Logs" button with "Open Config Folder" in Settings UI.
- Includes `examples/debug_parameters.json`.
- Zero behavioral impact when the diagnostic flag is unset.

Co-authored-by: weter11 <14630689+weter11@users.noreply.github.com>
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