Games
Satisfactory
Coffee Stain Publishing · Steam 526870 · Verified
Results depend on your Mac, macOS, Wyn version, and game version. Read each profile’s notes before using it.
How to use or share a profile
Download the JSON to keep a copy of the launch settings. Your Wyn agent can inspect it and apply the profile. Test it on your Mac before treating it as compatible.
To contribute an improvement, choose “Improve this profile”, update the settings and notes, then submit for review. Uploading here does not change your installed Wyn profiles.
- Layer
- D3DMetal
- Windows
- win10
- Sync
- msync
- DXVK
- false
- AVX
- true
- Executables
- factorygamesteam.exe, factorygame.exe, factorygamesteam-win64-shipping.exe, factorygame-win64-shipping.exe
- Winetricks
- vcrun2019, vcrun2022
- Launch args
- -NO_EOS_OVERLAY -dx11 -USEALLAVAILABLECORES -Nosplash -ResX=1280 -ResY=720
- Unreal project
- FactoryGame
Notes
Launch args: -NO_EOS_OVERLAY -dx11 -USEALLAVAILABLECORES -Nosplash -ResX=1280 -ResY=720 (Steam LaunchOptions; was wrongly matched to -NOTEXTURESTREAMING earlier). D3DMetal 3.0. Crash-avoidance (not taste): MetalFX=0, D3DM_ENABLE_ASYNC_COMMIT=0, HUD off. MetalFX on crawls ~0.1–2 fps then RHIThread SIGILL in D3DMCommandQueue::ExecuteCommandLists; MetalFX off alone also SIGILL'd. wyn play waits 120s after quit (D3DMetal GPU settle). Leftover CrashReportClient does not block Play once the game EXE is gone. avxEnabled stays true — next knob if this trio still SIGILLs.
Environment
WINEDLLOVERRIDES | d3d11,dxgi,d3d12,d3d10,atidxx64,nvapi64,nvngx=b |
|---|
MTL_HUD_ENABLED | 0 |
|---|
D3DM_SHOW_HUD_STATS | 0 |
|---|
D3DM_ENABLE_METALFX | 0 |
|---|
D3DM_ENABLE_ASYNC_COMMIT | 0 |
|---|
Agents: GET /api/v1/profiles/satisfactory.json or GET /api/v1/games/satisfactory.json.
- Layer
- DXMT
- Windows
- win10
- Sync
- msync
- DXVK
- false
- AVX
- true
- Executables
- factorygamesteam.exe, factorygame.exe, factorygamesteam-win64-shipping.exe, factorygame-win64-shipping.exe
- Winetricks
- vcrun2019, vcrun2022
- Launch args
- -dx11 -USEALLAVAILABLECORES -Nosplash -ResX=1280 -ResY=720
- Unreal project
- FactoryGame
Notes
REJECTED 5 Aug: DXMT loads Apple M4 FL11_1 then RHIThread assert TOptional<FTimestampCalibration> unset (UE D3D11RHI). Factory Crash Reporter. Keep for science; use satisfactory (D3DMetal) to play. RE-TEST BEFORE TRUSTING THAT REJECTION: it was measured against the June DXMT, whose DLLs were built with meson's wine_builtin_dll default of true. Those are stamped 'Wine builtin DLL' at offset 0x40, so Wine's load_builtin() rewrote =n,b into =b,n and searched the tree first — a run recorded as DXMT on that build may have been D3DMetal all along. Solarpunk failed the same way and then ran clean on a v0.80 build made with -Dwine_builtin_dll=false (6 Sep, see solarpunk-dxmt). Check the 'Chosen D3D11 Adapter' line before recording any result here.
Environment
WINEDLLOVERRIDES | dxgi,d3d11,d3d10core=n,b |
|---|
MTL_HUD_ENABLED | 0 |
|---|
Agents: GET /api/v1/profiles/satisfactory-dxmt.json or GET /api/v1/games/satisfactory.json.
- Layer
- D3DMetal
- Windows
- win10
- Sync
- esync
- DXVK
- false
- AVX
- true
- Executables
- factorygamesteam.exe, factorygame.exe, factorygamesteam-win64-shipping.exe, factorygame-win64-shipping.exe
- Winetricks
- vcrun2019, vcrun2022
- Launch args
- -NO_EOS_OVERLAY -dx11 -USEALLAVAILABLECORES -Nosplash -ResX=1280 -ResY=720
- Unreal project
- FactoryGame
Notes
Science (6 Aug): freeze Time Profiler dominated by msync_wait_objs. A/B esync-only (no WINEMSYNC).
Environment
WINEDLLOVERRIDES | d3d11,dxgi,d3d12,d3d10,atidxx64,nvapi64,nvngx=b |
|---|
MTL_HUD_ENABLED | 0 |
|---|
D3DM_ENABLE_METALFX | 0 |
|---|
D3DM_SHOW_HUD_STATS | 0 |
|---|
Agents: GET /api/v1/profiles/satisfactory-esync.json or GET /api/v1/games/satisfactory.json.
- Layer
- D3DMetal
- Windows
- win10
- Sync
- msync
- DXVK
- false
- AVX
- true
- Executables
- factorygamesteam.exe, factorygame.exe, factorygamesteam-win64-shipping.exe, factorygame-win64-shipping.exe
- Winetricks
- vcrun2019, vcrun2022
- Launch args
- -NO_EOS_OVERLAY -NoMultiplayer -dx11 -USEALLAVAILABLECORES -Nosplash -ResX=1280 -ResY=720
- Unreal project
- FactoryGame
Notes
Science (6 Aug): Instruments freeze showed FGClientQuerySocketThread in NtWait/msync. -NoMultiplayer disables EOS multiplayer per Coffee Stain FAQ — test if that removes the waiter.
Environment
WINEDLLOVERRIDES | d3d11,dxgi,d3d12,d3d10,atidxx64,nvapi64,nvngx=b |
|---|
MTL_HUD_ENABLED | 0 |
|---|
D3DM_ENABLE_METALFX | 0 |
|---|
D3DM_SHOW_HUD_STATS | 0 |
|---|
Agents: GET /api/v1/profiles/satisfactory-nomp.json or GET /api/v1/games/satisfactory.json.
- Layer
- D3DMetal
- Windows
- win10
- Sync
- none
- DXVK
- false
- AVX
- true
- Executables
- factorygamesteam.exe, factorygame.exe, factorygamesteam-win64-shipping.exe, factorygame-win64-shipping.exe
- Winetricks
- vcrun2019, vcrun2022
- Launch args
- -NO_EOS_OVERLAY -dx11 -USEALLAVAILABLECORES -Nosplash -ResX=1280 -ResY=720
- Unreal project
- FactoryGame
Notes
Science (6 Aug): freeze in msync/server waits. A/B with enhancedSync none (neither WINEMSYNC nor WINEESYNC).
Environment
WINEDLLOVERRIDES | d3d11,dxgi,d3d12,d3d10,atidxx64,nvapi64,nvngx=b |
|---|
MTL_HUD_ENABLED | 0 |
|---|
D3DM_ENABLE_METALFX | 0 |
|---|
D3DM_SHOW_HUD_STATS | 0 |
|---|
Agents: GET /api/v1/profiles/satisfactory-nosync.json or GET /api/v1/games/satisfactory.json.
- Layer
- D3DMetal
- Windows
- win10
- Sync
- msync
- DXVK
- false
- AVX
- true
- Executables
- factorygamesteam.exe, factorygame.exe, factorygamesteam-win64-shipping.exe, factorygame-win64-shipping.exe
- Winetricks
- vcrun2019, vcrun2022
- Launch args
- -NO_EOS_OVERLAY -dx11 -USEALLAVAILABLECORES -Nosplash -ResX=1280 -ResY=720
- Unreal project
- FactoryGame
Notes
Same launch args as satisfactory plus ASYNC_COMMIT. Sit still 60s after navmesh quiet; Metal HUD. After: Tools/analyze-satisfactory-perf.sh.
Environment
WINEDLLOVERRIDES | d3d11,dxgi,d3d12,d3d10,atidxx64,nvapi64,nvngx=b |
|---|
MTL_HUD_ENABLED | 0 |
|---|
D3DM_ENABLE_METALFX | 0 |
|---|
D3DM_SHOW_HUD_STATS | 0 |
|---|
D3DM_ENABLE_ASYNC_COMMIT | 0 |
|---|
Agents: GET /api/v1/profiles/satisfactory-perf.json or GET /api/v1/games/satisfactory.json.