Update custom kernel to CachyOS 7.2.9-2 (fiw-nyx-v1.2) and add Ryzen tuning
All checks were successful
Check and mirror to GitHub / checks (push) Successful in 21s
Check and mirror to GitHub / github-mirror (push) Successful in 7s

- 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:
Fi3w0 2026-10-08 03:43:01 +02:00
parent ba98cf48a7
commit 8c9322b4ed
10 changed files with 4444 additions and 3780 deletions

View file

@ -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

View file

@ -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':

View file

@ -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"

View file

@ -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."
}

View file

@ -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"
}

View 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
View file

@ -0,0 +1,2 @@
# Installed as /etc/modules-load.d/fiw-dots-bbr.conf (Fiw's Ryzen preset)
tcp_bbr

View file

@ -14,3 +14,4 @@ dev-qt/qtdeclarative
media-video/pipewire
dev-db/sqlite
llvm-core/clang
gui-apps/grim

View file

@ -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