Skip to content
Mathias Kowoll edited this page Aug 21, 2026 · 33 revisions

Cutscenes that crash, or stay black, in Windows games running under CrossOver on Apple Silicon — what causes it, which games are affected, and how to find out about a game that is not listed yet.

The tooling lives in MortalShell2MacFix.

The two failure modes

They look different and have nothing in common except the symptom.

The crash. Unreal's Electra media player asks every D3D12 resource for ID3DDestructionNotifier and uses the answer without checking whether it got one. Apple's D3DMetal does not implement that interface, so the first VP9 frame dereferences a null vtable and the game dies. H.264 and H.265 can avoid the buffer pool through a CVar; VPx has no equivalent, so VP9 on D3D12 has no way out through configuration.

→ Fixed. See Games for which titles this applies to.

The black screen. The game reaches the cutscene, shows nothing, and does not crash. Something in the media stack returned an error the game swallowed. There is no crash log to read, so it has to be traced.

→ Under investigation on DYNASTY WARRIORS: ORIGINS.

Is my game affected?

The thing that matters is what the cutscenes are encoded as and which API plays them. survey-games.sh reports both for a game folder:

diagnostics/survey-games.sh "/path/to/steamapps/common/<Game>"

Reading the output:

  • VP9 + Unreal — the crash. Run the fix.
  • VP9 + anything else — possible, but a different mechanism each time.
  • Bink (.bik / .bk2) — Bink ships its own decoder and never touches Media Foundation or D3D video. Not affected by any of this.
  • H.264 — normally fine, provided CrossOver is patched with winevideo.

Two caveats on the survey. It reads Unreal .pak indexes but only version 11 unencrypted ones, so a title using anything else reports zero videos when it may have hundreds. And a game that packs its movies in a proprietary archive is invisible to it — 0 means "none found loose or in a readable pak", never "no videos".

Pages

Clone this wiki locally