If you run games with Proton, you might want to test fsync! For more details, refer to
this announcement.
Source code:
If you know how to build the kernel, the testing branch is over there:
https://gitlab.collabora.com/krisman/linux/commits/futex-wait-multiple-masterDistribution packages:
Arch LinuxA linux-fsync package is available on the AUR at:
https://aur.archlinux.org/pkgbase/linux-fsync/An Arch repository with pre-built packages is also available, see pinned comments on the AUR page for more information.
UbuntuWe're maintaining PPAs for
Ubuntu 18.04[launchpad.net] and
Ubuntu 19.04[launchpad.net]. It's recommended to ppa-purge any other PPAs that include the kernel, like our SteamVR PPA.
After adding the PPA, installing `linux-mfutex-valve` and rebooting into our kernel should be the only step needed.
For example, to start testing on Ubuntu 18.04:
sudo add-apt-repository ppa:valve-experimental/kernel-bionic
sudo apt install linux-mfutex-valve
sudo reboot
Testing instructions:
Mostly we are trying to make sure all games work fine with fsync; a slight CPU use reduction might be observed during testing.
If using Proton 4.11, fsync is enabled by default if the right kernel support is detected. You should see console messages in the form of:
fsync: up and running.
To narrow down any new issues, the PROTON_NO_FSYNC=1 variable can be set to revert to esync even when an fsync-capable kernel is installed.
If you can reproduce a crash or performance regression that consistently goes away with PROTON_NO_FSYNC=1, please report it in
the dedicated fsync issue[github.com].
Post any performance results with 4.11 and fsync toggled on/off to
the performance results issue[github.com].
1
1
👁 :installgen2:
What are the packages called?
By the way, by the commit list the futex-wait-multiple kernel is 5.3 based
The PPA mentioned in the description is actually incorrect, however the link provided is:
ppa:valve-experimental/kernel-bionic
Using Manajaro, Kernal 5.2.4
Preparing...
Cloning linux-fsync build files...
Checking linux-fsync dependencies...
Building linux-fsync...
==> Making package: linux-fsync 5.2.1.arch1-1 (Tue 30 Jul 2019 09:20:01 PM EDT)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Updating archlinux-linux git repo...
Fetching origin
-> Found config
-> Found 60-linux.hook
-> Found 90-linux.hook
-> Found linux.preset
-> Found futex-wait-multiple-5.2.1.patch
-> Found futex-Consolidate-duplicated-timer-setup-code.patch
==> Validating source files with sha256sums...
archlinux-linux ... Skipped
config ... Passed
60-linux.hook ... Passed
90-linux.hook ... Passed
linux.preset ... Passed
futex-wait-multiple-5.2.1.patch ... Passed
futex-Consolidate-duplicated-timer-setup-code.patch ... Passed
==> Verifying source file signatures with gpg...
archlinux-linux git repo ... FAILED (unknown public key A5E9288C4FA415FA)
==> ERROR: One or more PGP signatures could not be verified!