Wiki - https://fedoraproject.org/wiki/Changes/NTSYNC
Discussion post -
https://discussion.fedoraproject.org/t/f44-change-proposal-enable-ntsync-kernel-module-for-all-users-system-wide/161786
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 by default for
all users, which can improve compatibility and performance when
running Windows applications (especially games) via Wine/Proton.
== 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 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 <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
== 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: [https://pagure.io/releng/issue/12831 #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.
--
Aoife Moloney
Fedora Operations Architect
Fedora Project
Matrix: @amoloney:fedora.im
IRC: amoloney
--
_______________________________________________
devel-announce mailing list -- devel-announce@lists.fedoraproject.org
To unsubscribe send an email to devel-announce-leave@lists.fedoraproject.org
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/devel-announce@lists.fedoraproject.org
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
No comments:
Post a Comment