Skip to content

Switchyard Wine Runtime b21d80bd0b83

Pre-release
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 winemac: Let foreign Chromium overlays pass mouse input through.
  • d17765270b winemac: Re-front foreign Chromium overlays on flush.
  • 86303459b5 winemac: Fade blank Chromium owner hosts behind overlays.
  • d755b3f518 winemac: Host foreign Chromium child surfaces as remote layers.
  • be9bdd0c4f winemac: Merge foreign Chromium child layers into owner hosts
  • 5bb1b359fe winemac: Query remote layer hosts through owner windows
  • 21942211c8 winemac: Clear blank owner backings behind remote layers
  • 5fabc6555e winemac: Keep hosted CEF owners opaque between layer cycles
  • ae3e313c85 winemac: Remember CEF remote hosts across surface recreation
  • 0892c9d15b winemac: Disable implicit animations for CEF layer hosts
  • 41934cf381 winemac: Retire CEF remote layer hosts after replacements
  • 66d1462c0b winemac: Clear blank CEF owners instead of fading windows
  • 186acc3d53 winemac: Disable implicit animations for remote image layers
  • c5794d38bd winemac: Stabilize Chromium child layer composition
  • 24198bd955 combase: Pass AppID ServiceParameters to local services.
  • dc121b9a7f server: Allow registry DACL updates by token access.
  • 6864ace3b5 rpcrt4: Treat IUnknown-only typelib parents as IUnknown.
  • c6187814f3 rpcrt4: Support typelib LPSTR and LPWSTR parameters.
  • e064d009f7 winhttp: Drain gzip parent streams before reuse.
  • a6f9d10659 ntdll: Resolve app-local assembly DLLs from manifest directory.
  • 222b656509 ntdll: Activate executable manifests while resolving imports.
  • 8858e54514 winemac: Gate full-root Chromium layer suppression on hosted viewports.
  • a4288a9385 dcomp/dxgi: Support Chromium DComp texture presents.
  • 1b2f0f4826 winemac: Preserve solid Chromium DComp content layers.
  • 18a3b06b08 winemac: Keep Chrome owner backing before hosted viewports.
  • d06601d601 dcomp: Flush RGBA conversion before compositor readback.
  • 39a0c797e1 d3d11: Preserve GDI-compatible access on wrapped textures.
  • c386fb0abf wined3d: Synchronize Vulkan GetDC readback buffers.
  • 7b8b6660d7 dcomp: Respect dynamic texture alpha during composition.
  • bcc65e4b38 dxgi: Use presented flip buffers for DComp readback.
  • 0d7e2ed89d winemac: Keep Chromium root backing until hosted viewport.
  • c393382d36 dcomp: Correct dynamic texture vtable order
  • 316f0f8225 dcomp: Compose target DC before flushing clear frames.
  • ad0e596f60 winemac: Align hosted Chromium layers to root client frame
  • 7b3578db71 winemac: Prefer DComp root composition for Chromium
  • 353bbfe4be dcomp: Compose targets through a memory DC
  • c6dba3cc9b winemac: Compose Chromium child surfaces into the DComp root
  • a8c08c092d winemac: Relay Chromium root surfaces through the DComp owner
  • 49a7577a8c dcomp/winemac: Composite owned Chromium popups through the root
  • 94b9a38125 winemac: Preserve masked Dock icon transparency
  • 323345774b wined3d: Stop forcing Vulkan for Chromium helpers
  • ef9882a625 winemac: Preserve non-DComp CEF root layers
  • 9bec327976 dcomp: Preserve alpha in dynamic texture caches.
  • 3fbd2cc2e0 winemac: Keep full-root CEF hosts below viewports
  • 93633f7437 dcomp/winemac: Retire owner-composed Chromium popup windows.
  • 59c4d32901 winemac: Root-compose Chrome render host trees without DComp props.
  • 8f7ad740a2 winemac: Use borderless Chrome custom frames
  • b32a1210b7 cryptowinrt: stub AppCapabilityAccess
  • d4abebb04b winemac: preserve Chrome content during window moves
  • 20e671ad68 appcontainer: support Chromium sandbox profiles
  • 88908ef7bc mediacontrol: require WinRT stream dependencies
  • cbce387b7d winemac: Host cross-process Chromium client surfaces
  • a39a7400df dcomp,winemac: stabilize Chrome custom-frame composition
  • dbb0a3fca8 winemac: route input through foreign Chromium hosts
  • 1d21d9c069 winemac: keep foreign Chromium hosts click-through
  • b9daccff11 fix: unify Win32 GPU surfaces under native roots
  • 780894433c build: publish standalone Switchyard Wine source
  • 97effcaecb chore: retire legacy patch numbering
  • 926ac80920 ntdll: Bridge adjusted DXGI factory jump stubs.
  • ef9c869683 fix(systray): clean icons for message-only owners
  • 52f746f00a fix(macos): restore native graphics callback ABI
  • 92405fefac docs: explain downstream compatibility goals
  • 154ac1a143 fix(macos): stabilize native graphics callbacks and surfaces
  • 2d28c95ebd feat(fonts): bundle multilingual Noto fallbacks
  • 8200855469 fix(wow64): notify execution flag changes
  • ed361c612c fix(wow64): convert group affinity attributes
  • 71c9a48063 fix(secur32): return impersonation context tokens
  • 5d7737cf49 fix(msv1_0): decrypt every sealed message buffer
  • 2d5ce0c033 fix(crypt32): use the AES provider for PFX imports
  • 95a474e110 test(wininet): cover long cache extensions
  • 17ffb82e93 fix(wininet): bound cache file extensions
  • 07ea926d21 test(urlmon): cover cache download bounds
  • aa946d6f35 fix(urlmon): respect cache download buffer bounds
  • 28c43aaaa3 fix(urlmon): remove failed download cache files
  • d39f7c2e89 fix(mmdevapi): reset spatial audio streams
  • 1da45b5e5f fix(faudio): decode odd mono ADPCM offsets
  • 804ba38cb5 fix(mfsrcsnk): preserve byte stream origins
  • 0df7bb9971 fix(ole32): write boolean storage properties
  • af0e237423 build(macos): preserve PCSC linker flags
  • fa6d36e957 feat(setupapi): expose device enumerator names
  • e79c51102e fix(setupapi): defer mapped file replacement
  • 5ab3ce7dfb fix(dbghelp): bound DWARF leaf names
  • 9e339669d4 refactor(d3dcompiler): store shader descriptions directly
  • 2d9e31c6e4 fix(d3dcompiler): parse shader statistics with vkd3d
  • 0831c48d77 fix(windows-ui): accept text scale subscriptions
  • 1da2dc8430 feat(pdh): format counter arrays
  • 9327e56f16 winemenubuilder: Export registered URL protocols for host integration.
  • b7d5aa63ac switchyard: Limit runtime build parallelism to 13 jobs.
  • 39963f39ae dbghelp, ntdll: Prevent Unity runtime crashes.
  • e11d9b3d7d user32: Preserve alpha when scaling icon and cursor resources.
  • 745323fcf4 winemac: Raise newly shown fullscreen windows.
  • 52a31587a2 winemac: Translate Command copy and paste shortcuts.
  • 5d88817c2a wineboot, switchyard: Install a Unicode compatibility font alias.
  • 0d02ef7ce5 winemac: Honor client-drawn caption frames.
  • cc1d3924f1 wined3d: Prefer Vulkan for browser GPU subprocesses.
  • 659d8543ae winecoreaudio: Follow the system default output device.
  • 6f6289b6fe wined3d: Restore automatic renderer selection.
  • d1f57c1367 ntdll: Yield after macOS futex alerts.
  • f79b5505d5 ntdll: Remove ineffective futex alert yield.
  • 1239b1b66f wow64cpu, ntdll: Preserve flags across macOS mode transitions.
  • 97ea833a20 ntdll: Recover stale WOW64 return transitions.
  • c5f4c2a2b4 wined3d: Preserve blending capabilities when skipping FBO probes.
  • b8676d0c3a wined3d: Preserve window contents across partial presents.
  • ae38ba20ce win32u: Preserve alpha when copying 32-bit pixels.
  • 9de3c39812 win32u: Ignore redundant maximize system commands.
  • f24f25e8c0 win32u: Preserve transparency in layered window updates.
  • 6d3a9c78ab switchyard: Add a Wine-only runtime build mode.
  • 50ddda15cb ntdll: Copy macOS PE images into anonymous mappings.
  • 99e6e40bef switchyard: Add macOS runtime signing entitlements.
  • a8bfb79e55 secur32: Include the GnuTLS loader error.
  • 9421f8b572 switchyard: Stage redistributable TLS dependencies.
  • f54481aac6 switchyard: Add a signed runtime release workflow.
  • b21d80bd0b switchyard: Rebuild the legacy Unicode dependency.