Update custom kernel to CachyOS 7.2.9-2 (fiw-nyx-v1.2) and add Ryzen tuning
- Kernel snapshot: CachyOS 7.2.9-2 patch, name -2-fiw-nyx-v1.2; later 7.2.x point releases reuse the patch, next series masked from snapshot.json - Fiw's Ryzen preset: sysctl tuning (max_map_count, dirty bytes, BBR + fq) - tidewm list gains mpvpaper; grim moves to dev
This commit is contained in:
parent
ba98cf48a7
commit
8c9322b4ed
10 changed files with 4444 additions and 3780 deletions
|
|
@ -73,6 +73,13 @@ Custom kernel installs with NVIDIA also check its modules against the selected
|
|||
custom kernel and binary fallback. Missing or outdated modules are compiled
|
||||
for each, and failures appear in the package report.
|
||||
|
||||
The custom kernel snapshot is CachyOS 7.2.9-2 (`7.2.9-2-fiw-nyx-v1.2`). Newer
|
||||
7.2.x point releases reuse that patch and config; the next series stays masked
|
||||
until the snapshot is updated. Fiw's Ryzen preset also installs
|
||||
`/etc/sysctl.d/70-fiw-dots-performance.conf` (CachyOS-style memory/network
|
||||
values, `vm.max_map_count` for Proton games, TCP BBR with fq) and loads
|
||||
`tcp_bbr`. No extra packages are needed for either.
|
||||
|
||||
Read-only resolution and an export are available separately:
|
||||
|
||||
```sh
|
||||
|
|
|
|||
|
|
@ -353,7 +353,12 @@ def root_files(selection, repo_location=None):
|
|||
result['etc/kernel/config.d/' + src.name] = src.read_text()
|
||||
result['etc/portage/package.accept_keywords/fiw-dots-kernel'] = 'sys-kernel/gentoo-kernel ~amd64\nsys-kernel/gentoo-kernel-bin ~amd64\nvirtual/dist-kernel ~amd64\n'
|
||||
result['etc/portage/env/sys-kernel/gentoo-kernel'] = (REPO / 'optional/kernel/guard').read_text()
|
||||
result['etc/portage/package.mask/fiw-dots-custom-kernel'] = '# Tested custom-kernel snapshot; update snapshot and patch explicitly.\n>sys-kernel/gentoo-kernel-7.2.8\n'
|
||||
# Point releases of the tested series reuse the patch (see guard); a new series needs a new snapshot.
|
||||
major, minor = json.loads((REPO / 'optional/kernel/snapshot.json').read_text())['patch_kernel'].split('.')[:2]
|
||||
result['etc/portage/package.mask/fiw-dots-custom-kernel'] = '# Tested custom-kernel series; update snapshot and patch for the next one.\n>=sys-kernel/gentoo-kernel-' + major + '.' + str(int(minor) + 1) + '\n'
|
||||
if selection['profile'] == 'fiw-ryzen':
|
||||
result['etc/sysctl.d/70-fiw-dots-performance.conf'] = (REPO / 'optional/tuning/70-fiw-performance.conf').read_text()
|
||||
result['etc/modules-load.d/fiw-dots-bbr.conf'] = (REPO / 'optional/tuning/bbr.conf').read_text()
|
||||
if selection['bootloader'] != 'keep':
|
||||
result['etc/portage/package.use/fiw-dots-boot'] = ('sys-kernel/installkernel systemd dracut -grub -uki -ukify -ugrd -efistub -refind -systemd-boot\n')
|
||||
if selection['bootloader'] == 'grub':
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# uname -r → <linux version>-<cachyos release>-fiw-nyx-v<own version>
|
||||
# e.g. 7.2.7-1-fiw-nyx-v1.1. fiw-cachy-patch updates the cachyos release number;
|
||||
# bump v<N> by hand when you change your own tweaks.
|
||||
# History: v1 = "-1-fiwzen-v1" (first build), v1.1 = renamed to fiw-nyx.
|
||||
CONFIG_LOCALVERSION="-1-fiw-nyx-v1.1"
|
||||
# History: v1 = "-1-fiwzen-v1" (first build), v1.1 = renamed to fiw-nyx. v1.2 = 2026-10-08 rebuild (7.2.9-2).
|
||||
CONFIG_LOCALVERSION="-2-fiw-nyx-v1.2"
|
||||
|
|
|
|||
|
|
@ -3,14 +3,17 @@
|
|||
export KBUILD_BUILD_USER=fiw
|
||||
export KBUILD_BUILD_HOST=gentoo
|
||||
|
||||
# The CachyOS patch is a diff against exactly one kernel version. Refuse to build
|
||||
# any other version until scripts/fiw-cachy-patch has regenerated it.
|
||||
# Versions the current patch is known to apply to (space separated).
|
||||
# 2026-09-26: CachyOS has no 7.2.8 yet; the 7.2.7-1 patch applies to 7.2.8 (3 hunks
|
||||
# with fuzz, checked by hand: only context shifted by 7.2.8's APX lines).
|
||||
FIW_CACHY_PV="7.2.7 7.2.8"
|
||||
# Version the CachyOS patch in /etc/portage/patches was generated for.
|
||||
# fiw-cachy-patch rewrites this line (the postsync hook runs it when CachyOS
|
||||
# has a release for a new gentoo-kernel). A newer point release in the same
|
||||
# series (7.2.x) reuses the existing patch and config.d unchanged; if the patch
|
||||
# no longer applies, the build stops and the installed kernels stay as they are.
|
||||
FIW_CACHY_PV=7.2.9
|
||||
pre_src_prepare() {
|
||||
if [[ " ${FIW_CACHY_PV} " != *" ${PV} "* ]]; then
|
||||
die "CachyOS patch is for ${FIW_CACHY_PV}, not ${PV}. Run: fiw-cachy-patch ${PV}"
|
||||
[[ ${PV} == "${FIW_CACHY_PV}" ]] && return
|
||||
if [[ ${PV%.*} != "${FIW_CACHY_PV%.*}" ]]; then
|
||||
die "CachyOS patch is for ${FIW_CACHY_PV}; ${PV} is a new series. Run: fiw-cachy-patch ${PV}"
|
||||
fi
|
||||
ewarn "No CachyOS patch for ${PV} yet: reusing the ${FIW_CACHY_PV} patch and config."
|
||||
ewarn "Fallbacks if it misbehaves: gentoo-kernel-bin entry, or CachyOS."
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1,10 +1,9 @@
|
|||
{
|
||||
"atom": "=sys-kernel/gentoo-kernel-7.2.8",
|
||||
"patch_kernel": "7.2.7",
|
||||
"cachyos_tag": "cachyos-7.2.7-1",
|
||||
"atom": "=sys-kernel/gentoo-kernel-7.2.9",
|
||||
"patch_kernel": "7.2.9",
|
||||
"cachyos_tag": "cachyos-7.2.9-2",
|
||||
"tested_kernel_versions": [
|
||||
"7.2.7",
|
||||
"7.2.8"
|
||||
"7.2.9"
|
||||
],
|
||||
"patch_sha256": "c1aca3cbd113866e5660cb827403ee73a8ca6f0eb5dcb497fad90561e059ef75"
|
||||
"patch_sha256": "49e635ff0b35ebfbff5ddfab117dcd49bafc2b04f8794fccd6c7ff201f27ebf9"
|
||||
}
|
||||
|
|
|
|||
22
optional/tuning/70-fiw-performance.conf
Normal file
22
optional/tuning/70-fiw-performance.conf
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
# Installed as /etc/sysctl.d/70-fiw-dots-performance.conf (Fiw's Ryzen preset)
|
||||
# Desktop/gaming tuning, mostly from CachyOS-Settings (70-cachyos-settings.conf).
|
||||
# swappiness 100 / page-cluster 0 (zram) and nmi_watchdog 0 already come from the CachyOS patch.
|
||||
|
||||
# Games under Proton (CS2, Star Citizen, Hogwarts Legacy...) need many memory maps.
|
||||
# Gentoo default 65530; Arch/CachyOS/Fedora use 1048576.
|
||||
vm.max_map_count = 1048576
|
||||
|
||||
# Keep directory/inode cache longer (default 100).
|
||||
vm.vfs_cache_pressure = 50
|
||||
|
||||
# Flush dirty pages in small chunks instead of % of 32 GB RAM: fewer stalls on big writes.
|
||||
vm.dirty_bytes = 268435456
|
||||
vm.dirty_background_bytes = 67108864
|
||||
vm.dirty_writeback_centisecs = 1500
|
||||
|
||||
# Bigger network receive queue.
|
||||
net.core.netdev_max_backlog = 4096
|
||||
|
||||
# TCP BBR congestion control with fq pacing (module loaded by modules-load.d/bbr.conf).
|
||||
net.core.default_qdisc = fq
|
||||
net.ipv4.tcp_congestion_control = bbr
|
||||
2
optional/tuning/bbr.conf
Normal file
2
optional/tuning/bbr.conf
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
# Installed as /etc/modules-load.d/fiw-dots-bbr.conf (Fiw's Ryzen preset)
|
||||
tcp_bbr
|
||||
|
|
@ -14,3 +14,4 @@ dev-qt/qtdeclarative
|
|||
media-video/pipewire
|
||||
dev-db/sqlite
|
||||
llvm-core/clang
|
||||
gui-apps/grim
|
||||
|
|
|
|||
|
|
@ -2,4 +2,4 @@
|
|||
gui-wm/tidewm::fiw-dots
|
||||
gui-apps/xwayland-satellite::guru
|
||||
gui-apps/wlr-randr::guru
|
||||
gui-apps/grim
|
||||
gui-apps/mpvpaper
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue