Skip to content
This repository was archived by the owner on Nov 11, 2026. It is now read-only.
CatPieLeafPublic archive

About

A zero-misplay kernel with Firelzrd, CachyOS, TKG, XanMod, Clear Linux patches and more, built from Fedora Koji and OpenSUSE SRPMs.

Topics

Resources

Stars

40 stars

Watchers

2 watching

Forks

Latest commit

Β 

History

237 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation





Kernel version Fedora COPR openSUSE OBS

A zero-misplay kernel with Firelzrd, CachyOS, TKG, XanMod, Clear Linux patches and more, built from Fedora Koji and OpenSUSE SRPMs.

This repository provides a set of tools to automatically build patch and compile the Linux Kernel from Fedora Koji and OpenSUSE SRPMs, with a selection of patches and configurations aiming for a better system responsiveness.


W H Y ?

Why P03? He is a character defined by obsessive optimization β€” he takes something already functional and tears it apart, rebuilds it piece by piece, and won't stop until it performs exactly the way he envisions. That's precisely what this kernel is: Fedora's and OpenSUSE's solid, well-tested base, stripped down and reassembled with handpicked patches, a custom scheduler, compiler optimizations, and configurations that aren't present on the stock kernel. It's built to be exactly what it needs to be.

✨

F E A T U R E S

  • Built on top of Fedora Koji and OpenSUSE's Sources with their respective baseconfigs
  • Local Automatic Secureboot Signing and Key generation (For nvidia drivers too!)
  • NVIDIA-Open Kernel Modules support
  • Optional Realtek r8125 driver package (build with --with r8125)
  • ThinLTO or FullLTO (Copr builds are ThinLTO)
  • LRU-CAST and Zram-IR
  • Nap CPUIdle governor
  • Per-CPU ISA Optimizations (Copr only provides Generic x86-64v3 and v2)
  • 750hz tickrate
  • Built with LLVM + O3 + Polly Clang + Mimalloc
  • PRJC scheduler and Reflex CPU Governor
  • BBRv3 congestion control and FQ qdisk
  • OpenRGB Support
  • xConfig and nConfig during build
  • ADIOS I/O Scheduler
  • Handheld support (ROG Ally, Steam Deck, etc)
  • VHBA and AUFS support
  • Microsoft Surface support
  • Dynamic PREEMPT (Lazy by default)
  • Passive intel_pstate and amd_pstate
  • Catastrophic Misplay Screen: A custom P03-themed QR-Code panic screen for those rare, fatal errors.
  • And many more!

Warning

Easy Anti-Cheat (Linux v2) / Fortnite: EAC v2 requires kernel lockdown in integrity mode, which P03 does not enable by default. If you need it, add lockdown=integrity to your kernel cmdline:

# Fedora
sudo grubby --update-kernel=ALL --args="lockdown=integrity"
# openSUSE (GRUB)
sudo sed -i 's/^GRUB_CMDLINE_LINUX_DEFAULT="/&lockdown=integrity /' /etc/default/grub && sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Why it's not the default: lockdown can stop DKMS modules from loading on some setups, even ones signed with an enrolled MOK, and it also blocks hibernation and low-level tools (undervolting/MSR writes, /dev/mem). Breaking those for everyone just to satisfy one anti-cheat isn't worth it, so it's opt-in.

Keep in mind that EAC v2 also requires the kernel and modules to be signed with a "well-known" distro key. P03 is signed with your own local MOK, so it may still be rejected even with lockdown enabled.




Kernel-P03 is now being archived.

It has been a fun experience working on this custom kernel, learn more about linux's internals, and work on making the best kernel i could make. Thank you for everyone who reported bugs, shared and participated in this experience.

But unfortunately, i no longer see motivation to continue this project.

I'll be keeping this repository around, and maybe continue someday if some distro further decides to adopt kernel-p03 along with my work and support. I'll be happy to work on kernels once again.

See ya!


πŸ”¨

B U I L D I N G

The specfile is packed with toggles β€” compiler, LTO mode, optimization level, tickrate, ISA level, Secure Boot, NR_CPUS, and more. Feel free to edit it before building. In particular, setting _interactive_config 1 launches xconfig mid-build so you can tweak every single Kconfig option by hand before compilation starts.

Note

Building the kernel takes 1–2 hours depending on your hardware. A full build requires ~10 GB of free disk space. See the RAM tip in step 6 to avoid writing to disk entirely.

1 - Prerequisites

Install the RPM development tools if you don't have them yet:

sudo dnf install rpmdevtools

2 - Initialize the rpmbuild tree

This creates the standard ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} folder structure. Only needed once.

rpmdev-setuptree

3 - Download and place the spec file

wget https://raw.githubusercontent.com/CatPieLeaf/linux-p03/refs/heads/main/sources/kernel-p03/kernel-p03.spec -O ~/rpmbuild/SPECS/kernel-p03.spec

4 - Install all build dependencies

Reads every BuildRequires from the spec and installs them automatically:

sudo dnf builddep ~/rpmbuild/SPECS/kernel-p03.spec

5 - Download sources and patches

Downloads all URLs listed as Source: and Patch: entries into ~/rpmbuild/SOURCES/. The Fedora kernel SRPM itself is fetched automatically from Koji during the build β€” no extra step needed.

spectool -g -R ~/rpmbuild/SPECS/kernel-p03.spec

