Skip to content

Releases: jungwuk-ryu/switchyard-wine

Switchyard Wine Runtime 34a09170d37

Choose a tag to compare

@jungwuk-ryu jungwuk-ryu released this 30 Jul 11:33

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 VirtualProtect to 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

Choose a tag to compare

@jungwuk-ryu jungwuk-ryu released this 29 Jul 06:05

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: 771368383 bytes

The runtime archive contains Switchyard Wine only. Switchyard combines it with a user-supplied Game Porting Toolkit installation at runtime.

Switchyard Wine Runtime 499b1b79c11

Choose a tag to compare

@jungwuk-ryu jungwuk-ryu released this 29 Jul 19:47

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

Choose a tag to compare

@jungwuk-ryu jungwuk-ryu released this 26 Jul 20:29

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.com in 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

Pre-release

Choose a tag to compare

@jungwuk-ryu jungwuk-ryu released this 26 Jul 14:44

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 -nobattleye on 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

Pre-release

Choose a tag to compare

@jungwuk-ryu jungwuk-ryu released this 22 Jul 09:19

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_COMPOSITED paint processing.
  • Hides windowless helper processes from the Dock.

Switchyard Wine Runtime 34fb5abd4109

Pre-release

Choose a tag to compare

@jungwuk-ryu jungwuk-ryu released this 19 Jul 08:38

Changes

  • Fixes writable shared PE image mappings on macOS, resolving the Heartopia themis_x64.dll .mdata failure.
  • Implements the Windows.System.DispatcherQueue activation 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

Pre-release

Choose a tag to compare

@jungwuk-ryu jungwuk-ryu released this 17 Jul 10:20

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

Compare the complete range

All 163 downstream commits
  • 2a3c9f842e kernelbase: Remember process mitigation policies.
  • 6ff3c344c6 conhost: Keep usable font metrics when font selection fails.
  • 8dec1bbd2b kernelbase: Accept component filter process attributes.
  • 2943d27a14 win32u: Enable host Vulkan portability enumeration.
  • 42f6d7c975 win32u: Enable host Vulkan portability subset.
  • 6f9210cefa ntdll: Export x64 __wine_unix_call thunk.
  • 7087e5c719 kernelbase: Bridge native ms_abi thread thunks.
  • c5658d8b40 ntdll: Register non-native PE code regions.
  • ea39bcd32a ntdll: Bridge native Direct3D callback table entries.
  • 67e3ee22f2 ntdll: Recover Wine TEB for nested macOS Unix calls.
  • 50714933ac ntdll: Recover Wine TEB for nested macOS syscalls.
  • 575fdf5b2f ntdll: Recover debug TEB for nested macOS callbacks.
  • 8d830f901b ntdll: Keep PE stack for native callback bridges.
  • c0c097a8b0 ntdll: Preserve host TSD during native callback nesting
  • 844a5e4bfc ntdll: Expand Apple x86_64 native thread stacks
  • 67900fccbc ws2_32: Return a basic NLA network lookup result
  • 22433ad1e0 ntdll: Contain host exceptions from native callback bridges.
  • 002788c208 ntdll: Bridge native-to-PE Win32 callback tables.
  • 498a1fc133 ntdll: Keep host TSD on nested Unix-call returns
  • e3a2f6ad4e ntdll: Wrap additional GPTK native callback slots
  • 2a481fceca ntdll: Reject null Unix-call handles
  • 464e31a9e3 ntdll: Avoid loader lock in Switchyard callback classification.
  • 327d20ec39 ntdll: Read native callback context from the TEB
  • b477d3dabf ntdll: Allow GPTK trampoline data sections to execute
  • 0c3e1f8daa ntdll: Route Chromium GPU helpers to Wine graphics modules.
  • ee94cc3263 winemac: Keep offscreen top-level windows visible.
  • c1a5b99b89 dwmapi: Report composition disabled to Chromium/CEF.
  • d17770b26a winemac: Redirect Chromium child window surfaces to the root window.
  • aa53e6347b win32u: Rebind Chromium child DCEs to their current surface.
  • a7888a65e0 win32u: Flush Chromium child window surfaces on unlock.
  • bd881c7fdc win32u: Bind Chromium child surfaces before the pixel-format guard.
  • 36b1d6ead1 winemac/win32u: Recreate Chromium child surfaces for foreign DCEs.
  • 8308ef631c winemac: Create standalone foreign Chromium child surfaces.
  • 907b4f1872 win32u: Cache foreign Chromium child DCE surfaces.
  • 11d29c74e5 winemac: Release foreign Chromium child surface hosts.
  • b2c204ab20 win32u/winemac: Preserve constant-alpha layered windows.
  • cc99f0b2c0 winemac: Display the first flushed window surface immediately.
  • e406fe4ebf win32u: Realize selected fonts after late font backend init.
  • 2f1f702b6f winhttp: Respect missing IE proxy auto-detect settings.
  • f42f3a3c2f wined3d: Harden Apple OpenGL capability probing.
  • 7f34a5d97a wined3d: Skip all Apple RGB16F storage FBO probes.
  • eecdfd4cee symcrypt: Use scalar SHA-256 on 32-bit x86.
  • d70054ed35 ntdll: Guard activation context section output data.
  • c69585c27f combase: Ignore malformed activation context COM data.
  • a81e0e71d1 user32: Ignore malformed activation context window class data.
  • b4c6a71ad6 wined3d: Skip Apple FBO draw probes.
  • a57d8a9c41 ntdll: Use the WOW64 host stack from R14 for macOS exceptions.
  • 67179bdccb wine: Add Chromium/GPTK launcher login graphics compatibility.
  • d196d1458c ntdll: Recover TEB for critical-section owner checks
  • 82ec96dc37 winemac: Front foreign Chromium child host surfaces.
  • 5da18ba364 win...
Read more