add audio-rt module to fight xruns under cpu load
EasyEffects DSP plugins (rnnoise, deepfilternet, crystalizer) drop audio when the system is under load. Layered workaround with per-optimization toggles for bisecting impact: - cgroup-based CPU partitioning: dedicated audio.slice with AllowedCPUs pinning, restricted app/session/background slices for everything else - rlimits so PipeWire's module-rt sets SCHED_FIFO 88 directly instead of going through RTKit's priority-10 ceiling - persistent watcher that re-applies performance governor on audio cores (gamemoded/PPD keep resetting it) - ananicy rule pinning easyeffects to nice -12 for non-RT DSP threads - znver4-tuned rebuilds of easyeffects and its DSP deps Master switch + per-feature toggles via lumpiasty.audioRt.*; all enabled by default on acer host. None of this fully eliminates dropouts on this thermally constrained laptop but each layer is independently testable.
This commit is contained in:
@@ -41,6 +41,11 @@
|
||||
];
|
||||
programs.librewolf.enable = true;
|
||||
services.easyeffects.enable = true;
|
||||
systemd.user.services.easyeffects.Service = lib.mkIf osConfig.lumpiasty.audioRt.cpuPartitioning {
|
||||
# Move easyeffects into audio.slice (defined in modules/desktop/audio-rt.nix)
|
||||
# which has AllowedCPUs=<audioCpus> — pins all DSP work to the reserved cores.
|
||||
Slice = "audio.slice";
|
||||
};
|
||||
|
||||
programs.chromium.enable = true;
|
||||
programs.chromium.package = pkgs.ungoogled-chromium;
|
||||
|
||||
Reference in New Issue
Block a user