This major update expands testing frameworks for power users and contributors, offering full structural execution logic parity between the raw terminal CLI options and the graphical GUI applet.
- JavaScript Rules Unification: Upgraded permission structures entirely from the deprecated
.pkla/localauthority legacy system to modern, JS-basedpolkitrules (/etc/polkit-1/rules.d/). This eliminates bifurcated logic schemas and brings the application up to standard with modernpolkit > 120engines natively.
- Sandbox Execution Isolation: Built and integrated robust
bubblewrap(bwrap) native isolation into developer test staging (dev/dev-helper.sh), mounting standard lib bindings (/usr/lib,/usr/bin) seamlessly for safe localized testing. - Persistent GUI Evaluation Loop: Added an endless loop logic specifically within
x3d-toggle-guiwhen triggered inside Developer Mode, removing the need to repeatedly call scripts when generating continuous state validations alongside kernel logs. - Dynamic Environment On-Boarding: The GUI now detects missing developer directories natively and prompts to dynamically
git clonethe required backend toolchains on-the-fly when isolated packagers enable Dev Mode. - Dynamic Multi-Threaded CPU Spiker: Introduced the
stressenvironment option which automatically natively binds testing instances concurrently matched perfectly to your system'snprocgeometry map.
- Intuitive Root Fallback: Executing the bare backend binary
x3d-togglevia standard user inputs natively falls back to launch the frontendx3d-toggle-guismoothly, transitioning standard users to graphics instead of explicit raw errors. - Dynamic Terminal Parameter Maps: Added direct time evaluation directly inside the C Proxy. Standard users can now pass explicitly typed testing lengths like
x3d-toggle stress 45natively into the terminal.
Focusing strictly on underlying codebase safety and systemic stability. This update sweeps across C objects and bash logic eliminating edge-case behaviors, resolving path execution drops, strictly consolidating directories, and implementing aggressive security auditing.
- Lean File Architecture Framework: Consolidated root and fragmented directories standardizing standard package elements into explicit path arrays (
/pkg,/man, and/dev). Moved disparate execution shell files and config fragments resolving standard structural repository bloat for a significantly cleaner presentation.
- Bounded String Evaluations (C Binary): Overhauled shell injections by implementing secure integer
strtol()boundaries natively within the C proxy. This accurately limits stress test intervals between explicit safe boundaries (1-300 seconds), rejecting raw, arbitrary, or unintended character inputs out of bounds. - Implicit Path Restorations (C binary): Hardened UI-fallback via distinct
execlpsystem calls preventing unchecked sub-shell invocations. - Privilege Segregation: Assured that root-owned execution functions inherently utilize explicitly targeted paths (
/usr/bin/x3d-toggle...) checking bounds rather than exposing unfiltered commands safely throughpkexec.
- Global Syntax Correction: Subjected entire project logic to
shellcheck,cppcheck, andclang-tidy, standardizing logic evaluations safely through explicit quoting and strictly typed argument arrays. - Fail-Safe UI Pipes: Added graceful exit handles (
|| true) natively to sensitive pipeline logic, guaranteeing strict errorset -eenvironments don't catastrophically abort UI execution processes whengrepsearches zero-length configuration contexts. - Path Directory Protections: Resolved explicit
REPO_ROOTpath detection dynamically crashing graphical components natively during terminal path aliases (..).
- Path Resolution Upgrade: Transitioned the
x3d-togglecompiled C backend from using (nftw) toglob()implementation. This change removes overhead latency when scanning/sys/devices/platformdirectories for theamd_x3d_modekernel node, significantly cutting execution time for sysfs writes and hardware reads.
This update focuses on surgical bug fixes, refining the underlying system heuristics, optimizing the kdialog graphical interface, and drastically improving the dynamic logic loops following the transition to the C binary backend.
- Driver Standard Baseline Mapping: The C backend logic now safely translates
autoparameter flags natively into Linux's baselinefrequencystring state. This eliminates strictinvalid argumenthardware/sysfs rejections across all AMD PMF kernel driver profiles. - Game Detection Overhaul: Rewrote the daemon's internal
check_gaming_intent()functions. Targetedpgrepstrictly to-f steamapps\/commonand enforced whole-word matching (grep -qwinstead ofgrep -q) ongamemotedoutputs. This nullifies recurring false-positive locks caused by system kernels like[oom_reaper]. - Daemon Hierarchy Overrides: Manually selecting an execution state via the physical GUI dialogue menu now triggers
systemctl --user stop x3d-auto, actively pausing the invisible monitoring daemon preventing aggressive recursive CPU state wrestling.
- KDE / kdialog Grid Parsing: Eliminated arbitrary parameters (
0 0 0) from the kdiag syntax fixing a critical cosmetic GUI parser issue resulting in an orphaned numerical '0' row in KDE Plasma 6+. - Freedesktop Standard Desktop Icons: Redesigned
.desktopexecution to natively request the icon via global path associations standardizing icon display structures. Application menus, taskbars, and custom shortcuts now resolve visuals flawlessly without explicit layout pathing errors.
- Post Install Alerts: Created custom ASCII boundaries encapsulating package completion hints ensuring
desktopinstructions are visually legible overmakepkgtransaction floods.
This major release marks a complete architectural rewrite of the core logic, transitioning from bash scripts to a high-performance C binary backend. It has undergone a rigorous security audit and been hardened to meet strict Arch Linux AUR, FHS, and FreeDesktop (KDE/GNOME) packaging standards. This ensures instant execution, minimal system overhead, and robust, safe hardware interaction.
- Buffer Overflow Protections: Rewrote
/proc/statparsing logic. Hardenedsscanf(buffer, "%*s %llu...")to safely ignore alphanumeric strings via%*sinstead of utilizing finite char arrays, closing potential stack-smashing vulnerabilities. - Memory & File I/O Safety: Added strict memory and resource lifecycle management. Ensured all sysfs file mutations explicitly check for
errnoand safely callfclose()even during error routines. - Hardened Compiler Targets: The
Makefilenow strictly enforces-O2 -Wall -Wextra -Werror -Wformat-security -D_FORTIFY_SOURCE=2preventing compilation if warnings exist and actively mitigating buffer exploits. - POSIX Path Pathing: Replaced external shell commands (
find,cat,awk) with native C system calls (nftw). Fortified the file tree walker utilizing theFTW_Fmacro and native pointer offsets(fpath + ftwbuf->base)for direct and heavily optimizedstrcmpstring comparisons. - 100% Shellcheck Compliance: All surrounding Bash utility wrappers (
x3d-daemon,x3d-toggle-gui, andx3d-toggle.install) now fully pass strictshellcheckvalidation, nullifying quote and variable expansion pitfalls.
- FreeDesktop Standards Validation: The
x3d-toggle-gui.desktopfile now passes strictdesktop-file-validatepipelines. - KDE Desktop Embellishments: Added required FreeDesktop
Keywords=...;elk;to the.desktopmanifest, drastically improving native application launcher integration across Plasma and GNOME. - AUR Best Practices: Dropped the insecure
SKIPchecksum flag. ThePKGBUILDnow perfectly downloads the remote GitHub release tarball and statically validates thesha256sumsarrays to ensure supply chain integrity viaupdpkgsums.
- New Binary:
x3d-togglehandles all hardware writes, state queries (get), and load monitoring (check-load). - Updated Scripts:
x3d-daemonandx3d-controlhave been updated to act as lightweight wrappers around the C binary. - Configuration:
COMPUTE_LOAD_THRESHOLDnow accepts an integer percentage (Default:50for 50% CPU usage) instead of a load average float. - Build System: Added a standard
Makefilefor building and installing the full suite. - Packaging: Updated
PKGBUILDto compile from source. - Security: Hardened security protocols and added buffer overflow protections
- Removed
x3d-apply(Bash implementation). - Removed
install.shanduninstall.sh(Replaced bymake install).
Arch Linux:
makepkg -siManual:
make
sudo make install