Enable NTSYNC kernel module for all users
Summary
This proposal aims to enable the NTSYNC kernel module by default for all users, which can improve compatibility and performance when running Windows applications (especially games) via Wine/Proton.
Owner
- Name: EpicTux123
- Email: EpicTux123@proton.me
Affected packages: Kernel, dracut or systemd (not sure), but it's just the addition of one file.
Current status
This change was superseded by a new one.
- Targeted release: Fedora Linux xxx
- Last updated: 2025-10-03
- Announced
- Discussion thread
- FESCo issue: #3472
- Tracker bug: <will be assigned by the Wrangler>
- Release notes tracker: <will be assigned by the Wrangler>
Detailed Description
The NT synchronization primitive driver, known as NTSYNC, is a mechanism used by Wine applications get better compatibility and more performance when running applications (especially games).
This proposal aims to enable the NTSYNC kernel module by default for all Fedora Linux users. It is present on stable kernel versions starting from 6.14.
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 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.
As far as I am aware, the default state of the module (to be enabled or disabled by default) is a decision that can be made upstream on the kernel side for everyone, or just downstream by a distro for its users. Since Fedora focuses on innovation, I think this is the correct place for it.
I very recently discovered the change process, so I am sorry for filling out out-of-date, but I think this change is mostly harmless for now.
For Fedora, this process would mean creating a file in /usr/lib/modules-load.d/ named "ntsync.conf" to load the "ntsync" kernel module.
Some reference links:
Kernel technical documentation: https://docs.kernel.org/next/userspace-api/ntsync.html
Article on GamingOnLinux: https://www.gamingonlinux.com/2025/01/ntsync-for-proton-wine-now-in-linux-kernel-6-14-that-should-make-many-steamos-users-happy/
Wine merge request: https://gitlab.winehq.org/wine/wine/-/merge_requests/7226
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.
When the merge request is eventually approved in upstream Wine, Fedora would already have the kernel module for all users available to use.
There is some feedback available in the GloriousEggRoll's Discord server for users testing the kernel driver in the latest version (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: #12831
- Policies and guidelines: N/A (*probably* not needed for this Change)
- Trademark approval: N/A (not needed for this Change)
- Alignment with the Fedora Strategy: I think it is aligned.
Upgrade/compatibility impact
Early Testing (Optional)
"Do you require 'QA Blueprint' support?" I have no idea.
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.
Dependencies
N/A as far as I am aware.
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) Revert the change to load the kernel module by default.
- Contingency deadline: N/A. It is a system-wide change, but this can be easily reverted.
- Blocks release? NO
Documentation
See "Detailed Description" section. There are some links there.
Release Notes
NTSYNC kernel module is now enabled by default
The NTSYNC kernel module has been enabled by default. 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.
