Skip to content

Releases: thewraith420/BobZKernel

BobZKernel v7.1.13-picker - Nightfall touch boot picker

Choose a tag to compare

@thewraith420 thewraith420 released this 20 Sep 21:03

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

Choose a tag to compare

@thewraith420 thewraith420 released this 20 Sep 21:07

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)

Choose a tag to compare

@thewraith420 thewraith420 released this 28 Aug 21:32

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.2 stable.
  • 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 pristine v7.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-patches repo 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=y with the 9003-rseq-latency-histogram observability patch
    • Runtime tunable: /sys/kernel/debug/rseq/slice_ext_nsec (5000–50000 ns)
    • Stats: /sys/kernel/debug/rseq/stats
  • 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-install

Then 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.sh

Removes /boot files, /lib/modules tree, and regenerates GRUB.

Build provenance

  • Built from source at commit 67077a3 on master (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, 9100 proven live (TLP successfully wrote custom to /sys/firmware/acpi/platform_profile), RSEQ debugfs present and correctly structured, zero failed systemd units
  • See VERSION inside 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

Choose a tag to compare

@thewraith420 thewraith420 released this 19 Jun 17:19

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-histogram patch
    • Runtime tunable: /sys/kernel/debug/rseq/slice_ext_nsec (range 5000–50000 ns)
    • Observability: /sys/kernel/debug/rseq/stats
  • 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.sh

The 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-generic

For 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-build at commit 325bebd
  • Built with Clang 19.1.7 on Debian trixie
  • Built on a Lenovo LOQ 15IRH8 (i5-13420H Raptor Lake) but with -march=x86-64-v2 rather 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)

Choose a tag to compare

@thewraith420 thewraith420 released this 18 Jun 19:49

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 radeon driver
  • GCN+ AMD GPUs via the amdgpu driver (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 the amdgpu driver. Not a kernel limitation, just a Mesa/userspace one.

Features

  • BORE scheduler (CONFIG_SCHED_BORE=y)
  • RSEQ slice extension + 9003-rseq-latency-histogram patch
    • Runtime tunable: /sys/kernel/debug/rseq/slice_ext_nsec
  • 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.sh

Known 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) — radeon driver
  • 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: workpc at commit d668ab4
  • Built with Clang 19.1.7 on Debian trixie (cross-targeted from a Lenovo LOQ 15IRH8 — laptop builds the AMD desktop's kernel)
  • See VERSION inside 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-workpc after install.
  • No DKMS NVIDIA fix needed for this variant — there's no NVIDIA in the target hardware. (The nvidia-randstruct-fix.sh step from the laptop pipeline is skipped for workpc.)

License

GPL-2.0 (Linux kernel license).

BobZKernel v7.1.0-pixel-slate - Google Pixel Slate

Choose a tag to compare

@thewraith420 thewraith420 released this 19 Jun 13:51

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; needs libfprint-2-tod1 userspace ✓
  • 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_hammer is 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-histogram patch
  • 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.sh

Known 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-sensor actively reporting orientation events

Build provenance

  • Branch: pixel-slate at commit ae65d8c
  • 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 olddefconfig against 7.1 handled Kconfig drift

License

GPL-2.0 (Linux kernel license).

BobZKernel v7.1.0 - Intel Raptor Lake (march=native)

Choose a tag to compare

@thewraith420 thewraith420 released this 18 Jun 17:18

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 as 7.1.0-BobZKernel. Identical content to the upstream v7.1 tag — 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 (wraps local_irq_disable() calls in if (!IS_ENABLED(CONFIG_PREEMPT_RT)) guards). We build CONFIG_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 patches0001-acpi-call, 0001-bore, and dkms-clang are refreshed from CachyOS's 7.1 stack.
  • Same custom patches — our 9003-rseq-latency-histogram and 9100-platform-profile-accept-custom ported forward unchanged; both dry-run clean against v7.1.

Features

  • BORE scheduler (vanilla-compatible, CONFIG_SCHED_BORE=y)
  • CONFIG_RSEQ_SLICE_EXTENSION=y with the 9003-rseq-latency-histogram observability patch
    • Runtime tunable: /sys/kernel/debug/rseq/slice_ext_nsec (5000–50000 ns)
    • Stats: /sys/kernel/debug/rseq/stats
  • 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.sh

The 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.sh

The 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-BobZKernel

NVIDIA + 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-install

Then 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.sh

Removes /boot files, /lib/modules tree, and regenerates GRUB.

Build provenance

  • Built from source at commit 9a0f518 on the linux-7.1 branch
  • Built with Clang 19.1.7 on Debian trixie
  • Built on a Lenovo LOQ 15IRH8 (i5-13420H)
  • See VERSION inside 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)

Choose a tag to compare

@thewraith420 thewraith420 released this 06 Jun 17:56

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.) write custom to the aggregate /sys/firmware/acpi/platform_profile directly. 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/LenovoLegionLinux master 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=y with the 9003-rseq-latency-histogram observability patch
    • Runtime tunable: /sys/kernel/debug/rseq/slice_ext_nsec (5000–50000 ns)
    • Stats: /sys/kernel/debug/rseq/stats
  • 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.sh

Install

# 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.sh

The 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-BobZKernel

NVIDIA + 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-install

Then 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.sh

Removes /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 VERSION inside the tarball for the full manifest

License

GPL-2.0 (Linux kernel license).

BobZKernel v6.18.8-pixel-slate - Google Pixel Slate Optimized

Choose a tag to compare

@thewraith420 thewraith420 released this 31 Jan 02:23

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

Choose a tag to compare

@thewraith420 thewraith420 released this 31 Jan 02:14

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+.