|
|
@@ -3,7 +3,7 @@
|
|
|
|
# Linux distribution you are using, options are "Arch", "Ubuntu", "Debian", "Fedora", "Suse", "Gentoo", "Generic".
|
|
|
|
# Linux distribution you are using, options are "Arch", "Ubuntu", "Debian", "Fedora", "Suse", "Gentoo", "Generic".
|
|
|
|
# It is automatically set to "Arch" when using PKGBUILD.
|
|
|
|
# It is automatically set to "Arch" when using PKGBUILD.
|
|
|
|
# If left empty, the script will prompt
|
|
|
|
# If left empty, the script will prompt
|
|
|
|
_distro=""
|
|
|
|
_distro="Arch"
|
|
|
|
|
|
|
|
|
|
|
|
# Kernel Version - Options are "5.4", and from "5.7" to "5.19"
|
|
|
|
# Kernel Version - Options are "5.4", and from "5.7" to "5.19"
|
|
|
|
# you can also set a specific kernel version, e.g. "6.0-rc4" or "5.10.51",
|
|
|
|
# you can also set a specific kernel version, e.g. "6.0-rc4" or "5.10.51",
|
|
|
@@ -46,7 +46,7 @@ CUSTOM_GCC_PATH=""
|
|
|
|
CUSTOM_LLVM_PATH=""
|
|
|
|
CUSTOM_LLVM_PATH=""
|
|
|
|
|
|
|
|
|
|
|
|
# Set to true to bypass makepkg.conf and use all available threads for compilation. False will respect your makepkg.conf options.
|
|
|
|
# Set to true to bypass makepkg.conf and use all available threads for compilation. False will respect your makepkg.conf options.
|
|
|
|
_force_all_threads="true"
|
|
|
|
_force_all_threads="false"
|
|
|
|
|
|
|
|
|
|
|
|
# Set to true to prevent ccache from being used and set CONFIG_GCC_PLUGINS=y (which needs to be disabled for ccache to work properly)
|
|
|
|
# Set to true to prevent ccache from being used and set CONFIG_GCC_PLUGINS=y (which needs to be disabled for ccache to work properly)
|
|
|
|
_noccache="false"
|
|
|
|
_noccache="false"
|
|
|
@@ -60,10 +60,10 @@ _modprobeddb="false"
|
|
|
|
_modprobeddb_db_path=~/.config/modprobed.db
|
|
|
|
_modprobeddb_db_path=~/.config/modprobed.db
|
|
|
|
|
|
|
|
|
|
|
|
# Set to "1" to call make menuconfig, "2" to call make nconfig, "3" to call make xconfig, before building the kernel. Set to false to disable and skip the prompt.
|
|
|
|
# Set to "1" to call make menuconfig, "2" to call make nconfig, "3" to call make xconfig, before building the kernel. Set to false to disable and skip the prompt.
|
|
|
|
_menunconfig=""
|
|
|
|
_menunconfig="false"
|
|
|
|
|
|
|
|
|
|
|
|
# Set to true to generate a kernel config fragment from your changes in menuconfig/nconfig. Set to false to disable and skip the prompt.
|
|
|
|
# Set to true to generate a kernel config fragment from your changes in menuconfig/nconfig. Set to false to disable and skip the prompt.
|
|
|
|
_diffconfig=""
|
|
|
|
_diffconfig="false"
|
|
|
|
|
|
|
|
|
|
|
|
# Set to the file name where the generated config fragment should be written to. Only used if _diffconfig is active.
|
|
|
|
# Set to the file name where the generated config fragment should be written to. Only used if _diffconfig is active.
|
|
|
|
_diffconfig_name=""
|
|
|
|
_diffconfig_name=""
|
|
|
@@ -97,11 +97,11 @@ _STRIP="true"
|
|
|
|
# LEAVE AN EMPTY VALUE TO BE PROMPTED ABOUT FOLLOWING OPTIONS AT BUILD TIME
|
|
|
|
# LEAVE AN EMPTY VALUE TO BE PROMPTED ABOUT FOLLOWING OPTIONS AT BUILD TIME
|
|
|
|
|
|
|
|
|
|
|
|
# CPU scheduler - Options are "upds" (TkG's Undead PDS), "pds", "bmq", "muqss", "cacule", "tt", "bore" or "cfs" (kernel's default)
|
|
|
|
# CPU scheduler - Options are "upds" (TkG's Undead PDS), "pds", "bmq", "muqss", "cacule", "tt", "bore" or "cfs" (kernel's default)
|
|
|
|
_cpusched=""
|
|
|
|
_cpusched="pds"
|
|
|
|
|
|
|
|
|
|
|
|
# Compiler to use - Options are "gcc" or "llvm".
|
|
|
|
# Compiler to use - Options are "gcc" or "llvm".
|
|
|
|
# For advanced users.
|
|
|
|
# For advanced users.
|
|
|
|
_compiler=""
|
|
|
|
_compiler="gcc"
|
|
|
|
|
|
|
|
|
|
|
|
# Force the use of the LLVM Integrated Assembler whether using LLVM, LTO or not.
|
|
|
|
# Force the use of the LLVM Integrated Assembler whether using LLVM, LTO or not.
|
|
|
|
# Set to "1" to enable.
|
|
|
|
# Set to "1" to enable.
|
|
|
@@ -131,7 +131,7 @@ _preempt_rt_force=""
|
|
|
|
# For BMQ: 0: No yield.
|
|
|
|
# For BMQ: 0: No yield.
|
|
|
|
# 1: Deboost and requeue task. (Default)
|
|
|
|
# 1: Deboost and requeue task. (Default)
|
|
|
|
# 2: Set rq skip task.
|
|
|
|
# 2: Set rq skip task.
|
|
|
|
_sched_yield_type=""
|
|
|
|
_sched_yield_type="0"
|
|
|
|
|
|
|
|
|
|
|
|
# Round Robin interval is the longest duration two tasks with the same nice level will be delayed for. When CPU time is requested by a task, it receives a time slice equal
|
|
|
|
# Round Robin interval is the longest duration two tasks with the same nice level will be delayed for. When CPU time is requested by a task, it receives a time slice equal
|
|
|
|
# to the rr_interval in addition to a virtual deadline. When using yield_type 2, a low value can help offset the disadvantages of rescheduling a process that has yielded.
|
|
|
|
# to the rr_interval in addition to a virtual deadline. When using yield_type 2, a low value can help offset the disadvantages of rescheduling a process that has yielded.
|
|
|
@@ -139,7 +139,7 @@ _sched_yield_type=""
|
|
|
|
# PDS default: 4ms"
|
|
|
|
# PDS default: 4ms"
|
|
|
|
# BMQ default: 2ms"
|
|
|
|
# BMQ default: 2ms"
|
|
|
|
# Set to "1" for 2ms, "2" for 4ms, "3" for 6ms, "4" for 8ms, or "default" to keep the chosen scheduler defaults.
|
|
|
|
# Set to "1" for 2ms, "2" for 4ms, "3" for 6ms, "4" for 8ms, or "default" to keep the chosen scheduler defaults.
|
|
|
|
_rr_interval=""
|
|
|
|
_rr_interval="2"
|
|
|
|
|
|
|
|
|
|
|
|
# Set to "true" to disable FUNCTION_TRACER/GRAPH_TRACER, lowering overhead but limiting debugging and analyzing of kernel functions - Kernel default is "false"
|
|
|
|
# Set to "true" to disable FUNCTION_TRACER/GRAPH_TRACER, lowering overhead but limiting debugging and analyzing of kernel functions - Kernel default is "false"
|
|
|
|
_ftracedisable="false"
|
|
|
|
_ftracedisable="false"
|
|
|
@@ -154,45 +154,27 @@ _misc_adds="true"
|
|
|
|
# Full tickless can give higher performances in case you use isolation of CPUs for tasks
|
|
|
|
# Full tickless can give higher performances in case you use isolation of CPUs for tasks
|
|
|
|
# and it works only when using the nohz_full kernel parameter, otherwise behaves like idle.
|
|
|
|
# and it works only when using the nohz_full kernel parameter, otherwise behaves like idle.
|
|
|
|
# Just tickless idle perform better for most platforms.
|
|
|
|
# Just tickless idle perform better for most platforms.
|
|
|
|
_tickless=""
|
|
|
|
_tickless="2"
|
|
|
|
|
|
|
|
|
|
|
|
# Set to "true" to use ACS override patch - https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF#Bypassing_the_IOMMU_groups_.28ACS_override_patch.29 - Kernel default is "false"
|
|
|
|
# Set to "true" to use ACS override patch - https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF#Bypassing_the_IOMMU_groups_.28ACS_override_patch.29 - Kernel default is "false"
|
|
|
|
_acs_override=""
|
|
|
|
_acs_override="false"
|
|
|
|
|
|
|
|
|
|
|
|
# Set to "true" to add Bcache filesystem support. You'll have to install bcachefs-tools-git from AUR for utilities - https://bcachefs.org/ - If in doubt, set to "false"
|
|
|
|
# Set to "true" to add Bcache filesystem support. You'll have to install bcachefs-tools-git from AUR for utilities - https://bcachefs.org/ - If in doubt, set to "false"
|
|
|
|
# This can be buggy and isn't recommended on a production machine, also enabling this option will not allow you to enable MGLRU.
|
|
|
|
# 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"
|
|
|
|
_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
|
|
|
|
# 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 !
|
|
|
|
# ! 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"
|
|
|
|
_winesync="false"
|
|
|
|
|
|
|
|
|
|
|
|
# Set to "true" to enable Binder and Ashmem, the kernel modules required to use the android emulator Anbox. ! This doesn't apply to 5.4.y !
|
|
|
|
# Set to "true" to enable Binder and Ashmem, the kernel modules required to use the android emulator Anbox. ! This doesn't apply to 5.4.y !
|
|
|
|
_anbox=""
|
|
|
|
_anbox="false"
|
|
|
|
|
|
|
|
|
|
|
|
# A selection of patches from Zen/Liquorix kernel and additional tweaks for a better gaming experience (ZENIFY) - Default is "true"
|
|
|
|
# A selection of patches from Zen/Liquorix kernel and additional tweaks for a better gaming experience (ZENIFY) - Default is "true"
|
|
|
|
_zenify="true"
|
|
|
|
_zenify="true"
|
|
|
|
|
|
|
|
|
|
|
|
# compiler optimization level - 1. Optimize for performance (-O2); 2. Optimize harder (-O3); 3. Optimize for size (-Os) - Kernel default is "1"
|
|
|
|
# compiler optimization level - 1. Optimize for performance (-O2); 2. Optimize harder (-O3); 3. Optimize for size (-Os) - Kernel default is "1"
|
|
|
|
_compileroptlevel="1"
|
|
|
|
_compileroptlevel="2"
|
|
|
|
|
|
|
|
|
|
|
|
# CPU compiler optimizations - Defaults to prompt at kernel config if left empty
|
|
|
|
# CPU compiler optimizations - Defaults to prompt at kernel config if left empty
|
|
|
|
# AMD CPUs : "k8" "k8sse3" "k10" "barcelona" "bobcat" "jaguar" "bulldozer" "piledriver" "steamroller" "excavator" "zen" "zen2" "zen3" "zen4" (zen3 opt support depends on GCC11) (zen4 opt support depends on GCC13)
|
|
|
|
# AMD CPUs : "k8" "k8sse3" "k10" "barcelona" "bobcat" "jaguar" "bulldozer" "piledriver" "steamroller" "excavator" "zen" "zen2" "zen3" "zen4" (zen3 opt support depends on GCC11) (zen4 opt support depends on GCC13)
|
|
|
@@ -206,10 +188,7 @@ _compileroptlevel="1"
|
|
|
|
# - "generic_v2" (depends on GCC11 - to share the package between machines with different CPU µarch supporting at least x86-64-v2
|
|
|
|
# - "generic_v2" (depends on GCC11 - to share the package between machines with different CPU µarch supporting at least x86-64-v2
|
|
|
|
# - "generic_v3" (depends on GCC11 - to share the package between machines with different CPU µarch supporting at least x86-64-v3
|
|
|
|
# - "generic_v3" (depends on GCC11 - to share the package between machines with different CPU µarch supporting at least x86-64-v3
|
|
|
|
# - "generic_v4" (depends on GCC11 - to share the package between machines with different CPU µarch supporting at least x86-64-v4
|
|
|
|
# - "generic_v4" (depends on GCC11 - to share the package between machines with different CPU µarch supporting at least x86-64-v4
|
|
|
|
_processor_opt=""
|
|
|
|
_processor_opt="skylake"
|
|
|
|
|
|
|
|
|
|
|
|
# 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 only - Enable Response Driven Balancer, an experimental load balancer for CacULE
|
|
|
|
_cacule_rdb="false"
|
|
|
|
_cacule_rdb="false"
|
|
|
@@ -222,17 +201,13 @@ _cacule_rdb_interval="19"
|
|
|
|
_tt_high_hz="false"
|
|
|
|
_tt_high_hz="false"
|
|
|
|
|
|
|
|
|
|
|
|
# MuQSS and PDS only - SMT (Hyperthreading) aware nice priority and policy support (SMT_NICE) - Kernel default is "true" - You can disable this on non-SMT/HT CPUs for lower overhead
|
|
|
|
# MuQSS and PDS only - SMT (Hyperthreading) aware nice priority and policy support (SMT_NICE) - Kernel default is "true" - You can disable this on non-SMT/HT CPUs for lower overhead
|
|
|
|
_smt_nice=""
|
|
|
|
_smt_nice="true"
|
|
|
|
|
|
|
|
|
|
|
|
# Trust the CPU manufacturer to initialize Linux's CRNG (RANDOM_TRUST_CPU) - Kernel default is "false"
|
|
|
|
# Trust the CPU manufacturer to initialize Linux's CRNG (RANDOM_TRUST_CPU) - Kernel default is "false"
|
|
|
|
_random_trust_cpu="true"
|
|
|
|
_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 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=""
|
|
|
|
_timer_freq="500"
|
|
|
|
|
|
|
|
|
|
|
|
# Default CPU governor - "performance", "ondemand", "schedutil" or leave empty for default (schedutil)
|
|
|
|
# Default CPU governor - "performance", "ondemand", "schedutil" or leave empty for default (schedutil)
|
|
|
|
_default_cpu_gov="ondemand"
|
|
|
|
_default_cpu_gov="ondemand"
|
|
|
@@ -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).
|
|
|
|
# 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=""
|
|
|
|
_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
|
|
|
|
# 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
|
|
|
|
# If you set this to a lower value than you have cores, some cores will be disabled
|
|
|
|
# Default Arch kernel value is 320
|
|
|
|
# Default Arch kernel value is 320
|
|
|
|
_NR_CPUS_value=""
|
|
|
|
_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 ####
|
|
|
|
#### USER PATCHES ####
|
|
|
|
|
|
|
|
|
|
|
|