Skip to content

fix: preserve Steam CEF wrappers on x86_64 - #777

Merged
aaf2tbz merged 1 commit into
metalsharp:mainfrom
ultima9:fix/steam-cef-x86-776
Nov 12, 2026
Merged

aaf2tbz merged 1 commit into
metalsharp:mainfrom
ultima9:fix/steam-cef-x86-776

Conversation

@ultima9

@ultima9 ultima9 commented Nov 12, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes #776.

Restores Steam's CEF compatibility-wrapper behavior for MetalSharp's x86_64/Rosetta 2 backend following the November 2026 Steam client update.

The current backend restores Steam's original steamwebhelper.exe before launch, removing the compatibility wrapper installed by Fix Steam. This results in repeated WineDbg crashes and a CEF initialization failure (target_services.cc(121)).

Changes

  • Preserve Steam's CEF compatibility flags and DLL overrides on x86_64.
  • Prevent restoration of the original Steam webhelpers on x86_64.
  • Re-enable wrapper-readiness checks for x86_64.
  • Keep FEX-specific behavior unchanged.

All changes are scoped to app/src-c/runtime/steam_actions.c.

Testing

Environment: Base M4 Mac mini (16 GB), macOS Tahoe 26.7.3, MetalSharp 1.1.0, x86_64/Rosetta 2.

  • make -C app/src-c — passed.
  • make -C app/src-c test — reported test suites passed; runtime-ready simulation skipped because bundle archives were unavailable.
  • Started the compiled patched backend independently and verified it was the active backend process.
  • Invoked POST /steam/launch using its Unix socket; received HTTP 200 OK.
  • Confirmed Steam opened successfully and its signed-in Library interface rendered without the previous WineDbg crash loop.
  • Confirmed the compatibility wrappers, original webhelper executables, and .ms_wrapper_deployed markers remained present in cef.win64, cef.win7, and cef.win7x64.

FEX behavior was not separately tested.

Scope

This PR specifically addresses the x86_64 backend. The FEX-side regression requires a separate fix, as discussed in #776.

@ultima9
ultima9 requested a review from aaf2tbz as a code owner November 12, 2026 19:27
@ultima9

ultima9 commented Nov 12, 2026

Copy link
Copy Markdown
Contributor Author

Additional testing confirmation: I created a separate MetalSharp 1.1.0 application bundle with the patched backend, re-signed it locally, and launched it normally through the macOS GUI.

Using the standard Start Steam button now successfully launches Steam, and the Steam Store renders correctly without the previous WineDbg crash loop.

This confirms the patch works not only through the backend's direct API endpoint but also through the normal MetalSharp GUI startup workflow on my M4 Mac mini (macOS Tahoe 26.7.3, x86_64/Rosetta 2).

@aaf2tbz

aaf2tbz commented Nov 12, 2026

Copy link
Copy Markdown
Collaborator

Tysm!!

@aaf2tbz
aaf2tbz merged commit adcd591 into metalsharp:main Nov 12, 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.

Start Steam removes working CEF wrapper, causing WineDbg crash loop

2 participants