6 - Build

rpmbuild -bb ~/rpmbuild/SPECS/kernel-p03.spec

Output RPMs land in ~/rpmbuild/RPMS/x86_64/. Install them with:

sudo dnf install ~/rpmbuild/RPMS/x86_64/kernel-p03-*.rpm

Tip

Build in RAM to save SSD health (requires ~10 GB of free RAM). Run this before step 6:

sudo mount -t tmpfs -o size=10G tmpfs ~/rpmbuild/BUILD

πŸ“¦

I N S T A L L A T I O N

Pre-built packages are available on COPR (Fedora) and OBS (openSUSE) β€” no need to build from source unless you want a custom configuration.

Warning

βš™οΈ C P U - S U P P O R T

/lib64/ld-linux-x86-64.so.2 --help | grep "(supported, searched)"

If it does not detect x86_64_v3 support, do not install the default kernel. Otherwise, you will end up with a non-functioning operating system! You should install the gcc x86_64 v2 kernel by running sudo dnf install kernel-p03-gcc

πŸ”΅ F E D O R A - W O R K S T A T I O N

sudo dnf copr enable catpieleaf/kernel-p03
sudo dnf install kernel-p03

Warning

Run immediately after installation if using Secure Boot:

sudo mokutil --import /etc/kernel/certs/p03-kernel/mok.der

βšͺ F E D O R A - S I L V E R B L U E

Important

Secure Boot users: create the signing key BEFORE installing p03.

On other systems p03 creates this key itself on first install. That does not work on atomic/ostree: layering re-runs the package scripts against each new base image, so a key made there is a different key every upgrade, while your firmware still only trusts the one you enrolled. (#4).

Making the key yourself means it is your change to /etc, which ostree carries across upgrades, and p03 will reuse it instead of making a new one.

sudo mkdir -p /etc/kernel/certs/p03-kernel && sudo chmod 700 /etc/kernel/certs/p03-kernel && sudo openssl req -new -x509 -newkey rsa:4096 -keyout /etc/kernel/certs/p03-kernel/mok.key -outform DER -out /etc/kernel/certs/p03-kernel/mok.der -nodes -days 36500 -subj "/CN=P03 Kernel Secure Boot/" -addext "extendedKeyUsage=codeSigning" && sudo chmod 600 /etc/kernel/certs/p03-kernel/mok.key && sudo openssl x509 -inform DER -in /etc/kernel/certs/p03-kernel/mok.der -out /etc/kernel/certs/p03-kernel/mok.pem

Not using Secure Boot? Skip this.

sudo wget https://copr.fedorainfracloud.org/coprs/catpieleaf/kernel-p03/repo/fedora-$(rpm -E %fedora)/catpieleaf-kernel-p03-$(rpm -E %fedora).repo -O /etc/yum.repos.d/catpieleaf-kernel-p03.repo
sudo rpm-ostree override remove kernel kernel-core kernel-modules kernel-modules-core kernel-modules-extra --install kernel-p03
sudo systemctl reboot

Warning

Run immediately after installation if using Secure Boot:

sudo mokutil --import /etc/kernel/certs/p03-kernel/mok.der

Enroll once.

After your next rpm-ostree upgrade, check the key survived:

sudo sbverify --cert /etc/kernel/certs/p03-kernel/mok.pem /usr/lib/modules/$(uname -r)/vmlinuz

Signature verification OK means you are set. If it fails, open an issue, as it means ostree is not carrying the key the way we expect.

🦎 O P E N S U S E

sudo zypper ar -f https://download.opensuse.org/repositories/home:/CatPieLeaf:/Kernel-P03/openSUSE_Tumbleweed/ kernel-p03
sudo zypper --gpg-auto-import-keys refresh
sudo zypper install kernel-p03 kernel-p03-core kernel-p03-devel kernel-p03-devel-matched kernel-p03-modules

Warning

Run immediately after installation if using Secure Boot:

sudo mokutil --import /etc/kernel/certs/p03-kernel/mok.der

🟒 N V I D I A

sudo dnf install kernel-p03-nvidia-open
dnf info kernel-p03-nvidia-open

After installation, download and install the NVIDIA driver matching the version shown by dnf info above.

Warning

Always install the NVIDIA driver with the flags below, otherwise it will try to build its own kernel modules and conflict with the ones already installed.

sudo sh ./NVIDIA-Linux-x86_64-*.run --no-kernel-modules --no-dkms --no-nouveau-check

Warning

Disable systemd-oomd

Disable or mask systemd-oomd. LRU-CAST already handles OOM promptly and correctly on its own; systemd-oomd misreads its proactive cache management as exhaustion and kills apps prematurely, or freezes the system.

sudo systemctl disable --now systemd-oomd
sudo systemctl mask systemd-oomd

⚠️ Very low-core / low-RAM machines: keep a PSI-based OOM daemon instead β€” CAST's mechanisms are kernel-side and can't help if CPU itself is saturated by compression.

πŸ“‘

C R E D I T S


About

A zero-misplay kernel with Firelzrd, CachyOS, TKG, XanMod, Clear Linux patches and more, built from Fedora Koji and OpenSUSE SRPMs.

Topics

Resources

Stars

40 stars

Watchers

2 watching

Forks

Releases

Sponsor this project

Contributors

Languages