3c7fd7b2e5
* linux57: Add make xconfig option * Linux57: copy PKGBUILD initial commands to _tkg_initscript() * linux57: Update _tkg_initscript() in "tkg-config/prepare" * linux57: Add _define_vars() function in tkg-config/prepare * linux57: Prepend "$_where" to patch paths, in _tkg_srcprep() This is done to be able to change the $_where in the non-Arch install script * linux57: Add distro choice config in customization.cfg, enable "Ubuntu" as option Show options that won't apply when target distro is Ubuntu * linux57: Isolate Arch specific commands in _tkg_srcprep() * linux57: make _tkg_initscript() more verbose * WIP: linux57: Add install.sh script The script downloads linux's source code, applies patches, and handles the .config file after copying the one from the distribution it's running on. TODO: Implement install (and maybe uninstall) * linux57: Add make xconfig option description in customization.cfg * linux57: Fix _EXT_CONFIG_PATH usage and variable sourcing * linux57: Add missing space in condition * linux57: Make _EXT_CONFIG_PATH description as usable by Ubuntu install script * linux57: Add LOCALVERSION kernel choice variable in customization.cfg For now it won't apply for Arch, but can be implemented * linux57: Properly delete linux source folder * linux57: Add progress message when doing make oldconfig * linux57: Add kernel compilation for Ubuntu * linux57: Fix warning in if condition * linux57: Add message when downloading CPU opt patch * linux57: Make script exit at any error * linux57: Move to linux (base version + subversion patch) approach * linux57: Use git to get/reset linux sources and move between subversions This approach has the least impact on the hard-drive given that only the files that need to be changed get changed by git. * linux57: Fix external config loading message * linux57: install.sh: use latest subersion, enable reverting to older ones * linux57: Add extra cleanup steps * Move user_patcher() to tkg-config/prepare * linux57: restore old patch files for old kernel subversions Old kernel subversions are needed for Ubuntu since the latest ones fail to build. * linux57: Define and use script location variable Makes folder navigation more reliable in the script * linux57: Add install step * linux57: install.sh: Uncomment compilation step * linux57: install.sh: Add "config" and "install" commands * linux57: install.sh: Add uninstall command * linux57: Add relative path for misc-patch * Fix leak error for CONFIG_PDS in make deb-pkg * linux57: Define _where in _tkg_srcprep for Arch * Revert "linux57: restore old patch files for old kernel subversions" This reverts commit 65dcbd654c4151283189505c826903c342782d0e. * linux57: Update shasum for pds-undead patch * linux57: Drop support for reverting to older subversions Latest kernel subversions should now work on other distros too * linux57: install.sh load user given customization.cfg first * linux57: install.sh install Ubuntu dependencies * linux57: install.sh: add help message for available commands * linux57: replace _misc_adds with _distro variable * linux57: Update README.md * linux57: README.md: fix typo * linux57: README.md: remove "nano customization.cfg" line * linux57: README.md: fix formatting * Revert "linux57: Update shasum for pds-undead patch" This reverts commit 3c6abef7993a02fc0ae97c23aab379968daa3a31. * Revert "Fix leak error for CONFIG_PDS in make deb-pkg" This reverts commit 40a2a002ae060b309a465d5b6c22a7b91828af0a. * linux57: tkg-config/prepare: remove unused variable defines * linux57: install.sh: use var for folder cleanup * Revert "linux57: replace _misc_adds with _distro variable" This reverts commit 9efdd31b8c0e4c34b2e2878de5bca83ea8e73018.
70 lines
2.9 KiB
Markdown
70 lines
2.9 KiB
Markdown
**Due to intel_pstate poor performances as of late, I have decided to set it to passive mode to make use of the acpi_cpufreq governors passthrough, keeping full support for turbo frequencies.**
|
|
|
|
A custom Linux kernel 5.7.y with specific PDS, MuQSS and Project C / BMQ CPU schedulers related patchsets selector (stock CFS is also an option) and added tweaks for a nice interactivity/performance balance, aiming for the best gaming experience.
|
|
|
|
Various personalization options available and userpatches support (put your own patches in the same dir as the PKGBUILD, with the ".mypatch" extension.
|
|
|
|
MuQSS : http://ck-hack.blogspot.com/
|
|
|
|
Project C / BMQ : http://cchalpha.blogspot.com/
|
|
|
|
PDS-mq was originally created by Alfred Chen : http://cchalpha.blogspot.com/
|
|
|
|
While he dropped it with kernel 5.1 in favor of its BMQ evolution/rework, my pretty bad gaming experiences with BMQ up to this point convinced me to keep PDS afloat for as long as it'll make sense/I'll be able to.
|
|
|
|
Various personalization options available and userpatches support (put your own patches in the same dir as the PKGBUILD, with the ".mypatch" extension.
|
|
|
|
Comes with a slightly modified Arch config asking for a few core personalization settings at compilation time.
|
|
If you want to streamline your kernel config for lower footprint and faster compilations : https://wiki.archlinux.org/index.php/Modprobed-db
|
|
You can enable support for it at the beginning of the PKGBUILD file. Make sure to read everything you need to know about it.
|
|
|
|
## Other stuff included:
|
|
- Graysky's per-CPU-arch native optimizations - https://github.com/graysky2/kernel_gcc_patch
|
|
- memory management and swapping tweaks
|
|
- scheduling tweaks
|
|
- optional "Zenify" patchset using core blk, mm and scheduler tweaks from Zen
|
|
- CFS tweaks
|
|
- using yeah TCP congestion algo by default
|
|
- using cake network queue management system
|
|
- using vm.max_map_count=262144 by default
|
|
- cherry-picked clear linux patches
|
|
- **optional** overrides for missing ACS capabilities
|
|
- **optional** ZFS fpu symbols
|
|
- **optional** Fsync support (proton)
|
|
|
|
|
|
## Install procedure
|
|
|
|
### Arch & derivatives
|
|
```
|
|
git clone https://github.com/Frogging-Family/linux-tkg.git
|
|
cd linux-tkg/linux57-tkg
|
|
# Edit customization.cfg file
|
|
makepkg -si
|
|
```
|
|
|
|
### Ubuntu & derivatives
|
|
```
|
|
git clone https://github.com/Frogging-Family/linux-tkg.git
|
|
cd linux-tkg/linux57-tkg
|
|
# Edit customization.cfg file to at least set _distro to "Ubuntu"
|
|
./install.sh install
|
|
```
|
|
To uninstall custom kernels installed through the script:
|
|
```
|
|
cd path/to/linux-tkg/linux57-tkg
|
|
./install.sh uninstall
|
|
```
|
|
|
|
### Other linux distributions
|
|
Other distros are not supported, Debian may work with the `install.sh` script. Otherwise,
|
|
that same `install.sh` script can clone, patch and edit a `.config` file from your current distro's
|
|
that is expected at ``/boot/config-`uname -r`.config``. Otherwise it won't work as-is.
|
|
|
|
The command to do for that is:
|
|
```
|
|
./install.sh config
|
|
```
|
|
|
|
|