1.0.1-4 — July 2026

The "Which kernel is right for my hardware?" button now detects the CPU's x86-64 architecture level and shows it directly, instead of opening the wiki.

Improved

  • "Which kernel is right for my hardware?" button: No longer opens the wiki page. It now detects the highest x86-64 architecture level (v1–v4) the CPU actually supports and shows it directly, so users know which kernel package variant to pick from the list without leaving the app.

1.0.1-3 — July 2026

Fixed an X3D VCache selection bug that could send an incompatible patch combination to the build.

Fixed

  • X3D VCache selection leaving Zen checked alongside BORE: Selecting X3D force-enables BORE, but since that happened while patch-toggle signals were blocked, BORE's own "uncheck Zen (incompatible)" logic never ran — Zen could stay checked alongside BORE+X3D if it was already active, sending a broken patch combination to the build. X3D's auto-select now also clears whatever is incompatible with BORE.

1.0.1-2 — July 2026

Three build-reliability fixes and two new additions: handheld gaming EC driver support and an automatic march-level guardrail for the X3D VCache patch.

Fixed

  • X3D VCache patch download: Now uses a per-kernel-version URL (6.x / 7.0 / 7.1) instead of a single stale link that no longer existed in the source repository.
  • Base kernel configuration: Now fetched fresh from Debian sid on every build instead of copying the config of a previously installed kernel — avoids configuration drift accumulating across builds and missing support for recently-added hardware.
  • Build failure from inherited module signing key path: The base config's MODULE_SIG_KEY could point to a path that only exists inside Debian's own build system, breaking dpkg-buildpackage at the certs stage. Now reset to the kernel's own default path when no custom Secure Boot key is set.
  • Patch tooltips always in English: The descriptions shown on hover in the Patches selector (BORE, PREEMPT_RT, Zen, NTSYNC, X3D VCache) were never passed through the translation system. Now properly localized in all 8 languages, with missing NTSYNC and X3D VCache translations added.

Added

  • Handheld gaming EC drivers: ASUS_ARMOURY (ROG Ally / Ally X) and OXP_EC (OneXPlayer / AYANEO) are now forced as modules in every build.
  • March level guardrail for X3D: v1 and v2 march levels are now disabled automatically when the X3D VCache patch is selected, since X3D hardware requires at least x86-64-v3.

1.0.1-1 — July 2026

Fixed march-level package detection and display names in the Soplos Kernels tab.

Fixed

  • March-level package detection: Package filter regex now accepts march-level suffixes (v1v4) so packages like linux-soplos-bore-v3 are correctly listed in the Soplos Kernels tab.
  • Display names for march-level packages: Packages now show the march level as a separate label — linux-soplos-v3 → "Stock V3", linux-soplos-bore-v3 → "BORE V3".

1.0.1 — July 2026

x86-64 microarchitecture level selector and AMD X3D VCache scheduler patch in Stock mode, plus auto-generated kernel names and a wiki help button in the Soplos Kernels tab.

Added

  • x86-64 march level selector (Stock mode): Build kernels targeting v1 (Generic), v2 (SSE4.2+), v3 (AVX2+) or v4 (AVX-512) microarchitecture levels via CONFIG_GENERIC_CPU{2,3,4}. v1 is selected by default for maximum hardware compatibility.
  • AMD X3D VCache scheduler patch (Stock mode): Original Soplos patch (x3d-soplos) that detects asymmetric L3 cache topology on AMD Ryzen X3D dual-CCD processors (7950X3D, 9950X3D) and steers tasks towards the VCache CCD using a load-balanced hook in select_task_rq_fair(). Auto-selects BORE and NTSYNC patches; compiled kernel is named soplos-x3d-v3 or soplos-x3d-v4 depending on the selected march level.
  • Auto-generated kernel name (Stock mode): The kernel name field is now read-only and computed automatically from the selected patch set and march level — no manual entry required.
  • Wiki info button in the Soplos Kernels tab: Opens the CPU Compatibility guide on soplos.org to help users choose the right kernel for their hardware.

1.0.0-4 — June 2026

NVIDIA VMA patch now applied when installing or updating pre-built kernels from the Soplos repository tab, preventing DKMS failures on NVIDIA systems.

Fixed

  • NVIDIA patch in Soplos Kernels tab: The NVIDIA VMA compatibility patch was only applied when compiling kernels from source. Now also applied before apt install and apt install --only-upgrade in the Soplos Kernels tab, preventing DKMS build failures on NVIDIA systems when installing or updating pre-built kernels.
  • NVIDIA VMA patch fuzz: Added --fuzz=5 to the patch command so the same patch applies correctly to driver versions with minor line offset differences (e.g. 580 vs 590).

