linux510/511-tkg: Offer futex2 patchset as a toggle option
- Enables CONFIG_EXPERT automatically when futex2 is enabled - Adds the necessary entries to the config for unattended building (suppress prompts from having CONFIG_EXPERT enabled)
This commit is contained in:
parent
5c0036d74b
commit
f3eba51c33
6
PKGBUILD
6
PKGBUILD
@ -53,7 +53,7 @@ else
|
||||
fi
|
||||
pkgname=("${pkgbase}" "${pkgbase}-headers")
|
||||
pkgver="${_basekernel}"."${_sub}"
|
||||
pkgrel=124
|
||||
pkgrel=126
|
||||
pkgdesc='Linux-tkg'
|
||||
arch=('x86_64') # no i686 in here
|
||||
url="http://www.kernel.org/"
|
||||
@ -308,6 +308,7 @@ case $_basever in
|
||||
0005-glitched-pds.patch
|
||||
0006-add-acs-overrides_iommu.patch
|
||||
0007-v5.10-fsync.patch
|
||||
0007-v5.10-futex2_interface.patch
|
||||
0008-5.10-bcachefs.patch
|
||||
0009-glitched-ondemand-bmq.patch
|
||||
0009-glitched-bmq.patch
|
||||
@ -336,6 +337,7 @@ case $_basever in
|
||||
'fca63d15ca4502aebd73e76d7499b243d2c03db71ff5ab0bf5cf268b2e576320'
|
||||
'19661ec0d39f9663452b34433214c755179894528bf73a42f6ba52ccf572832a'
|
||||
'b302ba6c5bbe8ed19b20207505d513208fae1e678cf4d8e7ac0b154e5fe3f456'
|
||||
'47c05c6e7e1280dca137ed2139dac7da0d026a27d5590fd386748d1827288a61'
|
||||
'c5dd103953b8830640538ba30ff511028bd93310f95e4f5587a6ed5e6414a60d'
|
||||
'9fad4a40449e09522899955762c8928ae17f4cdaa16e01239fd12592e9d58177'
|
||||
'a557b342111849a5f920bbe1c129f3ff1fc1eff62c6bd6685e0972fc88e39911'
|
||||
@ -368,6 +370,7 @@ case $_basever in
|
||||
0005-glitched-pds.patch
|
||||
0006-add-acs-overrides_iommu.patch
|
||||
0007-v5.11-fsync.patch
|
||||
0007-v5.11-futex2_interface.patch
|
||||
#0008-5.11-bcachefs.patch
|
||||
0009-glitched-ondemand-bmq.patch
|
||||
0009-glitched-bmq.patch
|
||||
@ -391,6 +394,7 @@ case $_basever in
|
||||
'fca63d15ca4502aebd73e76d7499b243d2c03db71ff5ab0bf5cf268b2e576320'
|
||||
'19661ec0d39f9663452b34433214c755179894528bf73a42f6ba52ccf572832a'
|
||||
'b302ba6c5bbe8ed19b20207505d513208fae1e678cf4d8e7ac0b154e5fe3f456'
|
||||
'073e7b8ab48aa9abdb5cedb5c729a2f624275ebdbe1769476231c9e712145496'
|
||||
'9fad4a40449e09522899955762c8928ae17f4cdaa16e01239fd12592e9d58177'
|
||||
'a557b342111849a5f920bbe1c129f3ff1fc1eff62c6bd6685e0972fc88e39911'
|
||||
'ad3ff525e9e7cd53e0f9a19350c144398dffa943573b9741f4cdb085b05efffe'
|
||||
|
@ -121,6 +121,10 @@ _zfsfix=""
|
||||
# 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
|
||||
_fsync=""
|
||||
|
||||
# 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=""
|
||||
|
||||
# Set to "true" to enable the Binder and Ashmem, the kernel modules required to use the android emulator Anbox.
|
||||
_anbox=""
|
||||
|
||||
|
@ -494,8 +494,89 @@ _tkg_srcprep() {
|
||||
sed -i -e 's/# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set/CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4=y/' ./.config
|
||||
sed -i -e 's/CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"/CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lz4"/' ./.config
|
||||
sed -i -e 's/# CONFIG_CMDLINE_BOOL is not set/CONFIG_CMDLINE_BOOL=y/' ./.config
|
||||
if [ "$_config_expert" = "true" ]; then
|
||||
if [ "$_futex2" = "true" ] || [ "$_config_expert" = "true" ]; then
|
||||
sed -i -e 's/# CONFIG_EXPERT is not set/CONFIG_EXPERT=y/' ./.config
|
||||
echo -e "# CONFIG_DEBUG_RSEQ is not set\n
|
||||
# CONFIG_PC104 is not set\n
|
||||
# CONFIG_SLUB_MEMCG_SYSFS_ON is not set\n
|
||||
# CONFIG_SLOB is not set\n
|
||||
# CONFIG_PROCESSOR_SELECT is not set\n
|
||||
# CONFIG_SUSPEND_SKIP_SYNC is not set\n
|
||||
# CONFIG_DPM_WATCHDOG is not set\n
|
||||
# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set\n
|
||||
# CONFIG_PCI_CNB20LE_QUIRK is not set\n
|
||||
# CONFIG_ISA_BUS is not set\n
|
||||
CONFIG_KVM_WERROR=y\n
|
||||
# CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set\n
|
||||
# CONFIG_CFG80211_CERTIFICATION_ONUS is not set\n
|
||||
# CONFIG_PCIE_BUS_TUNE_OFF is not set\n
|
||||
CONFIG_PCIE_BUS_DEFAULT=y\n
|
||||
# CONFIG_PCIE_BUS_SAFE is not set\n
|
||||
# CONFIG_PCIE_BUS_PERFORMANCE is not set\n
|
||||
# CONFIG_PCIE_BUS_PEER2PEER is not set\n
|
||||
# CONFIG_PATA_PLATFORM is not set\n
|
||||
# CONFIG_TTY_PRINTK is not set\n
|
||||
# CONFIG_GPIO_SYSFS is not set\n
|
||||
# CONFIG_VIDEO_TDA1997X is not set\n
|
||||
# CONFIG_VIDEO_TLV320AIC23B is not set\n
|
||||
# CONFIG_VIDEO_ADV7180 is not set\n
|
||||
# CONFIG_VIDEO_ADV7183 is not set\n
|
||||
# CONFIG_VIDEO_ADV7604 is not set\n
|
||||
# CONFIG_VIDEO_ADV7842 is not set\n
|
||||
# CONFIG_VIDEO_BT819 is not set\n
|
||||
# CONFIG_VIDEO_BT856 is not set\n
|
||||
# CONFIG_VIDEO_BT866 is not set\n
|
||||
# CONFIG_VIDEO_KS0127 is not set\n
|
||||
# CONFIG_VIDEO_ML86V7667 is not set\n
|
||||
# CONFIG_VIDEO_SAA7110 is not set\n
|
||||
# CONFIG_VIDEO_TC358743 is not set\n
|
||||
# CONFIG_VIDEO_TVP514X is not set\n
|
||||
# CONFIG_VIDEO_TVP7002 is not set\n
|
||||
# CONFIG_VIDEO_TW9910 is not set\n
|
||||
# CONFIG_VIDEO_VPX3220 is not set\n
|
||||
# CONFIG_VIDEO_SAA7185 is not set\n
|
||||
# CONFIG_VIDEO_ADV7170 is not set\n
|
||||
# CONFIG_VIDEO_ADV7175 is not set\n
|
||||
# CONFIG_VIDEO_ADV7343 is not set\n
|
||||
# CONFIG_VIDEO_ADV7393 is not set\n
|
||||
# CONFIG_VIDEO_ADV7511 is not set\n
|
||||
# CONFIG_VIDEO_AD9389B is not set\n
|
||||
# CONFIG_VIDEO_AK881X is not set\n
|
||||
# CONFIG_VIDEO_THS8200 is not set\n
|
||||
# CONFIG_VIDEO_THS7303 is not set\n
|
||||
# CONFIG_VIDEO_I2C is not set\n
|
||||
# CONFIG_VIDEO_ST_MIPID02 is not set\n
|
||||
# CONFIG_VIDEO_GS1662 is not set\n
|
||||
# CONFIG_MEDIA_TUNER_MSI001 is not set\n
|
||||
# CONFIG_DVB_S5H1432 is not set\n
|
||||
# CONFIG_DVB_DIB9000 is not set\n
|
||||
# CONFIG_DVB_CXD2880 is not set\n
|
||||
# CONFIG_DVB_MN88443X is not set\n
|
||||
# CONFIG_DVB_LNBH29 is not set\n
|
||||
# CONFIG_DVB_LGS8GL5 is not set\n
|
||||
# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set\n
|
||||
# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set\n
|
||||
# CONFIG_DRM_I915_WERROR is not set\n
|
||||
# CONFIG_DRM_I915_DEBUG is not set\n
|
||||
# CONFIG_DRM_I915_DEBUG_MMIO is not set\n
|
||||
# CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS is not set\n
|
||||
# CONFIG_DRM_I915_SW_FENCE_CHECK_DAG is not set\n
|
||||
# CONFIG_DRM_I915_DEBUG_GUC is not set\n
|
||||
# CONFIG_DRM_I915_SELFTEST is not set\n
|
||||
# CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS is not set\n
|
||||
# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set\n
|
||||
# CONFIG_DRM_I915_DEBUG_RUNTIME_PM is not set\n
|
||||
# CONFIG_FB_INTEL is not set\n
|
||||
# CONFIG_SND_SOC_SOF_DEVELOPER_SUPPORT is not set\n
|
||||
# CONFIG_USB_KBD is not set\n
|
||||
# CONFIG_USB_MOUSE is not set\n
|
||||
# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set\n
|
||||
# CONFIG_HARDENED_USERCOPY_PAGESPAN is not set\n
|
||||
CONFIG_PAHOLE_HAS_SPLIT_BTF=y\n
|
||||
CONFIG_DEBUG_INFO_BTF_MODULES=y\n
|
||||
# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B is not set\n
|
||||
# CONFIG_WIRELESS_WDS is not set\n
|
||||
# CONFIG_UNWINDER_GUESS is not set" >> ./.config
|
||||
fi
|
||||
echo "CONFIG_CMDLINE=\"${_custom_commandline}\"" >> ./.config
|
||||
echo "# CONFIG_CMDLINE_OVERRIDE is not set" >> ./.config
|
||||
@ -1006,6 +1087,21 @@ _tkg_srcprep() {
|
||||
tkgpatch="$srcdir/0007-v${_basekernel}-fsync.patch" && _tkg_patcher
|
||||
fi
|
||||
|
||||
# futex2 support
|
||||
if [ -z "$_futex2" ]; then
|
||||
plain ""
|
||||
plain "Enable support for futex2, an experimental replacement for esync and fsync in Valve Proton 5.13 experimental"
|
||||
plain "Can be enabled alongside regular fsync patchset to have a fallback option"
|
||||
plain "https://gitlab.collabora.com/tonyk/linux/-/tree/futex2-dev"
|
||||
plain "https://github.com/ValveSoftware/Proton/issues/4568"
|
||||
read -rp "`echo $' > N/y : '`" CONDITION10;
|
||||
fi
|
||||
if [[ "$CONDITION10" =~ [yY] ]] || [ "$_futex2" = "true" ]; then
|
||||
msg2 "Patching futex2 support"
|
||||
tkgpatch="$srcdir/0007-v${_basekernel}-futex2_interface.patch" && _tkg_patcher
|
||||
echo "CONFIG_FUTEX2=y" >> ./.config
|
||||
fi
|
||||
|
||||
# ZFS fix
|
||||
if [ "$_basever" = "54" ] || [ "$_basever" = "57" ] || [ "$_basever" = "58" ]; then
|
||||
if [ -z "$_zfsfix" ]; then
|
||||
@ -1082,7 +1178,7 @@ _tkg_srcprep() {
|
||||
read -rp "`echo $' > N/y : '`" CONDITIONMPDB;
|
||||
fi
|
||||
if [[ "$CONDITIONMPDB" =~ [yY] ]] || [ "$_modprobeddb" = "true" ]; then
|
||||
if [ "$_config_expert" = "true" ];then
|
||||
if [ "$_futex2" = "true" ] || [ "$_config_expert" = "true" ];then
|
||||
make LSMOD=${HOME}/.config/modprobed.db localmodconfig ${llvm_opt}
|
||||
else
|
||||
yes "" | make LSMOD=${HOME}/.config/modprobed.db localmodconfig ${llvm_opt}
|
||||
|
2020
linux-tkg-patches/5.10/0007-v5.10-futex2_interface.patch
Normal file
2020
linux-tkg-patches/5.10/0007-v5.10-futex2_interface.patch
Normal file
File diff suppressed because it is too large
Load Diff
4423
linux-tkg-patches/5.11/0007-v5.11-futex2_interface.patch
Normal file
4423
linux-tkg-patches/5.11/0007-v5.11-futex2_interface.patch
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user