This repository documents the ongoing research, implementation, and validation work for Wine-NSPA 11.x -- a real-time capable, priority-inheritance-aware build of Wine targeting professional audio workloads.
Wine-NSPA 11.x is a work in progress built on top of upstream Wine 11.6. Everything here is subject to change -- designs may be revised, features may be reworked or dropped, and nothing should be considered stable or final. This documentation tracks the evolving design decisions, test results, and research as the work progresses.
| Document | Description |
|---|---|
| Architecture Overview | System architecture: RT priority mapping, CS-PI, NTSync PI, io_uring, SRW spin, pi_cond requeue-PI, Win32 condvar PI, SIMD optimizations. 9 SVG diagrams. |
| Win32 Condvar PI | FUTEX_WAIT_REQUEUE_PI for RtlSleepConditionVariableCS: condvar-to-mutex mapping, 3 new syscalls, zero-gap PI. 2 SVG diagrams. |
| Critical Section PI | FUTEX_LOCK_PI on CRITICAL_SECTION: fast/slow path, PI chain, gating, fallback. |
| NTSync Kernel Driver | NTSync driver architecture: upstream vs NSPA, 5 kernel patches, PI boost, uring_fd. |
| io_uring Architecture | Phase 1-3 io_uring integration: file I/O bypass, socket I/O via ALERTED-state interception, ntsync uring_fd. 2 SVG diagrams. |
| Shmem IPC Architecture | Per-thread shared memory IPC: dispatcher model, PI boost protocol, global_lock PI. |
| State of The Art | Test dashboard: 11 tests across v3/v5/v6, NTSync driver status, PI chain validation. |
| Test Suite Comparison | Full v3/v5/v6 comparison with per-thread metrics and latency data. |
| RT Test Harness | Test architecture, subcommands, runner script, watchdog, benchmarks. |
| Sync Primitives Research | SRW spin, condvar PI, adaptive CS -- Windows vs glibc vs kernel analysis. |
| Decoration Loop Investigation | Ableton Live 12 windowing debug (WineHQ bug 57955). |
WIP. The 11.x tree passes its validation suite (22/22 tests, baseline + RT) and is used for day-to-day development. This is an active research branch -- code is not released and the architecture is still evolving.
Key areas under active work:
- 4 PI coverage paths: CS-PI, NTSync PI, pi_cond requeue-PI, Win32 condvar PI
- io_uring integration (all 3 phases committed, benchmarking ongoing)
- NTSync kernel driver PI patches (5 patches, validated on Linux-NSPA 6.19.11-rt1)
- Application compatibility (Ableton Live 12, VST hosts)
- Linux-NSPA Kernel -- Custom PREEMPT_RT kernel with NTSync PI patches
- librtpi -- PI mutex/condvar library
- Wine-NSPA Wiki -- Installation and configuration (8.x)