1.0.0-3 — June 2026

Fixed spurious Update button appearing after a Soplos kernel update before reboot.

Fixed

  • Spurious Update button after kernel update: After updating a Soplos kernel, the old vmlinuz was still present in /boot before reboot. The vmlinuz version fallback was comparing it against the repo candidate and showing the Update button incorrectly. The fallback now only activates when the metapackage is not registered in apt (Installed: (none)), so if apt knows the package is up to date, it is trusted and the vmlinuz is not checked.

1.0.0-2 — June 2026

Fixed Soplos Kernels update detection, stale package lists after action, and locale-dependent apt-cache output.

Fixed

  • Update button detection: Stops parsing apt-cache show at the first blank line (end of the first stanza), ensuring the candidate version is always used for update checks instead of being overwritten by the installed version.
  • Stale package list: Forces a full re-fetch of available packages from apt after installing, updating, or removing a kernel, instead of refreshing with cached data.
  • Locale-dependent output: Forces LC_ALL=C on apt-cache calls to prevent field parsing failures on non-English locales.

1.0.0-1 — June 2026

Added a "Remove repository" button to the Soplos Kernels tab for clean repository removal without affecting installed kernels.

Added

  • Remove repository button: New button in the Soplos Kernels tab — removes /etc/apt/sources.list.d/soplos-kernels.sources and /usr/share/keyrings/soplos-kernels.gpg, then runs apt-get update. Already installed kernels are not affected. UI updates instantly.

1.0.0 — April 2026

Initial release: custom kernel compiler with BORE, Zen, NTSYNC and PREEMPT_RT support, Soplos Kernels tab, Secure Boot / MOK management and full i18n in 8 languages.

AddedBuild Features

  • PREEMPT_RT integration: For kernels ≥ 6.12, PREEMPT_RT is built-in upstream — no external patch download; automatically enables CONFIG_PREEMPT_RT=y.
  • Source reuse: Recycle existing kernel sources for faster subsequent compilations with automatic patch conflict detection.
  • Expandable build history: Installation history with automatic kernel tags (XanMod, Liquorix, Zen, System…) and improved UI.
  • Keyboard shortcuts: Ctrl+Q quit, Ctrl+W close, F5 refresh, F1 about, Ctrl+Tab / Ctrl+Shift+Tab switch tabs.
  • About dialog: Application information with version, author, license and website.
  • NTSYNC patch: NT synchronization primitives support for Wine/Proton gaming performance.
  • NVIDIA kernel 7.x patch: Automatically applies VMA locking API compatibility patch to NVIDIA DKMS sources before build — fixes DKMS failure on kernel 7.0+ (from SoplosLinux/nvidia-patches).
  • DKMS MOK auto-enroll: After installation with Secure Boot active, automatically prompts to enroll the DKMS signing key when an NVIDIA GPU is detected — fixes NVENC and CUDA not working with Secure Boot.
  • Save .deb before cleanup: When the build directory cleanup option is active, offers to save the compiled .deb packages to a chosen folder before deleting.
  • MOK key path in UI: The key management dialog now shows the storage path of MOK keys so users know where to find them.

AddedStock Profile & Extras

  • Stock profile (hidden): New «Soplos Stock» kernel profile accessible via Ctrl+Shift+D — compiles a vanilla kernel with no profile modifications, suffix soplos, compatible with all Soplos distributions. Toggling again hides the profile card.
  • Double-click protection: Install button is disabled immediately on click and re-enabled only if validation fails — prevents launching duplicate builds.
  • DKMS rebuild explanation: MOK key dialog explains that DKMS automatically rebuilds NVIDIA modules on each new kernel install and that those modules need the signing key enrolled to load with Secure Boot active.
  • Config resolution pass: A second make olddefconfig is run after all profile and patch options are applied — prevents interactive configuration prompts appearing mid-build when new Kconfig symbols are introduced by a profile.

