space-wine 2026-03-19
Initial release with NtLockFile patches, test suite, and CI pipeline for Wine 11.0
32 files · 2,680+ · 23,395-

Wine FIXME patch set

5 files changed
  • kernelbase-fix-UnlockFileEx.patch Patch for kernelbase UnlockFileEx to resolve FIXME in lock handling
  • win32u-fix-OEM_CHARSET.patch Patch for win32u OEM_CHARSET font matching with CP437 fallback
  • comctl32-fix-edit-BuildLineDefs.patch Patch for comctl32 edit control stale line rebuild
  • user32-fix-edit-BuildLineDefs.patch Patch for user32 edit control stale line rebuild
  • wineserver-fix-lock-fd-leak.patch Patch for wineserver FD leak under lock contention
  • Created targeted patches for five Wine FIXME issues spanning ntdll, kernelbase, win32u, user32/comctl32, and wineserver remediate behavioral
    5 files
    • kernelbase-fix-UnlockFileEx.patch
    • win32u-fix-OEM_CHARSET.patch
    • comctl32-fix-edit-BuildLineDefs.patch
    • user32-fix-edit-BuildLineDefs.patch
    • wineserver-fix-lock-fd-leak.patch

Test harnesses for patch verification

3 files changed
  • locktest.c C test for NtLockFile contested lock behavior
  • edittest.c C test for edit control BuildLineDefs race condition
  • fdleaktest.c C test proving FD/handle leak under contested locks
  • Built standalone C test executables to verify each patch against unpatched Wine baselines qualify behavioral
    3 files
    • locktest.c
    • edittest.c
    • fdleaktest.c

CI pipeline and automation scripts

2 files changed
  • prove.yml GitHub Actions workflow for patched-vs-unpatched Wine comparison
  • Makefile Build targets for Wine compilation, patch application, and test execution
  • Established prove.yml CI with matrix builds comparing patched Wine against stock Wine baseline architectural
    2 files
    • prove.yml
    • Makefile

Documentation and project scaffolding

4 files changed
  • BUILDING.md Build instructions for Wine with freetype and i386 support
  • CLAUDE.md Project guidance for AI-assisted development
  • TRADEOFFS.md Design tradeoff documentation for patch approaches
  • README.md Project overview and patch descriptions
  • Added build documentation, design tradeoff rationale, and project structure docs specify internal
    4 files
    • BUILDING.md
    • CLAUDE.md
    • TRADEOFFS.md
    • README.md
  • Removed legacy monolithic prove.sh/prove.ps1 scripts in favor of Makefile-based workflow streamline internal
    2 files
    • prove.sh
    • prove.ps1

Wine submodule and workarounds

2 files changed
  • wine Wine source added as git submodule (livingstaccato/wine, branch wine-11.0-clean)
  • wow64cpu-rosetta2-workaround.patch Rosetta2 workaround for WoW64 CPU emulation on Apple Silicon
  • Added Wine source as submodule and included Rosetta2 workaround for macOS ARM builds baseline architectural
    2 files
    • wine
    • wow64cpu-rosetta2-workaround.patch