From cf3ee4415a0126bfb7bb096dc6049f563d0b9cef Mon Sep 17 00:00:00 2001 From: Tk-Glitch Date: Sun, 29 Jan 2023 17:06:48 +0100 Subject: [PATCH] cfg: Enable _futex_waitv by default and move all the legacy or deprecated options to a "legacy options" section. LTS-only options are considered as legacy --- customization.cfg | 58 ++++++++++++++++++++++++----------------------- 1 file changed, 30 insertions(+), 28 deletions(-) diff --git a/customization.cfg b/customization.cfg index 1658602..4ce92b0 100644 --- a/customization.cfg +++ b/customization.cfg @@ -163,24 +163,6 @@ _acs_override="" # This can be buggy and isn't recommended on a production machine, also enabling this option will not allow you to enable MGLRU. _bcachefs="false" -# Set to "true" to add multi-generational LRU framework support on kernel 5.18+ - Improves memory pressure handling - https://lore.kernel.org/lkml/20220706220022.968789-1-yuzhao@google.com/ -# Older kernel versions might have a patch available in the community-patches repo -# ! This option will be disabled when bcachefs is enabled for now ! -_mglru="true" - -# Set to "true" to enable support for fsync, an experimental replacement for esync found in Valve Proton 4.11+ - https://steamcommunity.com/games/221410/announcements/detail/2957094910196249305 -# Can be enabled alongside _futex_waitv on 5.13+ to use it as a fallback for older Proton builds -_fsync="true" - -# Set to "true" to enable support for futex2, an experimental interface that can be used by proton-tkg and proton 5.13 experimental through Fsync - Can be enabled alongside fsync to use it as a fallback -# https://gitlab.collabora.com/tonyk/linux/-/tree/futex2-dev -_futex2="true" - -# Set to "true" to enable backported patches to add support for the futex_waitv() syscall, a new interface for fsync. It will appear in mainline at Linux 5.16 release and requires a wine/proton with builtin support for it. It's expected to be available in Valve Proton 6.3 stable soon - https://github.com/ValveSoftware/wine/pull/128 -# !! Disables futex2 interfaces support !! -# https://github.com/andrealmeid/futex_waitv_patches -_futex_waitv="false" - # Set to "true" to enable support for winesync, an experimental replacement for esync - requires patched wine - https://repo.or.cz/linux/zf.git/shortlog/refs/heads/winesync4 # ! Can't be used on multiple kernels installed side-by-side, which will require https://aur.archlinux.org/packages/winesync-dkms/ instead of this option ! _winesync="false" @@ -208,9 +190,6 @@ _compileroptlevel="1" # - "generic_v4" (depends on GCC11 - to share the package between machines with different CPU µarch supporting at least x86-64-v4 _processor_opt="" -# MuQSS only - Make IRQ threading compulsory (FORCE_IRQ_THREADING) - Default is "false" -_irq_threading="false" - # CacULE only - Enable Response Driven Balancer, an experimental load balancer for CacULE _cacule_rdb="false" @@ -227,10 +206,6 @@ _smt_nice="" # Trust the CPU manufacturer to initialize Linux's CRNG (RANDOM_TRUST_CPU) - Kernel default is "false" _random_trust_cpu="true" -# MuQSS only - CPU scheduler runqueue sharing - No sharing (RQ_NONE), SMT (hyperthread) siblings (RQ_SMT), Multicore siblings (RQ_MC), Symmetric Multi-Processing (RQ_SMP), NUMA (RQ_ALL) -# Valid values are "none", "smt", "mc", "mc-llc"(for zen), "smp", "all" - Kernel default is "smt" -_runqueue_sharing="" - # Timer frequency - "100" "250" "300" "500" "750" "1000" ("2000" is available for cacule cpusched only) - More options available in kernel config prompt when left empty depending on selected cpusched with the default option pointed with a ">" (2000 for cacule, 100 for muqss and 1000 for other cpu schedulers) _timer_freq="" @@ -264,14 +239,41 @@ _custom_pkgbase="" # If left empty, it will use "-tkg-${_cpusched}${_compiler}" where "${_cpusched}" will be replaced by the user chosen scheduler, ${_compiler} will be replaced by "-llvm" if clang is used (nothing for GCC). _kernel_localversion="" -# Set to "true" to add back missing symbol for AES-NI/AVX support on ZFS - This is a legacy option that can be ignored on 5.10+ kernels - https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/linux/kernel/export_kernel_fpu_functions.patch -_zfsfix="true" - # Set to your maximum number of CPUs (physical + logical cores) - Lower means less overhead - You can set it to "$(nproc)" to use the current host's CPU(s) core count, or leave empty to use default # If you set this to a lower value than you have cores, some cores will be disabled # Default Arch kernel value is 320 _NR_CPUS_value="" +#### LEGACY OPTIONS #### + +# Set to "true" to enable support for fsync, an experimental replacement for esync found in Valve Proton 4.11+ - https://steamcommunity.com/games/221410/announcements/detail/2957094910196249305 +# Can be enabled alongside _futex_waitv on 5.13+ to use it as a fallback for older Proton builds +_fsync="true" + +# Set to "true" to enable backported patches to add support for the futex_waitv() syscall, a new interface for fsync. Upstream as of 5.16 and requires a wine/proton with builtin support for it - https://github.com/ValveSoftware/wine/pull/128 +# !! Disables futex2 interfaces support !! +# https://github.com/andrealmeid/futex_waitv_patches +_futex_waitv="true" + +# Set to "true" to enable support for futex2, an experimental interface that can be used by proton-tkg and proton 5.13 experimental through Fsync - Can be enabled alongside fsync to use it as a fallback +# https://gitlab.collabora.com/tonyk/linux/-/tree/futex2-dev +_futex2="true" + +# Set to "true" to add back missing symbol for AES-NI/AVX support on ZFS - This is a legacy option that can be ignored on 5.10+ kernels - https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/linux/kernel/export_kernel_fpu_functions.patch +_zfsfix="true" + +# MuQSS only - CPU scheduler runqueue sharing - No sharing (RQ_NONE), SMT (hyperthread) siblings (RQ_SMT), Multicore siblings (RQ_MC), Symmetric Multi-Processing (RQ_SMP), NUMA (RQ_ALL) +# Valid values are "none", "smt", "mc", "mc-llc"(for zen), "smp", "all" - Kernel default is "smt" +_runqueue_sharing="" + +# MuQSS only - Make IRQ threading compulsory (FORCE_IRQ_THREADING) - Default is "false" +_irq_threading="false" + +# Set to "true" to add multi-generational LRU framework support on kernel 5.18+ - Improves memory pressure handling - https://lore.kernel.org/lkml/20220706220022.968789-1-yuzhao@google.com/ +# Older kernel versions might have a patch available in the community-patches repo +# Upstream as of 6.1 +# ! This option will be disabled when bcachefs is enabled ! +_mglru="true" #### USER PATCHES ####