solarpunk
Verified
Download JSON
Improve this profile
- Layer
- D3DMetal
- Windows
- win10
- Sync
- msync
- DXVK
- false
- AVX
- false
- Executables
- solarpunksteam-win64-shipping.exe, solarpunk.exe
- Winetricks
- vcrun2019, vcrun2022
- Launch args
- -NO_EOS_OVERLAY -windowed -ResX=1280 -ResY=720
- Unreal project
- Solarpunk
Notes
WORKS. Measured 4 Sep 2026 00:24-00:27: loads /Game/Maps/MainLevel, renders 998+ frames, plays, and exits cleanly with 'LogExit: Exiting.' UE5, D3DMetal, adapter reports 'AMD Compatibility Mode'. TWO SETTINGS ARE LOAD-BEARING, both found by measurement. (1) avxEnabled FALSE. With it true the game dies instantly with EXCEPTION_ILLEGAL_INSTRUCTION - twice. avxEnabled sets ROSETTA_ADVERTISE_AVX=1; the game then emits an AVX instruction Rosetta will not run. Satisfactory keeps AVX on and is fine, so this is per-title. (2) -windowed. Without it, d3dmetal reached frame 1 and died with EXCEPTION_ACCESS_VIOLATION writing 0x980. Note r.setres:1280x720 was already set in the crashing run, so the resolution is not what fixed it - the windowed viewport is. Fullscreen swapchain creation is the fragile path here: DXVK failed the same operation outright with D3D11Util.cpp:249 CreateSwapChainResult E_FAIL. RULED OUT, do not re-add: -dx11 is a no-op (the game already defaults to D3D11 - a run with an empty command line logged 'Using Default RHI: D3D11'). DXVK is worse than d3dmetal here (no swapchain at all). DXR is irrelevant, ray tracing is off by project setting r.RayTracing=0. RED HERRINGS: 'LogRenderer: Forcing update for all mesh draw commands: SkyLight change' was the last line before the crash and is NOT the cause - it also appears at frame 908 and during clean shutdown. The 'invalid ShaderMap' / 'uncooked shader map' errors are noise; the engine runs well past them. Steam's 'Visual C++ 2015-2022 Redistributable' dialog is a FALSE NEGATIVE from the small Solarpunk.exe prereq shim: the redist is installed (VC\\Runtimes\\x64 Installed=1, Version v14.51.36247.00). LAUNCH PATH: d3dmetal runs the game EXE directly, which bypasses that shim. dxvk/dxmt go via steam.exe -applaunch, where STEAM picks the exe and picks the shim - use `wyn play solarpunk --direct` on those layers. PERFORMANCE, measured 5 Sep: D3DMetal gives 119.7 fps median (n=27 min) where DXVK gave 45.4 (n=138 min) on identical settings - 2.6x. Both at ~576x324 (1280x720 at r.ScreenPercentage 45). Zero hitches logged in 36 min with t.HitchFrameTimeThreshold=33.3. DXVK also wrote 126,296 err/warn lines during play (63,141 x VK_KHR_EXTERNAL_MEMORY_WIN32 not supported); D3DMetal wrote no layer log at all. THE TRAP: a d3dmetal profile silently runs on DXVK if the bottle's wineserver is already up on the frankea tree - WINEDLLOVERRIDES d3d11=b means BUILTIN, and builtin is D3DMetal only in the game-host tree; on frankea the bottle's own native DXVK d3d11.dll wins. Check the adapter, never the profile: D3DMetal reports 'AMD Compatibility Mode' (0x1002), DXVK reports 'NVIDIA GeForce 6800' (0x10de). VSYNC: the game exposes no frame limiter and FrameRateLimit=40 in GameUserSettings is not honoured; with vsync off it runs 117-120 fps on a 100 Hz panel, with vsync on it locks to exactly 100.0. Tools/ue-session-report.py produces all of these numbers.
Environment
WINEDLLOVERRIDES | d3d11,dxgi,d3d12,d3d10,atidxx64,nvapi64,nvngx=b |
|---|---|
MTL_HUD_ENABLED | 0 |
D3DM_ENABLE_METALFX | 0 |
D3DM_ENABLE_ASYNC_COMMIT | 0 |
D3DM_SHOW_HUD_STATS | 0 |
Agents: GET /api/v1/profiles/solarpunk.json or GET /api/v1/games/solarpunk.json.