Switchyard Wine Runtime b21d80bd0b83
Pre-release
Pre-release
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.5da18ba364winemac: Let foreign Chromium overlays pass mouse input through.d17765270bwinemac: Re-front foreign Chromium overlays on flush.86303459b5winemac: Fade blank Chromium owner hosts behind overlays.d755b3f518winemac: Host foreign Chromium child surfaces as remote layers.be9bdd0c4fwinemac: Merge foreign Chromium child layers into owner hosts5bb1b359fewinemac: Query remote layer hosts through owner windows21942211c8winemac: Clear blank owner backings behind remote layers5fabc6555ewinemac: Keep hosted CEF owners opaque between layer cyclesae3e313c85winemac: Remember CEF remote hosts across surface recreation0892c9d15bwinemac: Disable implicit animations for CEF layer hosts41934cf381winemac: Retire CEF remote layer hosts after replacements66d1462c0bwinemac: Clear blank CEF owners instead of fading windows186acc3d53winemac: Disable implicit animations for remote image layersc5794d38bdwinemac: Stabilize Chromium child layer composition24198bd955combase: Pass AppID ServiceParameters to local services.dc121b9a7fserver: Allow registry DACL updates by token access.6864ace3b5rpcrt4: Treat IUnknown-only typelib parents as IUnknown.c6187814f3rpcrt4: Support typelib LPSTR and LPWSTR parameters.e064d009f7winhttp: Drain gzip parent streams before reuse.a6f9d10659ntdll: Resolve app-local assembly DLLs from manifest directory.222b656509ntdll: Activate executable manifests while resolving imports.8858e54514winemac: Gate full-root Chromium layer suppression on hosted viewports.a4288a9385dcomp/dxgi: Support Chromium DComp texture presents.1b2f0f4826winemac: Preserve solid Chromium DComp content layers.18a3b06b08winemac: Keep Chrome owner backing before hosted viewports.d06601d601dcomp: Flush RGBA conversion before compositor readback.39a0c797e1d3d11: Preserve GDI-compatible access on wrapped textures.c386fb0abfwined3d: Synchronize Vulkan GetDC readback buffers.7b8b6660d7dcomp: Respect dynamic texture alpha during composition.bcc65e4b38dxgi: Use presented flip buffers for DComp readback.0d7e2ed89dwinemac: Keep Chromium root backing until hosted viewport.c393382d36dcomp: Correct dynamic texture vtable order316f0f8225dcomp: Compose target DC before flushing clear frames.ad0e596f60winemac: Align hosted Chromium layers to root client frame7b3578db71winemac: Prefer DComp root composition for Chromium353bbfe4bedcomp: Compose targets through a memory DCc6dba3cc9bwinemac: Compose Chromium child surfaces into the DComp roota8c08c092dwinemac: Relay Chromium root surfaces through the DComp owner49a7577a8cdcomp/winemac: Composite owned Chromium popups through the root94b9a38125winemac: Preserve masked Dock icon transparency323345774bwined3d: Stop forcing Vulkan for Chromium helpersef9882a625winemac: Preserve non-DComp CEF root layers9bec327976dcomp: Preserve alpha in dynamic texture caches.3fbd2cc2e0winemac: Keep full-root CEF hosts below viewports93633f7437dcomp/winemac: Retire owner-composed Chromium popup windows.59c4d32901winemac: Root-compose Chrome render host trees without DComp props.8f7ad740a2winemac: Use borderless Chrome custom framesb32a1210b7cryptowinrt: stub AppCapabilityAccessd4abebb04bwinemac: preserve Chrome content during window moves20e671ad68appcontainer: support Chromium sandbox profiles88908ef7bcmediacontrol: require WinRT stream dependenciescbce387b7dwinemac: Host cross-process Chromium client surfacesa39a7400dfdcomp,winemac: stabilize Chrome custom-frame compositiondbb0a3fca8winemac: route input through foreign Chromium hosts1d21d9c069winemac: keep foreign Chromium hosts click-throughb9daccff11fix: unify Win32 GPU surfaces under native roots780894433cbuild: publish standalone Switchyard Wine source97effcaecbchore: retire legacy patch numbering926ac80920ntdll: Bridge adjusted DXGI factory jump stubs.ef9c869683fix(systray): clean icons for message-only owners52f746f00afix(macos): restore native graphics callback ABI92405fefacdocs: explain downstream compatibility goals154ac1a143fix(macos): stabilize native graphics callbacks and surfaces2d28c95ebdfeat(fonts): bundle multilingual Noto fallbacks8200855469fix(wow64): notify execution flag changesed361c612cfix(wow64): convert group affinity attributes71c9a48063fix(secur32): return impersonation context tokens5d7737cf49fix(msv1_0): decrypt every sealed message buffer2d5ce0c033fix(crypt32): use the AES provider for PFX imports95a474e110test(wininet): cover long cache extensions17ffb82e93fix(wininet): bound cache file extensions07ea926d21test(urlmon): cover cache download boundsaa946d6f35fix(urlmon): respect cache download buffer bounds28c43aaaa3fix(urlmon): remove failed download cache filesd39f7c2e89fix(mmdevapi): reset spatial audio streams1da45b5e5ffix(faudio): decode odd mono ADPCM offsets804ba38cb5fix(mfsrcsnk): preserve byte stream origins0df7bb9971fix(ole32): write boolean storage propertiesaf0e237423build(macos): preserve PCSC linker flagsfa6d36e957feat(setupapi): expose device enumerator namese79c51102efix(setupapi): defer mapped file replacement5ab3ce7dfbfix(dbghelp): bound DWARF leaf names9e339669d4refactor(d3dcompiler): store shader descriptions directly2d9e31c6e4fix(d3dcompiler): parse shader statistics with vkd3d0831c48d77fix(windows-ui): accept text scale subscriptions1da2dc8430feat(pdh): format counter arrays9327e56f16winemenubuilder: Export registered URL protocols for host integration.b7d5aa63acswitchyard: Limit runtime build parallelism to 13 jobs.39963f39aedbghelp, ntdll: Prevent Unity runtime crashes.e11d9b3d7duser32: Preserve alpha when scaling icon and cursor resources.745323fcf4winemac: Raise newly shown fullscreen windows.52a31587a2winemac: Translate Command copy and paste shortcuts.5d88817c2awineboot, switchyard: Install a Unicode compatibility font alias.0d02ef7ce5winemac: Honor client-drawn caption frames.cc1d3924f1wined3d: Prefer Vulkan for browser GPU subprocesses.659d8543aewinecoreaudio: Follow the system default output device.6f6289b6fewined3d: Restore automatic renderer selection.d1f57c1367ntdll: Yield after macOS futex alerts.f79b5505d5ntdll: Remove ineffective futex alert yield.1239b1b66fwow64cpu, ntdll: Preserve flags across macOS mode transitions.97ea833a20ntdll: Recover stale WOW64 return transitions.c5f4c2a2b4wined3d: Preserve blending capabilities when skipping FBO probes.b8676d0c3awined3d: Preserve window contents across partial presents.ae38ba20cewin32u: Preserve alpha when copying 32-bit pixels.9de3c39812win32u: Ignore redundant maximize system commands.f24f25e8c0win32u: Preserve transparency in layered window updates.6d3a9c78abswitchyard: Add a Wine-only runtime build mode.50ddda15cbntdll: Copy macOS PE images into anonymous mappings.99e6e40befswitchyard: Add macOS runtime signing entitlements.a8bfb79e55secur32: Include the GnuTLS loader error.9421f8b572switchyard: Stage redistributable TLS dependencies.f54481aac6switchyard: Add a signed runtime release workflow.b21d80bd0bswitchyard: Rebuild the legacy Unicode dependency.