# DarkForge Kernel Configuration Hardware-specific Linux 6.19.8 kernel configuration for the target machine. ## Target Hardware - **CPU:** AMD Ryzen 9 9950X3D (Zen 5, 16C/32T) - **GPU:** NVIDIA RTX 5090 (Blackwell) — out-of-tree nvidia-open modules - **NIC:** Realtek RTL8125BN 2.5GbE (R8169 driver) - **NVMe:** Samsung 9100 PRO (PCIe 5.0) - **Motherboard:** ASUS ROG CROSSHAIR X870E HERO ## Key Choices | Feature | Config | Why | |---------|--------|-----| | CPU optimization | `CONFIG_MZEN4=y` | Closest kernel config symbol; real znver5 from CFLAGS | | Scheduler | EEVDF (default) | Modern, built-in since 6.6 | | Preemption | `CONFIG_PREEMPT=y` | Full preemption for gaming latency | | Timer | `CONFIG_HZ_1000=y` | Lowest latency tick rate | | CPU governor | `CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y` | P-State EPP integration | | NVMe | `CONFIG_BLK_DEV_NVME=y` | Built-in (root is on NVMe) | | GPU | nouveau disabled | nvidia-open kernel modules used instead | | Boot | `CONFIG_EFI_STUB=y` | Direct UEFI boot, no bootloader | | Network | `CONFIG_R8169=y` | Realtek 2.5GbE | | Hibernation | `CONFIG_HIBERNATION=y` | 96GB swap partition | | Bluetooth | `CONFIG_BLUETOOTH=n` | Disabled | | WiFi | `CONFIG_WIRELESS=n` | Ethernet only | Every non-default option in `config` has an inline comment explaining the rationale. ## Usage ```bash cp config /usr/src/linux-6.19.8/.config cd /usr/src/linux-6.19.8 make olddefconfig # fill new options with defaults make -j32 # build with 32 threads make modules_install cp arch/x86/boot/bzImage /boot/vmlinuz ``` ## NVIDIA Driver The RTX 5090 requires nvidia-open kernel modules (570.86.16+). These are built out-of-tree after the kernel: ```bash cd /usr/src/nvidia-open-570.133.07 make -j32 modules KERNEL_UNAME=$(uname -r) make modules_install ``` The modules are loaded at boot via `/etc/rc.conf`: ```bash MODULES=(nvidia nvidia-modeset nvidia-drm nvidia-uvm) MODULE_PARAMS=("nvidia-drm modeset=1") ``` ## Repository ``` git@git.dannyhaslund.dk:danny8632/darkforge.git ```