PlasmaZones v1.12.2
Fixed
- Audio visualizer: CAVA process silently failed when bar count was odd (exit code 1, "must have even number of bars with stereo output"). Even bar counts are now enforced at all layers: CavaService, KCM setter, and UI slider (stepSize=2).
- Audio shader data: QML
|| []fallback onaudioSpectrumbinding forced V4 JavaScript conversion, losing the nativeQVector<float>type needed byZoneShaderItem's fast path. Replaced with aBindingelement guarded bywhento preserve type identity through the binding chain. - CAVA stderr capture: Switched from
ForwardedErrorChanneltoSeparateChannelsso CAVA error output is captured in daemon logs instead of lost. - CAVA exit diagnostics: Moved
exitCode()/readAllStandardError()fromstateChangedtofinishedsignal handler per Qt API contract. Only warns on non-zero exit code (stderr on exit 0 is normal for CAVA).
Changed
- Shared audio constants:
Audio::MinBars/Audio::MaxBarsmoved tosrc/core/constants.hwithstatic_assertfor even values, eliminating magic number duplication across CavaService, KCM, and QML. - Nix: Re-enabled Nix CI, release builds, flake.lock updater, and
plasmazones.nixrelease asset now that nixpkgs-unstable has the Plasma 6.6 stack (NixOS/nixpkgs#479797).
Installation
Arch Linux (AUR):
yay -S plasmazones # or plasmazones-binArch Linux (manual):
sudo pacman -U plasmazones-1.12.2-1-x86_64.pkg.tar.zstUbuntu/Debian (25.10+):
sudo dpkg -i plasmazones_1.12.2-1_amd64.deb
sudo apt-get install -f # Install dependencies if neededFedora:
sudo dnf install plasmazones-1.12.2-1.fc43.x86_64.rpmUniversal Linux (AppDir):
For Fedora Atomic, Steam Deck, or non-root user installation:
tar xzf plasmazones-1.12.2-linux-x86_64.tar.gz
cd plasmazones-linux-x86_64
./install.shNixOS (flake):
# flake.nix inputs
plasmazones.url = "github:fuddlesworth/PlasmaZones";
# configuration.nix
programs.plasmazones.enable = true;NixOS (standalone):
Download plasmazones.nix from the release assets, then:
# configuration.nix
environment.systemPackages = [
(pkgs.callPackage ./plasmazones.nix {})
];Post-Installation
systemctl --user enable --now plasmazones.service
systemsettings kcm_plasmazones