NTSYNC-Contained
This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.
Summary
This proposal aims to enable the NTSYNC kernel module for select packages by package recommendation (Recommends/Suggests), which can improve compatibility and performance when running Windows applications (especially games) via Wine/Proton.
This change supersedes the previous change: Changes/NTSYNC - Fedora Project Wiki.
Owner
- Name: [[User:Epictux123|EpicTux123]]
- Email: EpicTux123@proton.me
Affected packages: Kernel, dracut or systemd (not sure), but itâs just the addition of one file.
Detailed Description
The NT synchronization primitive driver, known as NTSYNC, is a mechanism used by Wine to get better compatibility and more performance when running applications (especially games).
This proposal aims to enable the NTSYNC kernel module for select packages. It is present on stable kernel versions starting from 6.14.
Affected packages would be:
- Wine main package
- Steam package (RPM Fusion)
- FLOSS game launchers on Fedoraâs or RPM Fusionâs repos (Lutris, Heroic Games Launcher etc.)
- Any other package that requires or recommends the Wine package
A package named wine-ntsync would be created in the Fedoraâs repos. Its only intention would be to add the file /usr/lib/modules-load.d/ntsync.conf with the content ntsync to enable the NTSYNC kernel module at boot.
As far as I (the proposal creator) am aware, this is apparently better than other existing implementations (such as E-SYNC and F-SYNC). This is also the only one to be considered into integration for upstream Wine.
Currently, the kernel driver works as expected (as far as I know), but the code on Wineâs side is still a pending merge request. However, community-made Proton versions such as GE-Proton (made by GloriousEggRoll) already have NTSYNC enabled by default if the kernel module is detected as loaded.
From my personal testing I havenât see any problematic behavior when enabling this module. It also fixes some problematic games that donât work well with either E-SYNC or F-SYNC methods (such as Bioshock games and Call of Duty Black Ops I and II).
The intention is to make Fedora Linux the first distribution to start enabling this module as to innovate in the Linux world.
Some reference links:
Kernel technical documentation: NT synchronization primitive driver â The Linux Kernel documentation
Article on GamingOnLinux: NTSYNC for Proton / Wine now in Linux kernel 6.14 that "Should make many SteamOS users happy" | GamingOnLinux
Wine merge request: ntdll: Implement in-process synchronization via the Linux "ntsync" driver. (!7226) ¡ Merge requests ¡ wine / wine ¡ GitLab
Since the creation of the previous change, progress has been made upstream such as server: Create an inproc sync for user APC signaling. (!9014) ¡ Merge requests ¡ wine / wine ¡ GitLab.
Feedback
I have not gathered any feedback. However, this proposal, even if approved, would only be applicable to custom builds of Wine/Proton, since upstream Wine does not fully support it (yet), so any build that contains the possibility of using NTSYNC is a custom and experimental build. Installing the wine on Fedora, even with this change approved, wouldnât make use of it, since it requires experimental patches that are pending for merge in upstream. This proposal would mainly benefit GE-Proton (and other community-made Proton versions) users.
When the merge request is eventually approved in upstream Wine, Fedora would already have the kernel module for all Wine users to use.
There is some feedback available in the GloriousEggRollâs Discord server for users testing the kernel driver in the latest versions (starting from 10-10) of GE-Proton.
Benefit to Fedora
See âDetailed Descriptionâ and âFeedbackâ section.
Scope
-
Proposal owners: EpicTux123 (EpicTux123@proton.me)
-
Other developers: N/A
-
Release engineering: N/A
-
Trademark approval: N/A (not needed for this Change)
-
Alignment with the Fedora Strategy: I think it does.
Upgrade/compatibility impact
No required upgrade/compatibility changes. Could teoretically conflict with an existing file in /usr/lib/modules-load.d/ if the user has created one, but itâs incorrect to create one there since /etc/modules-load.d/ should be used instead.
Early Testing (Optional)
How To Test
Modprobe the ntsync module and/or create a file in /etc/modules-load.d/ to load it automatically.
User Experience
Better performance and compatibility with Windows applications (especially games) through Wine. Currently only applicable for custom builds of Wine/Proton.
Dependencies
N/A as far as I am aware.
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
- Contingency deadline: N/A (not a System Wide Change)
- Blocks release? N/A (not a System Wide Change)
Documentation
See âDetailed Descriptionâ section. There are some links there.
Release Notes
NTSYNC kernel module is now enabled by default for Wine packages\n\nThe NTSYNC kernel module has been enabled by default for users of Wine packages. It is present on kernel stable versions starting from 6.14. This provides better performance and compatibility for Windows applications running through Wine/Proton (especially games). Currently, this is only available for certain custom Wine/Proton builds, but Fedora is making the kernel module available ahead of the eventual merge in upstream Wine.
Last edited by @amoloney 2025-10-14T16:12:45Z
Last edited by @amoloney 2025-10-14T16:12:45Z
