Skip to content

Warn when D3DMetal is chosen on the FEX build - #4

Closed
LaganYT wants to merge 1 commit into
NotProtonNot:mainfrom
LaganYT:fix/d3dmetal-fex-warning
Closed

LaganYT wants to merge 1 commit into
NotProtonNot:mainfrom
LaganYT:fix/d3dmetal-fex-warning

Conversation

@LaganYT

@LaganYT LaganYT commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

Fixes #3

Problem

Selecting D3DMetal on the FEX build of CrossOver silently runs the game on a different backend. The FEX build's cxcompatdb.so only treats D3DMetal as usable when CX_ENABLE_ARM_D3DM=1, and logs d3dmetal was set as the graphics backend but it is unusable otherwise. Setting that flag wouldn't help: every D3DMetal file in the runner (D3DMetal.framework, libd3dshared.dylib, the x86_64-unix .so files and PE DLLs) is x86_64-only, and the FEX build's Wine is a native arm64 process. Nothing tells the user, so the game just looks wrong (see #3).

Change

  • compat_run.sh: new warn_d3dmetal_on_fex, run right after refuse_foreign_prefix. When the runner is the FEX build and CX_GRAPHICS_BACKEND=d3dmetal:
    • logs a line to notproton-run.log on every launch
    • shows a one-time alert per prefix (marker file notproton-d3dmetal-fex-warned) pointing at the Rosetta build, or DXMT/DXVK
    • skips the alert for the run verb, matching refuse_foreign_prefix
  • README: notes that D3DMetal is Rosetta-only.

Testing

  • sh -n, make compatcheck and make all pass (shellcheck isn't installed locally, so make runcheck skipped the lint)
  • Ran the function with osascript stubbed: it alerts once for FEX with D3DMetal, stays quiet for DXMT, Automatic, the Rosetta build and the run verb, and logs every FEX + D3DMetal launch
  • Not yet exercised in a live Steam launch

D3DMetal ships only for x86_64, so the FEX build's cxcompatdb reports it
as unusable and silently falls back to another backend. Log it on every
launch and show a one-time alert per prefix pointing at the Rosetta
build, and note the limitation in the README.
@NotProtonNot

Copy link
Copy Markdown
Owner

Thank you! I will review this and merge it in today, along with the other outstanding PR.

@LaganYT

LaganYT commented Sep 25, 2026

Copy link
Copy Markdown
Contributor Author

You're welcome, thanks.

@LaganYT LaganYT closed this Sep 28, 2026
@LaganYT
LaganYT deleted the fix/d3dmetal-fex-warning branch September 28, 2026 02:58
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.

Doesn't Start With D3DM

2 participants