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: [email protected]
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.
-- 
_______________________________________________
devel-announce mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue
-- 
_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to