Emulating NT synchronization primitives in Wine - Zeb Figura
Channel: Linux Plumbers Conference
Date: 2023-11-29

In order to emulate Windows NT kernel synchronization primitives, Wine currently uses a single server process, which fields operations on those primitives via RPC from client processes.

This has historically worked well, but has turned out to be a severe performance bottleneck in heavily multithreaded applications such as modern games.

In this talk, I propose to emulate the complexity of NT synchronization primitives in a kernel driver, which according to proof-of-concept tests can improve performance up to twice the speed of current Wine.

Proof-of-concept trees are available here:

https://repo.or.cz/linux/zf.git/shortlog/refs/heads/ntsync4

https://repo.or.cz/wine/zf.git/shortlog/refs/heads/ntsync4