Releases: jungwuk-ryu/switchyard-wine
Release list
Switchyard Wine Runtime 34a09170d37
Highlights
- Restore Overwatch 2 startup by permitting generated Windows code to become executable in Wine's reserved address spaces on no-preloader macOS builds.
- Keep the reserved Mach-O segments read/write initially while allowing
VirtualProtectto add execute permission when Windows applications request it.
Validation
- The executable-memory regression test passed and verified executable maximum protections on both reserved segments.
- Overwatch 2.23.1.1 (build 151722.1; executable 2.23.1.20650) reached the logged-in main menu with GPTK 4.0 beta 1 supplied externally.
- TLS HTTP, native callback exception dispatch, fresh-prefix, Developer ID signature, and Apple notarization checks passed.
Runtime
- Source revision:
34a09170d3754522dc55416617c6754dd2d9a086 - Runtime ID:
switchyard-local-wow64-x86_64-34a09170d375-no-gptk-b4525679e7da-9245db166022-37a4f0cfb0fb-4fbf9011be92-1b749a3204a2-b40553c5dc41-62f8fecd4b11 - Host architecture:
x86_64; PE architectures:i386,x86_64 - Apple notarization:
Accepted(0aa334f4-57c7-4be7-a673-cb730757c930)
The runtime archive contains Switchyard Wine only. Switchyard combines it with a user-supplied Game Porting Toolkit installation at runtime.
Switchyard Wine Runtime 88ca753ede98
Highlights
- Restore Chromium Embedded Framework content through a generic, ABI-gated windowless-rendering fallback, including the Epic Games Store surface.
- Route host input methods through TSF and implement the supporting text-editing services.
- Add static spatial-audio rendering and Windows power-information queries.
- Correct D3D12 narrow-float clears and preserve font links across family substitutions.
- Scope backend-specific AMD interfaces and synthetic GPU data to the configurations that require them.
Validation
- Source integrity passed for revision
88ca753ede989a12a747aef7e7785d390c38b6d2. - Epic Games Launcher 20.1.6-56134335 signed-in Store rendering and input were verified on this revision.
- The signed runtime passed fresh-prefix, TLS, WoW64 large-address-aware, and assertion-logging smoke tests.
- Apple notarization status:
Accepted(e804acf1-49ac-4375-ad00-3202122d6c6a).
Runtime
- Source revision:
88ca753ede989a12a747aef7e7785d390c38b6d2 - Archive SHA-256:
16a74d0be3916eabbfe410c34a497aae10b6ac443d1a56fe39167947f77ed87d - Archive size:
771368383bytes
The runtime archive contains Switchyard Wine only. Switchyard combines it with a user-supplied Game Porting Toolkit installation at runtime.
Switchyard Wine Runtime 499b1b79c11
Highlights
- Prevent progressive D3D12 frame-rate degradation during long play sessions by replacing fixed descriptor, resource, and timestamp tracking tables with dynamically allocated keyed tracking.
- Release per-object tracking state at final COM release and reuse callback vtable clones without narrowing existing COM identities, preventing unbounded VM mapping growth.
Validation
- Extended GTA V Enhanced Story Mode play remained stable without the previously observed progressive frame-rate collapse.
- D3DMetal D3D12 callback, descriptor-churn, resource-reuse, and Chromium GPU fallback probes passed with GPTK 4.0 beta 1 supplied externally. The post-churn descriptor benchmark completed at 0.85x the warm-up interval.
- TLS HTTP, WoW64 large-address-aware, assertion logging, source integrity, fresh-prefix, Developer ID signature, and Apple notarization checks passed.
Runtime
- Source revision:
499b1b79c110181572510d2269abaf3810b71ae6 - Runtime ID:
switchyard-local-wow64-x86_64-499b1b79c110-no-gptk-b4525679e7da-9245db166022-37a4f0cfb0fb-4fbf9011be92-1b749a3204a2-b40553c5dc41-62f8fecd4b11 - Host architecture:
x86_64; PE architectures:i386,x86_64 - Apple notarization:
Accepted(46474c92-dece-4b47-855c-6a18d83a90b7)
The runtime archive contains Switchyard Wine only. Switchyard combines it with a user-supplied Game Porting Toolkit installation at runtime.
Switchyard Wine Runtime 9a822257b1f2
Changes
- Relocates shared native callback thunks to a dedicated high-address, top-down region so late D3D12 command-queue methods can be hooked reliably.
- Keeps general native callbacks on the existing low-address, bottom-up allocation path to preserve GPTK 3 compatibility.
- Fixes the bundled GPTK tests to run with the system Bash 3.2 included with macOS.
Validation
- Visually confirmed the GTA V Enhanced Story Mode selection screen on both GPTK 3 and GPTK 4.
- Confirmed that the Rockstar Games Launcher library screen renders without becoming transparent.
- Confirmed that Steam remains open after its update check and displays the signed-in Store page.
- Confirmed body rendering on
example.comin Windows Chrome 150.0.7871.184. - Passed GPTK 3/4 D3D12 smoke tests and regression tests for native callback exception handling, DXGI cross-process shared resources, TLS, WoW64 LAA, AMD AGS, the Steam overlay, and WGL.
GTA V Enhanced was launched with -nobattleye for Story Mode validation. Online modes that require BattlEye were outside the scope of this validation.
Distribution
This archive does not contain non-redistributable Apple GPTK or D3DMetal files. Switchyard combines it with a GPTK 3 or GPTK 4 installation supplied by the user.
- Source revision:
9a822257b1f2660254d38e0443db474b989d7b78 - SHA-256:
5333b44a580c36baa079d6eefe497dc68b0947632775bb0ad61f2054053e74e1 - Apple notarization:
Accepted - Notarization ID:
7b5686dd-a160-4448-bcfb-fbbc5f165046
Switchyard Wine Runtime 1917e45cc0a6
Changes
- Keeps shared D3D12 command-queue callback thunks in the low 32-bit compatibility range, preventing GTA V Enhanced from remaining indefinitely in loading state 6 at “Initializing”.
- Preserves Windows exception dispatch while returning from native D3DMetal callbacks, including nested callback unwinds.
- Adds GPTK 4 callback ABI support while retaining the GPTK 3 path, and stabilizes D3D12 callback caching, timestamp readback, Agility SDK proxying, and Chromium graphics fallback.
- Adds AMD AGS/ADL compatibility modules, WDDM 2.7 capability reporting, optional macOS MSync synchronization, additional Steam overlay hotpatch support, and a selectable Mesa llvmpipe OpenGL backend.
Validation
- Entered GTA V Enhanced Story Mode through
PlayGTAV.exe -nobattleyeon both GPTK 3.0 and GPTK 4.0 beta 1 runtimes. - Rechecked Steam, Terraria, Poppy Playtime, RV There Yet?, Battle.net, Overwatch, KakaoTalk, Blender, and Rockstar Games Launcher on the GPTK 4 runtime.
- Passed the Wine-only runtime regression suite and launched Epic Games Launcher 20.1.5 with Mesa llvmpipe.
- Signed with Developer ID and accepted by Apple notarization (
884c3b89-2978-4c39-979d-759f20538d57).
The downloadable runtime contains no Apple Game Porting Toolkit files. GPTK 3 or GPTK 4 overlays must be supplied separately by the user.
Archive SHA-256: d6e04dd3758be99fefa13f4db197f9a1c3f3b496f2d3c57ab031b143da261999
Switchyard Wine Runtime eeb99326c247
Changes
- Prevents Steam and Chromium/CEF windows from turning white during window moves, surface recreation, and popup or hover-menu updates.
- Hosts foreign compositor surfaces and layers in native views, preserves their pixel formats, and restores compositor layers when content views change.
- Improves foreign-surface presentation by waking remote layer hosts, keeping partial presents on the OpenGL path, waiting for command-stream progress, and pacing frames.
- Bridges native D3D12 object callbacks and falls back to a D3D11 device for Direct2D DC render targets.
- Guards stale 32-bit Rosetta returns, preserves activation-context lookup results, and corrects
WS_EX_COMPOSITEDpaint processing. - Hides windowless helper processes from the Dock.
Switchyard Wine Runtime 34fb5abd4109
Changes
- Fixes writable shared PE image mappings on macOS, resolving the Heartopia
themis_x64.dll.mdatafailure. - Implements the
Windows.System.DispatcherQueueactivation factory required by Heartopia. - Adds missing server and DLL APIs exercised by Steam.
- Bridges native D3DMetal/DXGI callbacks for Chromium and CEF web textures, and stabilizes adapter callbacks.
- Preserves cycle-time reporting for exited processes and propagates XAudio2 mastering-voice creation failures.
Switchyard Wine Runtime b21d80bd0b83
Initial release
This first Switchyard runtime release contains every downstream change from the pinned WineHQ base through this tag.
Highlights
- Adds Apple x86_64 native callback bridges, TEB/TSD and stack preservation, PE-region registration, WoW64 transition recovery, and macOS exception handling for native graphics interoperability.
- Builds the Chromium/CEF compatibility path across foreign Win32 surfaces, remote Core Animation layers, DirectComposition roots and popups, cross-process hosting, input routing, sandbox profiles, and GPU fallback.
- Improves Vulkan, OpenGL, Direct3D, DirectComposition, layered-window alpha, partial presentation, texture readback, renderer selection, and client-drawn window behavior on macOS.
- Adds targeted Windows API and application compatibility fixes for manifests, RPC, networking, cryptography, media, setup, text scaling, performance counters, and Unity runtimes.
- Integrates macOS behavior for Command-C/Command-V, fullscreen focus, default audio-device changes, Dock and system-tray icons, registered URL protocols, and multilingual font fallback.
- Establishes source verification and a standalone Wine-only runtime workflow with redistributable TLS, Vulkan/MoltenVK, font dependencies, code signing, and notarized archive generation.
Complete changelog
All 163 downstream commits
2a3c9f842ekernelbase: Remember process mitigation policies.6ff3c344c6conhost: Keep usable font metrics when font selection fails.8dec1bbd2bkernelbase: Accept component filter process attributes.2943d27a14win32u: Enable host Vulkan portability enumeration.42f6d7c975win32u: Enable host Vulkan portability subset.6f9210cefantdll: Export x64 __wine_unix_call thunk.7087e5c719kernelbase: Bridge native ms_abi thread thunks.c5658d8b40ntdll: Register non-native PE code regions.ea39bcd32antdll: Bridge native Direct3D callback table entries.67e3ee22f2ntdll: Recover Wine TEB for nested macOS Unix calls.50714933acntdll: Recover Wine TEB for nested macOS syscalls.575fdf5b2fntdll: Recover debug TEB for nested macOS callbacks.8d830f901bntdll: Keep PE stack for native callback bridges.c0c097a8b0ntdll: Preserve host TSD during native callback nesting844a5e4bfcntdll: Expand Apple x86_64 native thread stacks67900fccbcws2_32: Return a basic NLA network lookup result22433ad1e0ntdll: Contain host exceptions from native callback bridges.002788c208ntdll: Bridge native-to-PE Win32 callback tables.498a1fc133ntdll: Keep host TSD on nested Unix-call returnse3a2f6ad4entdll: Wrap additional GPTK native callback slots2a481fcecantdll: Reject null Unix-call handles464e31a9e3ntdll: Avoid loader lock in Switchyard callback classification.327d20ec39ntdll: Read native callback context from the TEBb477d3dabfntdll: Allow GPTK trampoline data sections to execute0c3e1f8daantdll: Route Chromium GPU helpers to Wine graphics modules.ee94cc3263winemac: Keep offscreen top-level windows visible.c1a5b99b89dwmapi: Report composition disabled to Chromium/CEF.d17770b26awinemac: Redirect Chromium child window surfaces to the root window.aa53e6347bwin32u: Rebind Chromium child DCEs to their current surface.a7888a65e0win32u: Flush Chromium child window surfaces on unlock.bd881c7fdcwin32u: Bind Chromium child surfaces before the pixel-format guard.36b1d6ead1winemac/win32u: Recreate Chromium child surfaces for foreign DCEs.8308ef631cwinemac: Create standalone foreign Chromium child surfaces.907b4f1872win32u: Cache foreign Chromium child DCE surfaces.11d29c74e5winemac: Release foreign Chromium child surface hosts.b2c204ab20win32u/winemac: Preserve constant-alpha layered windows.cc99f0b2c0winemac: Display the first flushed window surface immediately.e406fe4ebfwin32u: Realize selected fonts after late font backend init.2f1f702b6fwinhttp: Respect missing IE proxy auto-detect settings.f42f3a3c2fwined3d: Harden Apple OpenGL capability probing.7f34a5d97awined3d: Skip all Apple RGB16F storage FBO probes.eecdfd4ceesymcrypt: Use scalar SHA-256 on 32-bit x86.d70054ed35ntdll: Guard activation context section output data.c69585c27fcombase: Ignore malformed activation context COM data.a81e0e71d1user32: Ignore malformed activation context window class data.b4c6a71ad6wined3d: Skip Apple FBO draw probes.a57d8a9c41ntdll: Use the WOW64 host stack from R14 for macOS exceptions.67179bdccbwine: Add Chromium/GPTK launcher login graphics compatibility.d196d1458cntdll: Recover TEB for critical-section owner checks82ec96dc37winemac: Front foreign Chromium child host surfaces.5da18ba364win...