Skip to content

Fix CrossOver thread-state initialization for Metaphor startup - #63

Merged
NotProtonNot merged 1 commit into
NotProtonNot:mainfrom
woahitsraj:rajan/fix-crossover-thread-state-initialization
Oct 8, 2026
Merged

NotProtonNot merged 1 commit into
NotProtonNot:mainfrom
woahitsraj:rajan/fix-crossover-thread-state-initialization

Conversation

@woahitsraj

Copy link
Copy Markdown
Contributor

Metaphor: ReFantazio crashes at startup under NotProton 1.1.0 with CrossOver 26.3, while the same game files and audio mod work through CrossOver. The failure is a read of 0x8FF at METAPHOR.exe+0x10ED299, immediately after reading the active fiber through GS:0x20.

CrossOver's launch wrapper initializes CX_APPLEGPTK_LIBD3DSHARED_PATH even when D3DMetal is not selected. NotProton calls Wine directly and omits this initialization. Set the path when the selected runner contains libd3dshared.dylib, and forward it through the open --env game-launch path. This restores CrossOver's initialization without a game-specific workaround or a new dependency.

Validation:

  • Applying the same environment fix to the installed runner let Metaphor reach its title screen. The user confirmed working audio with the existing audio-fix mod; its log also recorded successful spatial-audio wrapper and stereo WASAPI initialization.
  • The added envcheck cases fail before the fix and pass afterward. They check an absent library, helper inheritance, and forwarding a path containing spaces as one launcher argument.
  • Passed make envcheck routecheck buildcheck settingscheck bridgecheck gamedrivecheck seedcheck.
  • Passed make runcheck scriptcheck with ShellCheck 0.11.0, plus git diff --check.

Live verification used Apple Silicon macOS 27.0.1 and CrossOver 26.3.0.39832. A full application bundle was not rebuilt; the startup fix was verified in the installed compatibility runner.

@NotProtonNot

Copy link
Copy Markdown
Owner

Thank you. I don't own this game, does the demo have the same issue? Thank you very. much for the PR, I'll look/validate/merge.

@NotProtonNot

Copy link
Copy Markdown
Owner

Issue verified, thank you for the fix. I'll go look and make sure I didn't miss anything related.

@NotProtonNot
NotProtonNot merged commit 9f73d7c into NotProtonNot:main Oct 8, 2026
@NotProtonNot

Copy link
Copy Markdown
Owner

Thank you again for finding the issue, identifying what the cause was (me being stupid) and fixing it :)

@woahitsraj

Copy link
Copy Markdown
Contributor Author

Thank you for this project! It's so nice to be able to launch Windows games directly from MacOs native Steam

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.

2 participants