This is a project I’ve been working on lately. Build Clear Linux kernel for Fedora users. All Clear Linux patches and almost full kernel config are working currently. Only minor changes to get modprobe, hostname, fbdev, etc. working on Fedora. This is currently still at testing stage and not recommend on any production environment(s). Also remember backup all important data!

I have run several tests mainly using Phoronix Test Suite to see if there is any speed difference between original Fedora kernel and Clear Linux kernel on Fedora. And yes, there are differences. Of course hardware support might be more limited than original Fedora kernel and SELINUX is disabled totally. All tests have been performed SELINUX disabled to see real speed difference. I will publish later comparison video.

If you are looking Intel optimized kernel for Fedora Desktop PC or laptop, then this might be for you.

Check video version of guide, howto install inttf-kernel on Fedora:

It’s also good to note that I have also another Fedora 36 kernel build, which only disable simpledrm and re-enable fbdev to help NVIDIA users. It’s easy to recognise from file names (Fedora 6xx and Clear Linux 7xx):

inttf – Clear Linux kernels inttf – Fedora kernels
kernel-5.17.6-703.inttf.fc36.x86_64.rpm kernel-5.17.6-601.inttf.fc36.x86_64.rpm
kernel-5.17.9-705.inttf.fc36.x86_64.rpm kernel-5.17.8-602.inttf.fc36.x86_64.rpm

Download inttf kernel src.rpm(s).

Howto Install

1. Change root user

su -
## OR ##
sudo -i

2. Disable kernel updates from [fedora] and [updates] repos

Edit /etc/yum.repos.d/fedora.repo file. Add exclude=kernel*

[fedora]
name=Fedora $releasever - $basearch
...
exclude=kernel*

Edit /etc/yum.repos.d/fedora-updates.repo file. Add exclude=kernel*

[updates]
name=Fedora $releasever - $basearch
...
exclude=kernel*

3. Allow some extra kernels to be installed

Edit /etc/dnf/dnf.conf file. Change installonly_limit=x, example:

[main]
gpgcheck=1
installonly_limit=8
...

4. Disable SELinux

You can enable this later, if you want it back.

4.1 Edit /etc/default/grub

Append ‘selinux=0’ to end of ‘GRUB_CMDLINE_LINUX=”…”‘. Example:

GRUB_CMDLINE_LINUX="rhgb quiet rd.driver.blacklist=nouveau nvidia-drm.modeset=1 selinux=0"

4.2 Update grub2 conf

grub2-mkconfig -o /boot/grub2/grub.cfg

5. Enable inttf kernel repo

wget -O /etc/yum.repos.d/inttf-kernel.repo https://rpms.if-not-true-then-false.com/inttf-kernel.repo

Note: if you have inttf.repo active, this is different repo and should work normally together, but if needed you can also disable inttf.repo (kernel updates).

6. Install inttf-kernel packages

Normally dnf update works

dnf update
Last metadata expiration check: 0:01:44 ago on Mon 23 May 2022 03:48:01 AM EDT.
Dependencies resolved.
================================================================================
 Package                Arch     Version                   Repository      Size
================================================================================
Installing:
 kernel                 x86_64   5.17.9-705.inttf.fc36     inttf-kernel   163 k
 kernel-core            x86_64   5.17.9-705.inttf.fc36     inttf-kernel    37 M
 kernel-devel           x86_64   5.17.9-705.inttf.fc36     inttf-kernel    15 M
 kernel-modules         x86_64   5.17.9-705.inttf.fc36     inttf-kernel    46 M
 kernel-modules-extra   x86_64   5.17.9-705.inttf.fc36     inttf-kernel   1.6 M
Removing:
 kernel                 x86_64   5.17.5-602.inttf.fc36     @inttf           0  
 kernel-core            x86_64   5.17.5-602.inttf.fc36     @inttf          88 M
 kernel-devel           x86_64   5.17.5-602.inttf.fc36     @inttf          62 M
 kernel-modules         x86_64   5.17.5-602.inttf.fc36     @inttf          53 M
 kernel-modules-extra   x86_64   5.17.5-602.inttf.fc36     @inttf         3.2 M

Transaction Summary
================================================================================
Install  5 Packages
Remove   5 Packages

Total download size: 100 M
Is this ok [y/N]

Sometimes you might have newer kernel installed already, because this follows Clear Linux kernel release cycle. If you can’t see 7xx inttf kernel on installing section, then try following command (yes, it’s a one-liner):

dnf install --skip-broken $(for i in $(dnf repoquery --installed kernel\* --qf '%{name}'); do echo $i-$(dnf --quiet --disablerepo=* --enablerepo=inttf-kernel repoquery --queryformat '%{version}-%{release}' kernel |tail -1); done)

7. Reboot

reboot

Latest installed kernel should be selected automatically. You can always boot using another kernel or reinstall needed kernel(s).

8. Problems?

If you have any problems, then drop a comment here or Youtube.

9. Support inttf