Releases: thewraith420/BobZKernel
Release list
BobZKernel v7.1.13-picker - Nightfall touch boot picker
Minimal touch kexec boot-picker kernel for the Pixel Slate (Nocturne),
paired with Nightfall Boot Manager.
Kernel: 7.1.13-BobZKernel-picker (7.1 is EOL upstream; this line stays
pinned there deliberately - see repo README for why that's low-risk
for a kexec pre-boot kernel).
Stripped to the bone: no WLAN, no NVMe/SATA/UFS, camera/audio/BT all
gone. Everything left is forced =y (never =m) since the picker's
initramfs has no modprobe. What's kept: kexec, DRM/i915, the full
touch stack (Intel LPSS + cros_ec), eMMC + ext4/ext2/ext3, and USB
mass storage (SCSI/USB_STORAGE/USB_UAS + VFAT/exFAT/NTFS3) for
TWRP-style backup/restore onto a Ventoy stick.
New this release: ISO9660/JOLIET/UDF support, so Nightfall can
loop-mount a Ventoy stick's .iso files directly and kexec into
Ubuntu/Debian live images (casper/live-boot). This is the newest
piece and hasn't had its real hardware boot test yet - everything
else in this kernel has.
🤖 Generated with Claude Code
BobZKernel v7.2.6-pixel-slate - Google Pixel Slate
Current daily-driver kernel for the Google Pixel Slate (Nocturne),
now on the 7.2 line. First hardware-confirmed boot of this branch was
2026-09-02 at 7.2.3; this release catches it up to stable 7.2.6.
Includes: cros_ec EC-poll fix, hand-refreshed BORE, binder for
Waydroid, hardware ImgU camera pipeline (both cams, IOMMU
identity-domain quirk so the ImgU DMA is safe), v4l2loopback in-tree,
hid_google_hammer NULL-deref fix, GOOG0007 _STA override (volume
buttons after coreboot firmware updates), and an i915 PSR DMI quirk
for this panel.
Waydroid confirmed working (Play Store, Google sign-in). Camera
confirmed working on both sensors via the hardware ISP. Headers are
bundled in the installer as a plain tarball (not a .deb - package
names can't contain the uppercase in "BobZKernel") for anyone who
needs to build a module against this kernel later.
🤖 Generated with Claude Code
BobZKernel v7.2.2 - Intel Raptor Lake (march=native)
First Linux 7.2 release of BobZKernel — built on v7.2.2 stable with the BobZKernel patch stack on top.
This is the march=native variant, tuned for Intel Raptor Lake (13th Gen) on the Lenovo Legion / LOQ 15IRH8. See the compatibility section before downloading.
What's new since the 7.1.x line
- Linux 7.2 base — first 7.2 release; built against
v7.2.2stable. - Nothing dropped, nothing refreshed. All five patches —
0001-bore,0001-acpi-call,dkms-clang,9003-rseq-latency-histogram,9100-platform-profile-accept-custom— carried forward byte-for-byte and dry-run verified exact (zero fuzz/offset) against pristinev7.2.2. A cleaner transition than 7.0 → 7.1, which needed a patch drop and BORE didn't need the kind of hand refresh it took at the 7.1.5 point release. - Checked upstream first, as always: neither CachyOS's
kernel-patchesrepo nor firelzrd/bore-scheduler has published anything for the 7.x line, so nothing to pull from either.
Features
- BORE scheduler (vanilla-compatible,
CONFIG_SCHED_BORE=y) CONFIG_RSEQ_SLICE_EXTENSION=ywith the9003-rseq-latency-histogramobservability patch- Runtime tunable:
/sys/kernel/debug/rseq/slice_ext_nsec(5000–50000 ns) - Stats:
/sys/kernel/debug/rseq/stats
- Runtime tunable:
- 9100-platform-profile-accept-custom patch (Lenovo Legion/LOQ TLP integration)
- LTO Clang Full, RANDSTRUCT Full, BBRv3 default TCP congestion control
- Built with Clang 19.1.7 + ccache
Install upstream LLL after booting this kernel:
git clone https://github.com/johnfanv2/LenovoLegionLinux
cd LenovoLegionLinux/kernel_module
sudo make dkms-installThen update /etc/tlp.conf:
PLATFORM_PROFILE_ON_AC=custom # purple LED, performance mode
PLATFORM_PROFILE_ON_BAT=low-power # blue LED, battery saver
The custom profile only works because of the 9100-platform-profile-accept-custom patch in this kernel — on a stock kernel that write returns -EINVAL.
Uninstall
sudo ./uninstall.shRemoves /boot files, /lib/modules tree, and regenerates GRUB.
Build provenance
- Built from source at commit
67077a3onmaster(linux-7.2) - Built with Clang 19.1.7 on Debian trixie
- Built on a Lenovo LOQ 15IRH8 (i5-13420H)
- Booted and verified before this release was cut: NVIDIA Optimus (i915 + nvidia_drm) intact, BORE active,
9100proven live (TLP successfully wrotecustomto/sys/firmware/acpi/platform_profile), RSEQ debugfs present and correctly structured, zero failed systemd units - See
VERSIONinside the tarball for the full manifest
Status of the 7.1 line
linux-7.1 is now frozen at the confirmed-working 7.1.12 state (same treatment linux-7.0 got when master moved on to 7.1). The workpc, Pixel Slate, and generic variants haven't migrated to 7.2 yet — they remain on their existing 7.1.x releases until each gets its own groundwork pass.
License
GPL-2.0 (Linux kernel license).
BobZKernel v7.1.1-generic - Universal x86-64-v2
First generic-build variant release of BobZKernel on the 7.1 line — Linux 7.1.1 built with -march=x86-64-v2 for universal modern x86-64 compatibility.
Built against v7.1.1 stable (the first 7.1.x point release). For the 7.1.0-based hardware-specific variants, see v7.1.0 (Intel Raptor Lake), v7.1.0-workpc (AMD Piledriver), or v7.1.0-pixel-slate (Google Pixel Slate).
What's different from the hardware-specific variants
| Hardware-specific variants | This (generic) | |
|---|---|---|
| Compiler target | -march=native / -march=bdver2 / -march=skylake |
-march=x86-64-v2 -mtune=generic |
| CPU config | CONFIG_X86_NATIVE_CPU=y (laptop) |
CONFIG_GENERIC_CPU=y |
| Audience | Single specific hardware target | Any modern x86-64 CPU |
| GPU drivers | Hardware-specific (one built-in for early KMS, others as modules) | All major GPU drivers as modules (i915, amdgpu, radeon) |
| Trim level | Trimmed for the target machine (e.g. pixel-slate dropped 156 drivers) | Standard driver set |
Everything else (BORE, RSEQ slice extension, RANDSTRUCT Full, LTO Clang Full, 1000 Hz, BBRv3, ZRAM, the 9100 platform_profile patch, the 9003 RSEQ histogram patch) is identical to the other variants.
Why x86-64-v2?
The four x86-64 feature levels are tiered:
- v1 (bare
-march=x86-64): SSE, SSE2 only. Works on literally anything 64-bit (2003+). Maximum compatibility but leaves a lot of perf on the table — even most distros' libc already requires more than v1 anyway. - v2: adds SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT. Requires Intel Nehalem (2008+) or AMD Bulldozer (2011+). This is the realistic "universal modern x86-64" baseline.
- v3: adds AVX, AVX2, BMI1, BMI2, FMA. Requires Intel Haswell (2013+) or AMD Excavator/Zen (2015+). Excludes pre-Haswell Intel and AMD Piledriver (no AVX2).
- v4: AVX-512. Niche (some Skylake-X / Ice Lake Intel; AMD Zen 4+).
v2 was chosen for genuine universality — anything 2008-ish or newer with normal CPU features. If you have an AMD Piledriver desktop (AVX1 but no AVX2), use the workpc variant instead — same codegen subset but tuned specifically for bdver2.
Compatibility
| CPU | Will it boot? |
|---|---|
| Any Intel 2008+ (Nehalem and newer) | Yes |
| Any AMD Bulldozer/Piledriver/Steamroller/Excavator/Zen | Yes |
| Any modern x86_64 with SSE4.2 + POPCNT | Yes |
| Pre-Nehalem Intel (Core 2, Pentium 4, etc.) | No (missing SSE4.2 / POPCNT) |
| AMD K8 / K10 (Athlon X2, Phenom etc.) | No (missing required v2 features) |
| 32-bit only / non-x86 | No (it's an x86-64 kernel) |
The install script (bundled inside the tarball) now does a proper variant-aware vendor check — for the generic build, EXPECTED_VENDOR=any, so it won't bother you with spurious warnings about CPU vendor.
Features
- BORE scheduler (
CONFIG_SCHED_BORE=y) - RSEQ slice extension +
9003-rseq-latency-histogrampatch- Runtime tunable:
/sys/kernel/debug/rseq/slice_ext_nsec(range 5000–50000 ns) - Observability:
/sys/kernel/debug/rseq/stats
- Runtime tunable:
- 9100-platform-profile-accept-custom patch (no-op except on Lenovo Legion/LOQ; harmless elsewhere)
- LTO Clang Full built with Clang/LLVM-19
- 1000 Hz timer, dynamic preemption
- BBRv3 TCP congestion control
- ZRAM + ZSWAP (zstd)
- RANDSTRUCT Full
Install
# verify the checksum first
sha256sum BobZKernel-7.1.1-generic-installer.tar.gz
# eb4c6d5964f6bc596afd0a65ba7ca748b4f9272d5b1402e55a57329b17044294
tar -xzf BobZKernel-7.1.1-generic-installer.tar.gz
sudo ./install.shThe installer auto-detects your distro and bootloader; tested target families:
- Debian / Ubuntu / Linux Mint / Pop!_OS
- Fedora / RHEL / CentOS / Rocky / AlmaLinux
- Arch / Manjaro / EndeavourOS / CachyOS
- openSUSE / SLES
After reboot, pick 7.1.1-BobZKernel-generic from your bootloader menu.
DKMS modules
This tarball ships only the kernel + in-tree modules. Out-of-tree DKMS modules (NVIDIA, VirtualBox, etc.) need to rebuild themselves against the new kernel:
sudo dkms autoinstall -k 7.1.1-BobZKernel-genericFor NVIDIA on a RANDSTRUCT-enabled kernel, you'll need the __no_randomize_layout patch applied to the NVIDIA DKMS source — see scripts/nvidia-randstruct-fix.sh in the source tree.
Build provenance
- Branch:
generic-buildat commit325bebd - Built with Clang 19.1.7 on Debian trixie
- Built on a Lenovo LOQ 15IRH8 (i5-13420H Raptor Lake) but with
-march=x86-64-v2rather than-march=native, so the binary doesn't bake in Raptor Lake-specific instructions
Note
The generic build hasn't been boot-tested on the wide range of CPUs it targets — it's been built and verified to compile/link cleanly, and the install script logic has been validated. If you're an Intel 11th gen / AMD Excavator / older user and you boot this, feedback welcome via the issue tracker.
License
GPL-2.0 (Linux kernel license).
BobZKernel v7.1.0-workpc - AMD Piledriver (bdver2)
First workpc variant release of BobZKernel — Linux 7.1 built specifically for AMD Family 15h (Bulldozer / Piledriver / Steamroller / Excavator) desktops with a Radeon GPU on the radeon kernel driver.
This is not the laptop's march=native build (see v7.1.0 for Intel Raptor Lake / Alder Lake / similar). Tested on an ASUS M5A78L-M LX PLUS with AMD FX-4300 + integrated RS780L Radeon HD 3000.
What's different from v7.1.0 (the laptop release)
| v7.1.0 (laptop) | v7.1.0-workpc (this) | |
|---|---|---|
| Compiler target | -march=native (Intel Raptor Lake) |
-march=bdver2 -mtune=bdver2 (AMD Piledriver) |
| CPU config | CONFIG_X86_NATIVE_CPU=y |
CONFIG_GENERIC_CPU=y |
| GPU built-in | DRM_I915=m, no AMDGPU/radeon |
DRM_RADEON=y (early KMS), DRM_AMDGPU=m |
| Intel i915 | enabled | disabled |
| Kernel name | 7.1.0-BobZKernel |
7.1.0-BobZKernel-workpc |
Everything else (BORE, RSEQ slice extension, RANDSTRUCT Full, LTO Clang Full, 1000 Hz, BBRv3, ZRAM, the 9100 platform_profile patch, the 9003 RSEQ histogram patch) is identical.
Compatibility
Built with -march=bdver2, which emits SSE through SSE4.2, AES-NI, AVX, FMA4, XOP, BMI1, F16C — but not AVX2 or BMI2 (Piledriver doesn't have them). Runs on:
| CPU | Will it boot? |
|---|---|
| AMD FX-4xxx / 6xxx / 8xxx (Vishera, Piledriver) | Yes — primary target |
| AMD A-series Trinity/Richland (Piledriver-based APUs) | Yes |
| AMD Kaveri / Godavari (Steamroller) | Yes (bdver3-compatible) |
| AMD Carrizo / Bristol Ridge (Excavator) | Yes (bdver4-compatible) |
| AMD Zen (Ryzen 1xxx and newer) | Yes (znver1+ supports the bdver2 subset) |
| AMD Bulldozer (FX-4100/6100/8100, original) | Yes (bdver1 is a subset) |
| Intel (any) | No — wrong codegen, would SIGILL quickly |
| AMD pre-Bulldozer (K10, Phenom, etc.) | No — no AVX/FMA |
GPU side: the kernel has DRM_RADEON=y (built-in) and DRM_AMDGPU=m. Works on:
- Pre-GCN AMD GPUs (R600 / R700 / Evergreen / Northern Islands / RS780-series IGPs) via the
radeondriver - GCN+ AMD GPUs via the
amdgpudriver (module — loads on demand if you have newer hardware) - Vulkan: only on GCN+ via
amdgpu— pre-GCN cards (like the test rig's RS780L) can't do Vulkan because RADV requires theamdgpudriver. Not a kernel limitation, just a Mesa/userspace one.
Features
- BORE scheduler (
CONFIG_SCHED_BORE=y) - RSEQ slice extension +
9003-rseq-latency-histogrampatch- Runtime tunable:
/sys/kernel/debug/rseq/slice_ext_nsec
- Runtime tunable:
- 9100-platform-profile-accept-custom patch (only relevant on Lenovo Legion hardware, harmless elsewhere)
- LTO Clang Full built with Clang/LLVM-19
- 1000 Hz timer, dynamic preemption
- BBRv3 TCP congestion control (default)
- ZRAM + ZSWAP (zstd)
- RANDSTRUCT Full
Install
sha256sum BobZKernel-7.1.0-workpc-installer.tar.gz
# 7ac9004a70b6b8afc7100fb39272f7bee5f7f4f8d97732b359b6e59573f708ee
tar -xzf BobZKernel-7.1.0-workpc-installer.tar.gz
sudo ./install.shKnown cosmetic warning in install.sh: The installer was generated by a template that hardcodes "this kernel targets Intel Raptor Lake" in its CPU vendor check. On an AMD machine you'll see a scary red warning telling you to proceed at your own risk. This warning is wrong for this build — the kernel was compiled with -march=bdver2, which is the correct AMD target. Just type y to proceed. Will be fixed in the create-portable-installer script to be branch-aware in a future iteration.
The installer auto-detects your distribution and bootloader. Tested on:
- Linux Mint 22.3 Cinnamon ✓
Should also work on Debian / Ubuntu / Pop!_OS / Fedora / Arch and derivatives — the install script handles all common update-initramfs / dracut / mkinitcpio + update-grub / grub-mkconfig paths.
After reboot, pick 7.1.0-BobZKernel-workpc from your GRUB menu.
Tested hardware (verified working)
- Motherboard: ASUS M5A78L-M LX PLUS (AMD 760G + SB710, AM3+)
- CPU: AMD FX-4300 (4-core, Piledriver / Vishera)
- GPU: Integrated AMD Radeon HD 3000 (RS780L, R600 / TeraScale 1 era) —
radeondriver - NIC: Realtek RTL8111/8168 (r8169 driver)
- Audio: AMD/ATI Azalia (snd_hda_intel)
- Boot mode: Legacy BIOS, GRUB, MBR
- Distro: Linux Mint 22.3 Cinnamon
Build provenance
- Branch:
workpcat commitd668ab4 - Built with Clang 19.1.7 on Debian trixie (cross-targeted from a Lenovo LOQ 15IRH8 — laptop builds the AMD desktop's kernel)
- See
VERSIONinside the tarball for the full manifest
Notes
- DKMS modules: This tarball ships kernel + in-tree modules only. The test machine doesn't run any out-of-tree DKMS modules (no NVIDIA, no Lenovo, no VirtualBox). If you have your own DKMS modules they need a separate
sudo dkms autoinstall -k 7.1.0-BobZKernel-workpcafter install. - No DKMS NVIDIA fix needed for this variant — there's no NVIDIA in the target hardware. (The
nvidia-randstruct-fix.shstep from the laptop pipeline is skipped for workpc.)
License
GPL-2.0 (Linux kernel license).
BobZKernel v7.1.0-pixel-slate - Google Pixel Slate
First pixel-slate variant release of BobZKernel on the 7.1 line — Linux 7.1 built specifically for the Google Pixel Slate (codename nocturne).
Tested on real hardware: Pixel Slate i5 running Ubuntu 25.10 / GNOME Shell 49.0 on Wayland. Audio, sensors, touchscreen, fingerprint reader, wifi/BT all confirmed working post-install.
What's different from v7.1.0 (the laptop release)
| v7.1.0 (laptop) | v7.1.0-pixel-slate (this) | |
|---|---|---|
| Compiler target | -march=native (Intel Raptor Lake) |
-march=skylake -mtune=skylake (matches Slate's Skylake/Kaby Lake era) |
| CPU config | CONFIG_X86_NATIVE_CPU=y |
CONFIG_GENERIC_CPU=y (kernel-side baseline; KCFLAGS controls codegen) |
| Audio drivers | Intel SOF default | Intel AVS kept enabled (SND_SOC_INTEL_AVS_MACH_MAX98373=m) — Slate's MAX98373 codec uses AVS, not SOF |
| ChromeOS EC support | Not specially enabled | Full cros_ec + cros_ec_sensorhub + iio_cros_ec_sensors* for battery, sensors, EC events |
| Driver set | Full | ~156 unnecessary drivers trimmed (most server/legacy/non-Intel hardware) — smaller kernel + smaller initramfs |
| Kernel name | 7.1.0-BobZKernel |
7.1.0-BobZKernel-pixel-slate |
Tarball is 102 MB vs 117 MB for the laptop variant — the trim work shows.
Compatibility
This binary is for Pixel Slate hardware specifically:
| Hardware | Will it boot? |
|---|---|
Google Pixel Slate (i5 / i7 / m3 — nocturne codename) |
Yes — primary target |
| Other Skylake / Kaby Lake Chromebooks / convertibles | Probably (similar enough — codename varies, hardware is close) |
| Other Intel 6th-8th gen (Skylake-derived) systems | Yes (codegen-compatible, but tailored config may miss some drivers you need) |
| Intel 9th gen+ (Coffee Lake and newer) | Boots, but suboptimally targeted (you'd want the v7.1.0 march=native build instead) |
| AMD | No — wrong codegen, would SIGILL |
The "trimmed config" aspect means you may need to add drivers for hardware that isn't on a Pixel Slate. If you're a Pinephone Pro user or a 2-in-1 fan staring at this release, the more universal v7.1.0-generic build (when published) will be a better starting point.
Hardware features verified working
On the Pixel Slate tested:
- Touchscreen (i2c-hid Atmel maXTouch) ✓
- Cros-EC sensors — accelerometer (
cros-ec-accel), gyro (cros-ec-gyro), light (cros-ec-light) — all exposed via/sys/bus/iio/devices/iio:device*✓ - Audio — built-in speakers (MAX98373 via AVS), HDMI out, DMIC (digital mics) ✓
- Wifi/BT — Intel chip via
iwlwifi+ bluez ✓ - Fingerprint reader (
cros_fp) — kernel-side enumerated; needslibfprint-2-tod1userspace ✓ - i915 display with 3000×2000 native panel ✓
- EC events (battery, lid switch, tablet mode toggle) via
cros_ec✓ - Suspend/resume — works (with the usual Chromebook power-management caveats)
Required userspace bits for full functionality
The kernel exposes the hardware correctly, but auto-rotation also needs two userspace pieces. These are not in the tarball — put them in place on your Slate install:
1. Accelerometer mount matrix (for auto-rotate)
/etc/udev/rules.d/99-pixel-slate-accelerometer.rules:
ACTION=="add", SUBSYSTEM=="iio", ATTRS{name}=="cros-ec-accel", ENV{ACCEL_MOUNT_MATRIX}="0, 1, 0; -1, 0, 0; 0, 0, 1"
Without this, iio-sensor-proxy has no idea how the accelerometer is physically oriented relative to the screen, and GNOME/Phosh/etc. won't auto-rotate or will rotate in the wrong direction.
2. Module blacklist on the kernel cmdline
Add module_blacklist=hid_google_hammer,cros_usbpd_notify to your kernel command line (location depends on your bootloader).
hid_google_hammeris the folio keyboard HID driver — only useful if you actually use the pogo-pin keyboard. Most Linux-on-Slate users go with a Bluetooth keyboard.cros_usbpd_notify— has been observed to cause dmesg spam or instability; blacklisting it is a known fix.
3. Recommended packages
firmware-sof-signed # SOF firmware blobs (don't conflict with AVS)
libfprint-2-2 libfprint-2-tod1 # fingerprint reader userspace
alsa-ucm-conf alsa-utils # UCM configs for audio routing
pipewire gstreamer1.0-pipewire # audio stack
intel-microcode # CPU microcode updates
Features
- BORE scheduler (
CONFIG_SCHED_BORE=y) - RSEQ slice extension +
9003-rseq-latency-histogrampatch - 9100-platform-profile-accept-custom patch (no-op on Slate — Slate doesn't expose
platform_profile, but kernel-side is harmless) - LTO Clang Full built with Clang/LLVM-19
-march=skylake -mtune=skylake(matches Pixel Slate's 8th gen Y-series Kaby Lake silicon)- 1000 Hz timer, dynamic preemption
- BBRv3 TCP congestion control
- ZRAM + ZSWAP (zstd)
- RANDSTRUCT Full
Install
# verify checksum
sha256sum BobZKernel-7.1.0-pixel-slate-installer.tar.gz
# cc700fd214e671310e1ade1578b96e4e15dbaf8f3694f7427914e22d20ec22bb
tar -xzf BobZKernel-7.1.0-pixel-slate-installer.tar.gz
sudo ./install.shKnown cosmetic warning in install.sh: The bundled install.sh is generated from a template that hardcodes "this kernel targets Intel Raptor Lake" in its CPU vendor check. On a Pixel Slate (which is Intel, GenuineIntel), this check passes silently — but if you transfer this tarball to a non-Intel system the warning will appear and is wrong for this build (codegen is -march=skylake, not Raptor Lake).
After install
Reboot and pick 7.1.0-BobZKernel-pixel-slate from your bootloader menu.
Verified test environment
- Hardware: Google Pixel Slate (
nocturne) - EC: Nuvoton NPCX796F, firmware
nocturne_v2.2.148-ee6c7a990(2019) - OS: Ubuntu 25.10 "Questing Quokka" with GNOME Shell 49.0 on Wayland
- Bootloader: rEFInd with
enable_touch - Boot time: 21.8s userspace (vs 24.6s on the prior 6.18.7 build — 3s faster)
- Final state: all sensors detected, audio cards intact, no failed systemd units,
monitor-sensoractively reporting orientation events
Build provenance
- Branch:
pixel-slateat commitae65d8c - Built with Clang 19.1.7 on Debian trixie (cross-targeted from a Lenovo LOQ 15IRH8 to a Skylake/Kaby Lake Pixel Slate)
- Config trim work preserved from prior
config-6.18.6-pixel-slate(originally ~156 unnecessary drivers removed for faster builds and reduced footprint);make olddefconfigagainst 7.1 handled Kconfig drift
License
GPL-2.0 (Linux kernel license).
BobZKernel v7.1.0 - Intel Raptor Lake (march=native)
First Linux 7.1 release of BobZKernel — built on v7.1 mainline (the .0 release) with the BobZKernel patch stack on top.
This is the march=native variant, tuned for Intel Raptor Lake (13th Gen) on the Lenovo Legion / LOQ 15IRH8. See the compatibility section before downloading.
Note on the version string: kernel.org tagged this release as bare
v7.1, but the Makefile expands SUBLEVEL=0 so the runtime kernel version reports as7.1.0-BobZKernel. Identical content to the upstreamv7.1tag — just labeled differently at runtime.
What's new since the 7.0.x line
- Linux 7.1 base — first 7.1 release; ~9 weeks of mainline development on top of 7.0.x.
- Dropped patch:
0001-rt-i915.patch— CachyOS dropped this for the 7.1 stack and we followed. It's a PREEMPT_RT compatibility shim (wrapslocal_irq_disable()calls inif (!IS_ENABLED(CONFIG_PREEMPT_RT))guards). We buildCONFIG_PREEMPT_DYNAMIC=y, not PREEMPT_RT, so those guards compile-time evaluate to true and the patch was a no-op for our config. - Updated patches —
0001-acpi-call,0001-bore, anddkms-clangare refreshed from CachyOS's 7.1 stack. - Same custom patches — our
9003-rseq-latency-histogramand9100-platform-profile-accept-customported forward unchanged; both dry-run clean againstv7.1.
Features
- BORE scheduler (vanilla-compatible,
CONFIG_SCHED_BORE=y) CONFIG_RSEQ_SLICE_EXTENSION=ywith the9003-rseq-latency-histogramobservability patch- Runtime tunable:
/sys/kernel/debug/rseq/slice_ext_nsec(5000–50000 ns) - Stats:
/sys/kernel/debug/rseq/stats
- Runtime tunable:
- 9100-platform-profile-accept-custom patch (Lenovo Legion/LOQ TLP integration)
- LTO Clang Full (
CONFIG_LTO_CLANG_FULL=y) built with Clang/LLVM-19 - march=native tuned to Intel i5-13420H (Raptor Lake)
- 1000 Hz timer, dynamic preemption (
CONFIG_PREEMPT_DYNAMIC=y) - BBRv3 TCP congestion control (default)
- ZRAM + ZSWAP (zstd)
- RANDSTRUCT Full (kernel struct layout randomization)
Compatibility
This binary is built with march=native targeting Intel Raptor Lake (13th Gen). Realistic compatibility:
| CPU | Will it boot? |
|---|---|
| Intel 12th / 13th / 14th Gen (Alder/Raptor Lake) | Yes |
| Intel 11th Gen (Tiger Lake) | Likely (test on a non-critical box first) |
| Intel 10th Gen and older | No — build from source instead |
| AMD (any) | No — build from source instead |
If your CPU isn't in the "Yes" row, don't install this binary. Build from source — the pipeline auto-tunes via -march=native on the build host:
git clone -b linux-7.1 https://github.com/thewraith420/BobZKernel
cd BobZKernel
./scripts/update-and-build-7.1.shThe 7.1 build script supports cold start (auto-clones builds/linux-7.1/ from kernel.org if missing).
Install
# verify the checksum first
sha256sum BobZKernel-7.1.0-march-native-installer.tar.gz
# 8d61b4af43206427087e5ec9005f9b2219db3c63e7b27ad06dc3f670e57320c6
tar -xzf BobZKernel-7.1.0-march-native-installer.tar.gz
sudo ./install.shThe installer auto-detects your distro and bootloader; tested target families:
- Debian / Ubuntu / Linux Mint / Pop!_OS
- Fedora / RHEL / CentOS / Rocky / AlmaLinux
- Arch / Manjaro / EndeavourOS / CachyOS
- openSUSE / SLES
It runs a CPU vendor check before install and bails on non-Intel hardware (with a confirmation prompt to force-proceed if you really know what you're doing).
After reboot, pick 7.1.0-BobZKernel from your GRUB menu.
DKMS modules (NVIDIA, etc.)
The tarball ships only the kernel + in-tree modules. Out-of-tree DKMS modules need to rebuild themselves against the new kernel:
sudo dkms autoinstall -k 7.1.0-BobZKernelNVIDIA + RANDSTRUCT
This kernel uses CONFIG_RANDSTRUCT_FULL=y. The NVIDIA proprietary driver needs a small source patch (__no_randomize_layout) to build against RANDSTRUCT kernels — without it you get a kernel panic on suspend. The fix lives at scripts/nvidia-randstruct-fix.sh in this repo; run it on the NVIDIA DKMS source before dkms autoinstall.
LenovoLegionLinux (Legion / LOQ)
Install upstream LLL after booting this kernel:
git clone https://github.com/johnfanv2/LenovoLegionLinux
cd LenovoLegionLinux/kernel_module
sudo make dkms-installThen update /etc/tlp.conf:
PLATFORM_PROFILE_ON_AC=custom # purple LED, performance mode
PLATFORM_PROFILE_ON_BAT=low-power # blue LED, battery saver
The custom profile only works because of the 9100-platform-profile-accept-custom patch in this kernel — on a stock kernel that write returns -EINVAL.
Uninstall
sudo ./uninstall.shRemoves /boot files, /lib/modules tree, and regenerates GRUB.
Build provenance
- Built from source at commit
9a0f518on thelinux-7.1branch - Built with Clang 19.1.7 on Debian trixie
- Built on a Lenovo LOQ 15IRH8 (i5-13420H)
- See
VERSIONinside the tarball for the full manifest
Status of the 7.0 line
v7.0.11 and v7.0.12 remain published. The linux-7.0 branch will continue to receive 7.0.x stable bumps as kernel.org cuts them, in parallel with 7.1.x development on linux-7.1.
License
GPL-2.0 (Linux kernel license).
BobZKernel v7.0.11 - Intel Raptor Lake (march=native)
First Linux 7.0.x release of BobZKernel — built on v7.0.11-stable with the BobZKernel patch stack on top.
This is the march=native variant, tuned for Intel Raptor Lake (13th Gen) on the Lenovo Legion / LOQ 15IRH8 specifically. See the compatibility section before downloading.
What's new since the 6.18.x line
- Linux 7.0 base — BORE scheduler refreshed against the 7.0 fair tree, RSEQ slice extension is now mainline (no custom patch needed), NVMe cluster-aware IRQ affinity is now mainline.
9100-platform-profile-accept-custom— new one-line kernel patch lets userspace (TLP, power-profiles-daemon, etc.) writecustomto the aggregate/sys/firmware/acpi/platform_profiledirectly. On Legion/LOQ hardware this is the gamezone-aligned "balanced-performance equivalent" profile and previously required out-of-tree driver hacks.- Direct upstream LenovoLegionLinux integration — no more fork carrying a profile alias; we pull
johnfanv2/LenovoLegionLinuxmaster HEAD via DKMS. - Patches dropped (graduated upstream): custom RSEQ slice extension (now
CONFIG_RSEQ_SLICE_EXTENSION=y), custom NVMe cluster-aware IRQ patch. - Patches dropped (unused on target hardware): CachyOS
0001-cgroup-vram.patch(TTM-backed dmem cgroup integration — irrelevant on NVIDIA-proprietary single-user laptops).
Features
- BORE scheduler (vanilla-compatible,
CONFIG_SCHED_BORE=y) CONFIG_RSEQ_SLICE_EXTENSION=ywith the9003-rseq-latency-histogramobservability patch- Runtime tunable:
/sys/kernel/debug/rseq/slice_ext_nsec(5000–50000 ns) - Stats:
/sys/kernel/debug/rseq/stats
- Runtime tunable:
- 9100-platform-profile-accept-custom patch (Lenovo Legion/LOQ TLP integration)
- LTO Clang Full (
CONFIG_LTO_CLANG_FULL=y) built with Clang/LLVM-19 - march=native tuned to Intel i5-13420H (Raptor Lake)
- 1000 Hz timer, dynamic preemption (
CONFIG_PREEMPT_DYNAMIC=y) - BBRv3 TCP congestion control (default)
- ZRAM + ZSWAP (zstd)
- RANDSTRUCT Full (kernel struct layout randomization)
Compatibility
This binary is built with march=native targeting Intel Raptor Lake (13th Gen). Realistic compatibility:
| CPU | Will it boot? |
|---|---|
| Intel 12th / 13th / 14th Gen (Alder/Raptor Lake) | Yes |
| Intel 11th Gen (Tiger Lake) | Likely (test on a non-critical box first) |
| Intel 10th Gen and older | No — build from source instead |
| AMD (any) | No — build from source instead |
If your CPU isn't in the "Yes" row, don't install this binary. Build from source — the pipeline auto-tunes via -march=native on the build host:
git clone https://github.com/thewraith420/BobZKernel
cd BobZKernel
./scripts/update-and-build-7.0.shInstall
# verify the checksum first
sha256sum BobZKernel-7.0.11-march-native-installer.tar.gz
# 9cb7f43a39af1db9d3066f5767517f03faa00564999d45584ffdef382d600584
tar -xzf BobZKernel-7.0.11-march-native-installer.tar.gz
sudo ./install.shThe installer auto-detects your distro and bootloader; tested target families:
- Debian / Ubuntu / Linux Mint / Pop!_OS
- Fedora / RHEL / CentOS / Rocky / AlmaLinux
- Arch / Manjaro / EndeavourOS / CachyOS
- openSUSE / SLES
It runs a CPU vendor check before install and bails on non-Intel hardware (with a confirmation prompt to force-proceed if you really know what you're doing).
After reboot, pick 7.0.11-BobZKernel from your GRUB menu.
DKMS modules (NVIDIA, etc.)
The tarball ships only the kernel + in-tree modules. Out-of-tree DKMS modules need to rebuild themselves against the new kernel:
sudo dkms autoinstall -k 7.0.11-BobZKernelNVIDIA + RANDSTRUCT
This kernel uses CONFIG_RANDSTRUCT_FULL=y. The NVIDIA proprietary driver needs a small source patch (__no_randomize_layout) to build against RANDSTRUCT kernels — without it you get a kernel panic on suspend. The fix lives at scripts/nvidia-randstruct-fix.sh in this repo; run it on the NVIDIA DKMS source before dkms autoinstall.
LenovoLegionLinux (Legion / LOQ)
Install upstream LLL after booting this kernel:
git clone https://github.com/johnfanv2/LenovoLegionLinux
cd LenovoLegionLinux/kernel_module
sudo make dkms-installThen update /etc/tlp.conf:
PLATFORM_PROFILE_ON_AC=custom # purple LED, performance mode
PLATFORM_PROFILE_ON_BAT=low-power # blue LED, battery saver
The custom profile only works because of the 9100-platform-profile-accept-custom patch in this kernel — on a stock kernel that write returns -EINVAL.
Uninstall
sudo ./uninstall.shRemoves /boot files, /lib/modules tree, and regenerates GRUB.
Build provenance
- Built from source at commit
cdb598b - Built with Clang 19.1.7 on Debian trixie
- Built on a Lenovo LOQ 15IRH8 (i5-13420H)
- See
VERSIONinside the tarball for the full manifest
License
GPL-2.0 (Linux kernel license).
BobZKernel v6.18.8-pixel-slate - Google Pixel Slate Optimized
Updated to kernel 6.18.8. Optimized for Google Pixel Slate hardware with Intel Skylake/Kaby Lake CPU. Includes BORE scheduler, Full LTO, and 156 unnecessary drivers removed for faster builds and reduced footprint.
BobZKernel v6.18.8-generic - Universal x86-64 Build
Updated to kernel 6.18.8. Universal x86-64 build with BORE scheduler, Full LTO optimization, and BBRv3 TCP congestion control. Includes cluster-aware NVMe IRQ affinity optimization backported from 6.20+.