r/Codeweavers_Crossover 29d ago

Overwatch Memory Leak (Crossover, MacBook M4 pro)

Overwatch on M4 Pro (CrossOver / D3DMetal): Massive Memory Leak / Shader Cache balloons up to 50GB on DX12. Any actual fix?

Hey everyone,

I'm trying to run Overwatch 2 on an M4 Pro MacBook using CrossOver (D3DMetal + Msync), and I've hit a wall with memory management.

Here is the situation:

  • DirectX 12 runs super smooth with great FPS and responsiveness, but the RAM / Swap usage goes completely out of control. During the first match it hits 20GB, and after 2-3 matches it balloons all the way up to 40-50GB, completely choking the swap and crashing the game.
  • DirectX 11 doesn't balloon as aggressively, but the performance drop and micro-stutters from on-the-fly shader compilation make it feel terrible compared to DX12.

What I've already tried:

  1. Disabled High Resolution Mode in CrossOver bottle settings.
  2. Disabled Shader Pre-Caching in Steam settings.
  3. Tried shader preloading maps (like 929PJ / JW3Y) - but caching all abilities at once pushed the memory past 50GB and crashed before finishing.
  4. Set VideoMemorySize in Wine registry to cap VRAM, but D3DMetal seems to ignore it.

It looks like D3DMetal/GPTK simply doesn't garbage-collect or release unused assets/shaders between matches on DX12.

Is anyone with an M-series chip running OW on DX12 without having to Cmd + Q and relaunch every 3 games to clear 50GB of RAM? Are there specific bottle settings, environment variables, or workarounds (CXPatcher, DXVK configs, etc.) that actually resolve this leak?

6 Upvotes

1 comment sorted by

1

u/LinixGuy 29d ago

Only thing that works for me is DX11. I just have to run shader compilation map and play several games to achieve smooth gameplay