The FSYNC Proton patch was included in all of the repository versions of linux58 but is missing from linux59 all of the sudden.
Does anyone know why the FSYNC patch was dropped? Is this an oversight? Will FSYNC be returning to 5.9 any time soon, or should we all get busy rolling our own custom kernels again?
October 22, 2020, 7:15am
I tried to build a RC version of 5.9 with the fsync patch some weeks ago and the build failed because the patch was not compatible with 5.9 yet.
That said, I did not check if there is a 5.9 compatible patch out yet. If you can find one, you might link it here so that @philm or @nightmare-2021 can pick it up.
I’m uploaded 5.9.1-2 with a new Futex patch to unstable.
Please test it and give me a feedback.
You’ll find all infos for the new patch (including new features) under the following link:
October 22, 2020, 11:26am
I would love to test it, but no unstable mirror contains it yet.
Building currently fails because
0103-futex1.patch is missing in the gitlab repo.
Mirrors must sync first - that doesn’t happen within seconds but always takes a while
October 22, 2020, 12:14pm
it was just that none of them had it, which is rather rare.
The mentioned patch-file is still missing on gitlab though
Happy to test it but I’m running testing branch. Soon as the patch-file is on gitlab I’ll build it (want to patch for nvidia as well)
I forgot to upload a patch to GitLab.
The following 3 patches are required for Futex:
The function of the individual patches is explained in detail in the link above (# 2)
Just got it thanks. Compiling now
October 22, 2020, 4:31pm
well, some tools (like lutris) detect that the kernel is fsync - patched and allow to switch it on, but wine(staging) and proton don’t register it as compatible and fall back to esync.
Thanks for the feedback - so we’ve to wait for a working patch.
You can help us a lot by looking for a solution yourself. None of us use the function, so we cannot help here.
October 22, 2020, 6:36pm
Here is my custom build with working fsync , project C scheduler & more + source
This file has been truncated.
# Maintainer: puxplaying
# Contributor: Leonidas Spyropoulos <artafinde AT gmail DOT com>
# Credit to graysky for shamelessly copying PKGBUILD from linux-ck
### BUILD OPTIONS
# Set these variables to ANYTHING that is not null to enable them
# Tweak kernel options prior to a build via nconfig
# Compile ONLY used modules to VASTLYreduce the number of modules built
# and the build time.
# To keep track of which modules are needed for your specific system/hardware,
# give module_db script a try: https://aur.archlinux.org/packages/modprobed-db
# This PKGBUILD read the database kept if it exists
# More at this wiki page ---> https://wiki.archlinux.org/index.php/Modprobed-db
This file has been truncated.
From 7b5df0248ce255ef5b7204d65a7b3783ebb76a3d Mon Sep 17 00:00:00 2001
From: Gabriel Krisman Bertazi <firstname.lastname@example.org>
Date: Fri, 13 Dec 2019 11:08:02 -0300
Subject: [PATCH 1/2] futex: Implement mechanism to wait on any of several
Content-Type: text/plain; charset=UTF-8
This is a new futex operation, called FUTEX_WAIT_MULTIPLE, which allows
a thread to wait on several futexes at the same time, and be awoken by
any of them. In a sense, it implements one of the features that was
supported by pooling on the old FUTEX_FD interface.
The use case lies in the Wine implementation of the Windows NT interface
WaitMultipleObjects. This Windows API function allows a thread to sleep
waiting on the first of a set of event sources (mutexes, timers, signal,
console input, etc) to signal. Considering this is a primitive
synchronization operation for Windows applications, being able to quickly
signal events on the producer side, and quickly go to sleep on the
I’m currently building version 5.9.1-3 with the patch.
Please test if it is online in unstable and give me feedback again.
I won’t update GitLab until it works.
It’s online - all the mirrors have to do is syncen.
And just for information - on my infernal machine a build for the 5.9 takes near 20 minutes
October 23, 2020, 11:28am
I am not using it. I just know how to test it because I was experimenting a bit with it in the past
October 29, 2020, 9:39am
and linux-ck ???