From 9547edda86b7ddd442ac8d462114dbca1ef6ef81 Mon Sep 17 00:00:00 2001 From: Nexoniarz Date: Fri, 2 Oct 2026 20:47:52 +0200 Subject: [PATCH] Fix slow Plasma popups; drop blueman; GPU video decoding env for Firefox Bouncing Popups KWin effect stacked on Plasma's own popup animations and forced blur; Darkly Plasma theme (18 files) made every missing SVG fall back through an uncached search of ~89 XDG_DATA_DIRS. Disable the effect, default to Breeze Dark. Set LIBVA/NVD/MOZ env vars for nvidia-vaapi-driver. Co-Authored-By: Claude Opus 5.5 --- modules/desktop.nix | 23 +++++++++++++++++++++++ modules/hardware.nix | 13 ++++++++++++- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/modules/desktop.nix b/modules/desktop.nix index 86a237c..387ff37 100644 --- a/modules/desktop.nix +++ b/modules/desktop.nix @@ -33,6 +33,29 @@ pkgs.bibata-cursors ]; + # The third-party "Bouncing Popups" KWin effect (~/.local/share/kwin/effects) + # stacks on top of Plasma's own slidingpopups/fadingpopups and forces blur + # on every popup and the panel, making applet popups and panel settings + # open sluggishly. [$i] locks the key so ~/.config/kwinrc can't re-enable it. + environment.etc."xdg/kwinrc".text = '' + [Plugins] + bouncingPopupsEnabled[$i]=false + ''; + + # Breeze Dark as the default Plasma (panel/popup) theme. Avoid sparse + # third-party themes like "Darkly" (18 files): every SVG they lack falls + # back via an uncached search of all ~89 XDG_DATA_DIRS, which made applet + # popups and panel settings take 2-6 s to open. Not locked, so the theme + # can still be changed in System Settings. + environment.etc."xdg/plasmarc".text = '' + [Theme] + name=breeze-dark + ''; + + environment.extraInit = '' + export XDG_DATA_DIRS="$XDG_DATA_DIRS:${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}" + ''; + fonts.packages = with pkgs; [ corefonts dejavu_fonts diff --git a/modules/hardware.nix b/modules/hardware.nix index 63332b5..78caad3 100644 --- a/modules/hardware.nix +++ b/modules/hardware.nix @@ -15,6 +15,17 @@ package = config.boot.kernelPackages.nvidiaPackages.stable; }; + # Hardware video decoding in Firefox via nvidia-vaapi-driver (installed by + # hardware.nvidia.videoAcceleration). libva needs the driver named + # explicitly; the "direct" backend is the working one on driver 525+. + # Firefox's decoder (RDD) sandbox blocks the driver, so it's disabled: + # trade-off accepted for GPU decode. Prefs live in the profile's user.js. + environment.sessionVariables = { + LIBVA_DRIVER_NAME = "nvidia"; + NVD_BACKEND = "direct"; + MOZ_DISABLE_RDD_SANDBOX = "1"; + }; + hardware.opentabletdriver.enable = true; hardware.uinput.enable = true; boot.kernelModules = [ "uinput" ]; @@ -32,7 +43,7 @@ }; }; }; - services.blueman.enable = true; + # Plasma ships its own Bluetooth UI (Bluedevil); blueman just duplicated it. boot.extraModprobeConfig = '' # DualSense/PS4 pads pair over Bluetooth then drop instantly; broken