Tuesday, October 7, 2025

F44 Change Proposal: NTSYNC-Contained [SelfContained]

Wiki: https://fedoraproject.org/wiki/Changes/NTSYNC-Contained

Discussion Thread: https://discussion.fedoraproject.org/t/f44-change-proposal-ntsync-contained-selfcontained/167741

**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: https://fedoraproject.org/wiki/Changes/NTSYNC.

== 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 <code>wine-ntsync</code> would be created in the Fedora's repos. Its only intention would be to add the file <code>/usr/lib/modules-load.d/ntsync.conf</code> with the content <code>ntsync</code> 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: https://docs.kernel.org/next/userspace-api/ntsync.html <br>
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/ <br>
Wine merge request: https://gitlab.winehq.org/wine/wine/-/merge_requests/7226

Since the creation of the previous change, progress has been made upstream such as https://gitlab.winehq.org/wine/wine/-/merge_requests/9014.

== 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 <code>wine</code> 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 ==

For complete details, please see the wiki page linked above.

No comments:

Post a Comment