Did anyone try custom Kernels on immutable Fedora yet?

Ublue made the start, so now its rather easy to create your own version of Fedora OSTree with for example the Nobara fixes, the xanmod kernel, the hardened Kernel or something else.

Did anyone try a custom kernel yet? It should be fine with a lot of tweaking, if the package works normally.

Here is the only COPR with recent updates I could find, the RT xanmod kernel is not in it, so it needs more work.

But there is also this Nobara COPR repo which you could in theory use to build your Nobara-like OSTree Fedora version. Its kernel also has many improvements for gaming and probably all other tasks.

Solutions for rpm-ostree I could find all are very specific like this wiki entry. I got the “multiple kernels” error as well as the “nonlocal overrides not supported yet”. Anyways I just pinned my current deployment and tried this:

URL="https://download.copr.fedorainfracloud.org/results/guara/kernel-xanmod/fedora-38-x86_64/05811744-kernel-xanmod-edge/"
rpm-ostree override replace \
  --remove=kernel \
  --remove=kernel-core \
  --remove=kernel-modules \
  --remove=kernel-headers \
  --remove=kernel-devel \
  --remove=kernel-devel-matched \
  --install=kernel-xanmod-edge \
  --install=kernel-xanmod-edge-core \
  --install=kernel-xanmod-edge-headers
  --install=kernel-xanmod-edge-devel \
  --install=kernel-xanmod-edge-devel-matched \
  --install=kernel-xanmod-edge-modules \
  ${URL}/kernel-xanmod-edge-6.2.12-xm1.0.fc38.x86_64.rpm

based on this discussion post.

This again resulted in many dependencies unfulfilled, so either the existing COPRs have outdated versions, or they lack some packages.

I would absolutely not want to install all kernel packages manually. If there is some semi-automatic way to do this, I am in!

Xanmod is shown to have many speed improvements for gaming, which I would like to test.

I’ve been bitten by this wish lately, and although I have a fair share of experience running custom kernels, I haven’t tried it yet with any of the (now rebranded) Atomic desktops.

I guess the best next thing would be for you to take a look at https://bazzite.gg/, a Fedora spin using the Universal Blue platform explicitly designed for gaming – so it comes bundled with batteries, all kinds of gizmos, and then some more.

ATM, you can choose between the GNOME and KDE desktops. Each flavor of Bazzite is built on top of Fedora Atomic Desktops Silverblue (GNOME) and Kinoite (KDE). And on top of that, you can use Universal Blue’s GitHub Actions workflow template to customize your own particular version of your systems :slight_smile:

HTH

Edit: I forgot to mention that you can think about Bazzite as Nobara on OSTree.

Interesting, I made such a discussion already.

I think I have got the complete steps now.

  1. Download kernel-devel
  2. Do a menuconfig and configure stuff, mainly I remove bloat drivers I dont need on my system
  3. Build, possibly with more arguments for efficiency and optimization
  4. Build modules
  5. Sign modules and kernel and somehow make that work with secureboot
  6. Build them into an RPM
  7. Install that rpm using rpm-ostree replacing
1 Like

Thanks for sharing the steps to have a custom kernel working!

Now I have the path paved to dive right in as soon as I have some spare time :rocket: