github GameNative/proton-wine proton-11.0-2-20260830
Proton Wine 11.0-2 (proton-11.0-2-20260830)

4 hours ago

Caution: This version is provided for testing purposes only. It may lead to game instability or crashes. Use at your own risk.

Proton Wine Build based on Valve Wine

Proton Version: 11.0-2

Built from commit: b71efff

Architectures

  • x86_64 (Intel/AMD 64-bit)
  • arm64ec (ARM64EC)

Single SDK 28 build with 16KB page size support (works on Android 9+ and Android 15+).

Features

  • Experimental userspace ntsync (via ntsync-android, commit 7ce6435) + fsync, with wineserver-side ntsync_event_set support
  • WINE_FAST_YIELD fast-yield hook in NtYieldExecution
  • FEX integration (stats shm, SkipThreadAttach detach guard) via bylaws' arm64ec patches
  • FEX unixlib loader: MemoryWineLoadUnixLibByName / wow64 / unload support with $PREFIX/lib/wine fallback
  • WINEVMEMMAXSIZE virtual-address cap for FEX environments
  • Integrated lsteamclient built into Proton (supports GameNative bionic Steam)
  • Stripped, -g0 -O2 build: smaller tree, faster install (zstd-packed .wcp)

ntsync-android changelog (d00ac47..7ce6435)

  • Adaptive spin-before-block (NTSYNC_SPIN_ITERS, default off) — a waiter spins briefly on a read-only acquire check before sleeping on the futex; a signal landing in the window avoids a sleep+wake pair entirely. Per-thread adaptive credit (JVM-style) self-throttles threads with long waits. Measured on device: Persona 5 Royal avoids 25-28% of blocked-wait sleeps during sync bursts (60-76% spin win rate); Dishonored / Lies of P / Hades II correctly self-throttle to ~0.2% CPU. See the README per-game tuning guide.
  • Wait-path trims + sweep-trigger RSS fix — WAIT_ALL rollback no longer zeroes 1 KB of stack per call; auto-sweep triggers moved off the lock-free signal ops into wait paths only (a dead-process scan can never land on a latency-critical signaler); bounded sweep scans fix a sparse-page RSS spike (664 kB -> 112 kB when a sweep ran).
  • Auto-sweep of dead processes' objects (layout v9) — wait paths run a rate-limited region-wide sweep (default 30 s, NTSYNC_SWEEP_INTERVAL_SEC to tune, 0 to disable), replacing manual ntsync_sweep_dead() reliance; the stuck-wait debug dump shows creator pid liveness. Fixes a plausible cause of 60 s RtlpWaitForCriticalSection ... blocked by 0000 stalls after a Wine process crashes.
  • Wait-path CPU reductions — wake-latency instrumentation is now debug-gated, futex_wake wakes exactly one waiter, and all per-wait heap allocations became fixed stack arrays. Measured vs. baseline: cross-process RPC -17%, multi-process contention -25%, Wine mixed load -8% CPU per op.
  • Lazy region init (layout v8) — the ~960 KB shm file is no longer bulk-zeroed at init: mapped RSS drops from 976 kB to ~16 kB (sparse pages, negligible flash writeback), growing only as objects/waiters actually arrive.
  • NTSYNC_NO_SIGUSR1_BLOCK=1 opt-out — skips the two pthread_sigmask syscalls per region-lock acquisition (~13% per-op under multi-process contention). Default stays on; only safe outside Wine.
  • Wine-workload benchmark suite — 7 benches (shm footprint, signaled fast path, cross-process RPC, mixed load, fork/exec multi-process contention) with a JSON baseline for regression gating.
  • On-device stats (NTSYNC_DEBUG=1) — per-process counters (waits, fast-path hits, sleeps, wake walks, wake latency, spin wins/exhaustion) dumped every 10 s; validated at scale in four games with zero lock contention and zero EAGAIN churn.

Android / bionic fixes

  • Anonymous PE-image mapping for bionic (vc4 devices); LC_ALL=C.UTF-8 default; shell32 drive-root path fix
  • Android clipboard bridge (user32/win32u) and Android URL/intent launching in winebrowser
  • dnsapi libresolv bionic port; nsiproxy interface/route enumeration without netlink; ws2_32 socket tweaks
  • winepulse audio period fix, MIDI mapper rework, SDL gamepad init fixes
  • winex11 window/keyboard/mouse/GL/desktop tweaks; explorer desktop sizing; GetUserNameA on Android

Credits

Compile optimizations (ccache, -g0/strip, zstd packaging) and runtime improvements — WINE_FAST_YIELD fast-yield, FEX unixlib loader, WINEVMEMMAXSIZE VA cap, vc4 bionic fixes (anonymous PE mappings, LC_ALL=C.UTF-8, shell32 drive-root fix), and xrandr/xrender enablement — are adopted from The412Banner/proton-wine release build-p11-20260821 (merged in commit b08376b).

WCP Files

Proton Type:

  • proton-11.0-2-x86_64.wcp - For GameNative
  • proton-11.0-2-arm64ec.wcp - For GameNative

Wine Type:

  • proton-wine-11.0-2-x86_64.wcp.xz - For Winlator for CMOD & Ludashi
  • proton-wine-11.0-2-arm64ec.wcp.xz - For Winlator for CMOD & Ludashi

Don't miss a new proton-wine release

NewReleases is sending notifications on new releases.