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.
Requirements
Environment: The kernel must be compiled on a Linux system — either the DarkForge chroot (after Phase 0 toolchain bootstrap) or another Linux distro with GCC 14+.
This cannot be done on macOS or Windows. If you don't have a Linux machine, use the DarkForge toolchain chroot or a VM.
Build dependencies: GCC 14+, make, bc, flex, bison, openssl (headers), perl, elfutils. These are all provided by the DarkForge core/ packages.
Usage
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:
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:
MODULES=(nvidia nvidia-modeset nvidia-drm nvidia-uvm)
MODULE_PARAMS=("nvidia-drm modeset=1")
Repository
git@git.dannyhaslund.dk:danny8632/darkforge.git