linux-tkg/linux57-tkg/README.md
Adel Kara Slimane ee80080260
Support Fedora and derivatives (#56)
* linux57: install.sh: Add install for Fedora

* linux57: install.sh: use dnf to install and save it for uninstall

* linux57: install.sh: enable Fedora compilation

* linux57: use single equal sign for conditions

* linux57: Add uninstall step

* linux57: remove unwated changes

* linux57: install.sh: code cleanup

* linux57: install.sh: remove redundant condition

* linux57: install.sh: Fedora: update dependency install

* linux57: install.sh: uninstall only kernel and keep dependencies

* linux57: install.sh: make script executable

* linux57: install.sh: remove header uninstall in Ubuntu

* Linux57: Initial Suse support

* linux57: install.sh: Add Suse to the distro error message

* linux57: install.sh: Additionnal Suse dependency packages

* linux57: install.sh: disable gpg check for Suse kernel install

* linux57: install.sh: Fedora & derivative: produce dev files

* Linux57: install.sh: make Suse use ccache

* Linux57: install.sh: Fedora & derivatives: add install/uninstall of kernel-devel

* linux57: install.sh: Fix: disable sign check for Suse kernel install

* linux57: install.sh: Fedora & derivatives: enable confirm prompt for kernel install

* linux57: install.sh: suse add flag to replace files from default kernel-headers

* linux57: install.sh: make uninstall manual

* linux57: install.sh: add uninstall help for Suse

* linux57: install.sh: correct uninstall message for suse

* linux57: install.sh: move made RPMS into working folder and cleanup

* linux57: install.sh: add uninstall help for Fedora

* linux57: install.sh: Move deb files into DEBs folder

* linux57: install.sh: Ubuntu: install dev deb package

* linux57: install.sh: add Ubuntu uninstall help.

* linux57: install.sh: improve Ubuntu uninstall help

* linux57: Add Debian distro and related fix

* linux57: install.sh: prompt for distro

* linux57: install.sh: use _basekernel instead of 5.7

* linux57: install.sh: fix for using _basekernel everywhere

* linux57: add ubuntu/debian dependency install

* linux58: copy install.sh from 5.7 as-is, add distro prompt

* linux59: copy install.sh from 5.7 as-is, add distro prompt

* Fix PKGBUILD after adding the distro prompt

* Revert "Fix PKGBUILD after adding the distro prompt"

This reverts commit 9c3c155b3ed07a4aa04ec10d6fc0e8b5710a2f07.

* Fix PKGBUILD because of the distro prompt

* linux57: install.sh: improve `config` script path

* linux57: install.sh: loop if wrong answer in distro prompt

* linux57: install.sh: code cleanup

* Copy linux57 install.sh to linux58 and linux59

* install.sh: change "uninstall" argument to "uninstall-help"

* Update READMEs
2020-09-01 17:57:21 +02:00

3.0 KiB

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). The options built with are installed to /usr/share/doc/$pkgbase/customization.cfg, where $pkgbase is the package name.

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
# Optional: edit customization.cfg file 
makepkg -si

Fedora, Ubuntu and derivatives

git clone https://github.com/Frogging-Family/linux-tkg.git
cd linux-tkg/linux57-tkg
# Optional: edit customization.cfg file
./install.sh install

Uninstalling custom kernels installed through the script has to be done manually, the script can can help out with some useful information:

cd path/to/linux-tkg/linux57-tkg
./install.sh uninstall-help

Other linux distributions

If your distro is not DEB or RPM based, install.sh script can clone the kernel tree, 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