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 installandapt install --only-upgradein the Soplos Kernels tab, preventing DKMS build failures on NVIDIA systems when installing or updating pre-built kernels. - NVIDIA VMA patch fuzz: Added
--fuzz=5to 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
vmlinuzwas still present in/bootbefore 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 showat 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=Con 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.sourcesand/usr/share/keyrings/soplos-kernels.gpg, then runsapt-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.
Added — Build 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
.debpackages 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.
Added — Stock 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 olddefconfigis 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.
Added — Soplos 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.Notebookwith 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 updateand reloads the kernel list. - Stock profile post-build: When building
with the hidden Stock profile, automatically creates the corresponding metapackage
.deband 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=1tomake bindeb-pkg— packages now namedlinux-image-7.0.3-soplos_1_amd64.debinstead of repeating the version twice.
Fixed
- Debug package generation: Fixed incorrect
generation of
-dbgpackages by correctingapply_to_configmethod. - History duplicates: Fixed duplicate
entries for versions like
7.0-rc6vs7.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_patchesmetadata 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 usesrun_command("uname -r")at runtime. - Path quoting: Fixed missing quotes around
paths in
cpandmake -Ccommands — 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 withsbverify --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_matchalways 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.releasein 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_releasecaptured before the build-only return. - Old kernel cleanup on update: After
updating a Soplos kernel, old image and headers are purged —
apt autoremovewas 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 tomokutil. - Kernel name validation: Install button
validates the custom kernel name against
[a-zA-Z0-9._-]before proceeding — prevents invalid names reachingscripts/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-installeronly. - 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.
ES
FR
PT
DE
IT
RO
RU