AddedSoplos Kernels Tab

  • Soplos Kernels tab: New tab to install pre-built Soplos kernels (Stock, BORE, Zen, NTSYNC, BORE+NTSYNC, Real-Time) directly from the official Soplos repository — no compilation required.
  • Tabbed interface: Main window now uses Gtk.Notebook with two tabs: «Build Kernel» and «Soplos Kernels».
  • Repository management: One-click button to add the Soplos kernels apt repository with GPG key verification.
  • Dynamic kernel list: The Soplos Kernels tab reads available packages from apt-cache at runtime — any package added to the repository appears automatically without code changes.
  • Refresh button: Forces apt-get update and reloads the kernel list.
  • Stock profile post-build: When building with the hidden Stock profile, automatically creates the corresponding metapackage .deb and prompts to save all packages to a chosen folder — does not install the kernel on the system.
  • Kernel version display: Available version shown next to each kernel name in the Soplos Kernels tab.
  • Update button: When a newer kernel version is available in the repository, an Update button appears — upgrades the metapackage and purges the old kernel image and headers automatically.
  • Persistent build history: History file moved to ~/.local/share/soplos-kernel-installer/history.json — survives build directory cleanup. Automatic migration from previous locations.
  • Clean package naming: Added KDEB_PKGVERSION=1 to make bindeb-pkg — packages now named linux-image-7.0.3-soplos_1_amd64.deb instead of repeating the version twice.

Fixed

  • Debug package generation: Fixed incorrect generation of -dbg packages by correcting apply_to_config method.
  • History duplicates: Fixed duplicate entries for versions like 7.0-rc6 vs 7.0.0-rc6.
  • Package isolation: Kernel packages isolated in subdirectories (~/kernel_build/{version}/ with image + headers + libc-dev only).
  • External kernel tags: Correct automatic tagging of external kernels (XanMod, Liquorix, Zen, System…) in history.
  • Patch state tracking: Added .applied_patches metadata for proper patch conflict detection during source reuse.
  • Kernel profile bugs: Fixed PREEMPT_DYNAMIC, HZ, THP and DEBUG_INFO Kconfig choice block handling — all profiles now compile correctly.
  • GPU detection: NVIDIA and Intel GPU detection now checks only display/VGA/3D lines in lspci output — AMD CPU lines no longer cause false positives.
  • Base config fallback: Fixed _find_base_config() Python literal bug — now correctly uses run_command("uname -r") at runtime.
  • Path quoting: Fixed missing quotes around paths in cp and make -C commands — prevents failures if paths contain spaces.
  • rt-i915 patch: CachyOS rt-i915 fix now only downloaded on systems with an Intel GPU.
  • BORE fallback: BORE patch now falls back to CachyOS/kernel-patches when not available in the firelzrd repo.
  • Cleanup checkbox: The «Clean build directory after installation» checkbox now actually triggers the cleanup.
  • EOL kernel detection: End-of-Life kernels from kernel.org are now correctly parsed and shown as «(EOL)» with a red warning label.
  • Mainline label: Mainline kernels (e.g. 7.0) are no longer incorrectly shown as «(latest)» — now correctly labelled «(mainline)».
  • MOK signed kernel detection: sb_has_mok_signed_kernels() now also physically verifies /boot/vmlinuz-* files with sbverify --cert MOK.pem.
  • Stock profile package naming: Removed trailing dash from package and kernel names when building with the Stock profile.
  • Stock profile suffix matching: Fixed _suffix_match always returning True for Stock profile — now correctly uses the computed suffix variable.
  • Soplos Kernels detection: Installed kernel detection now checks /boot/vmlinuz-* existence — correctly reflects actual status regardless of how the kernel was installed or removed.
  • Soplos Kernels remove button: Remove button stays active for installed kernels even when the repository is not configured.
  • Cross-tab refresh: Kernel history list refreshes automatically after install/remove from the Soplos Kernels tab.
  • Kernel release name: Now read from include/config/kernel.release in the source tree — correctly handles patch-injected version suffixes (e.g. zen1).
  • Stock post-build package discovery: Fixed saving only the metapackage when a patch injects a version suffix — last_kernel_release captured before the build-only return.
  • Old kernel cleanup on update: After updating a Soplos kernel, old image and headers are purged — apt autoremove was insufficient as manually-installed packages are not auto-removed.

Security

  • MOK password injection fixed: Shell injection vulnerability in MOK enroll/delete/reset operations — password is now safely quoted with shlex.quote() before being passed to mokutil.
  • Kernel name validation: Install button validates the custom kernel name against [a-zA-Z0-9._-] before proceeding — prevents invalid names reaching scripts/config.
  • Remove kernel validation: remove_kernel() validates the release string against a strict regex before constructing any shell commands.

Improved

  • Installation simplified to sudo apt install soplos-kernel-installer only.
  • Documentation: Updated README with new features and corrected screenshot paths.
  • UI: Enhanced user experience with better feedback and navigation.

Translations

  • 9 missing strings added across all 8 languages (en, es, de, fr, it, pt, ro, ru): mainline label, Soplos Stock profile name and description, EOL warning markup, invalid kernel name error, DKMS enrolled/not-enrolled texts, and post-install DKMS rebuild prompt.