EasyEffects Version
EasyEffects 8.1.2
What package are you using?
Other (specify below)
Distribution
Kubuntu 26.04 (apt, Origin: Ubuntu) — easyeffects 8.1.2+ds-1
Describe the bug
Environment:
Kubuntu 2604 (KDE Plasma, Wayland)
EasyEffects 8.1.2
PipeWire + WirePlumber 0.5.13
Preset: converted Dolby Atmos profile via speaker-tuning-to-easyeffects (Convolver using a Dolby-Balanced.irs impulse response, plus Equalizer, Multiband Compressor, Limiter in the chain)
Issue:
Audio through the EasyEffects chain sounds correct immediately after login/EasyEffects startup. After pausing audio/video playback (e.g. in Firefox) and resuming, the output becomes noticeably degraded — quieter, more distant/muffled, slightly distorted — without EasyEffects crashing or fully dropping the stream.
What I've ruled out:
Not a PipeWire xrun/CPU bottleneck — pw-top shows 0 ERR and CPU usage is normal during/after the issue.
Not a sample rate mismatch — rate stays consistent (48000) across working and degraded states in pw-top.
Not a routing/bypass issue — confirmed via qpwgraph that the signal path (Firefox → Easy Effects Sink → Convolver → EQ → Multiband Compressor → Limiter → physical speaker) remains fully linked after pause/resume.
Multiple EasyEffects processes was a red herring from manually relaunching the app during testing, not a startup bug.
This preset was generated using https://github.com/antoinecellerier/speaker-tuning-to-easyeffects, which converts a Windows Dolby Atmos APO config into an EasyEffects convolver-based preset.
What I observed:
In pw-top, after a pause/resume cycle, the ee_soe_* filter chain nodes (and easyeffects_sink) sometimes show status I (idle) instead of R (running), even though the graph connections in qpwgraph remain intact and audio is technically still passing through.
This pattern is consistent with PipeWire/WirePlumber's idle-node auto-suspend behavior (node/suspend-node.lua, default 5s idle timeout) suspending the convolver chain on pause, and the chain not fully reinitializing/resyncing on resume — though I was unable to confirm this conclusively, since attempts to disable node suspension via wireplumber.conf.d overrides (node.rules, wireplumber.components.rules) either failed to apply or caused WirePlumber to crash-loop on this version's config schema.
Toggling EasyEffects' own "Inactivity timeout" setting on/off made no difference to the behavior, suggesting the relevant suspend logic is on the WirePlumber/PipeWire side rather than EasyEffects' own auto-suspend feature.
Question for maintainers:
Is this a known interaction between EasyEffects' convolver (or its LV2/filter-chain node) and PipeWire/WirePlumber's node suspend-on-idle behavior? Is there a recommended way to mark EasyEffects' processing nodes as non-suspendable, or does EasyEffects already attempt this and it's failing on newer WirePlumber versions (0.5.13)?
Happy to provide more logs/diagnostics if useful.
Expected Behavior
No response
Debug Log
Debug Log
Additional Information
No response
EasyEffects Version
EasyEffects 8.1.2
What package are you using?
Other (specify below)
Distribution
Kubuntu 26.04 (apt, Origin: Ubuntu) — easyeffects 8.1.2+ds-1
Describe the bug
Environment:
Kubuntu 2604 (KDE Plasma, Wayland)
EasyEffects 8.1.2
PipeWire + WirePlumber 0.5.13
Preset: converted Dolby Atmos profile via speaker-tuning-to-easyeffects (Convolver using a Dolby-Balanced.irs impulse response, plus Equalizer, Multiband Compressor, Limiter in the chain)
Issue:
Audio through the EasyEffects chain sounds correct immediately after login/EasyEffects startup. After pausing audio/video playback (e.g. in Firefox) and resuming, the output becomes noticeably degraded — quieter, more distant/muffled, slightly distorted — without EasyEffects crashing or fully dropping the stream.
What I've ruled out:
Not a PipeWire xrun/CPU bottleneck — pw-top shows 0 ERR and CPU usage is normal during/after the issue.
Not a sample rate mismatch — rate stays consistent (48000) across working and degraded states in pw-top.
Not a routing/bypass issue — confirmed via qpwgraph that the signal path (Firefox → Easy Effects Sink → Convolver → EQ → Multiband Compressor → Limiter → physical speaker) remains fully linked after pause/resume.
Multiple EasyEffects processes was a red herring from manually relaunching the app during testing, not a startup bug.
This preset was generated using https://github.com/antoinecellerier/speaker-tuning-to-easyeffects, which converts a Windows Dolby Atmos APO config into an EasyEffects convolver-based preset.
What I observed:
In pw-top, after a pause/resume cycle, the ee_soe_* filter chain nodes (and easyeffects_sink) sometimes show status I (idle) instead of R (running), even though the graph connections in qpwgraph remain intact and audio is technically still passing through.
This pattern is consistent with PipeWire/WirePlumber's idle-node auto-suspend behavior (node/suspend-node.lua, default 5s idle timeout) suspending the convolver chain on pause, and the chain not fully reinitializing/resyncing on resume — though I was unable to confirm this conclusively, since attempts to disable node suspension via wireplumber.conf.d overrides (node.rules, wireplumber.components.rules) either failed to apply or caused WirePlumber to crash-loop on this version's config schema.
Toggling EasyEffects' own "Inactivity timeout" setting on/off made no difference to the behavior, suggesting the relevant suspend logic is on the WirePlumber/PipeWire side rather than EasyEffects' own auto-suspend feature.
Question for maintainers:
Is this a known interaction between EasyEffects' convolver (or its LV2/filter-chain node) and PipeWire/WirePlumber's node suspend-on-idle behavior? Is there a recommended way to mark EasyEffects' processing nodes as non-suspendable, or does EasyEffects already attempt this and it's failing on newer WirePlumber versions (0.5.13)?
Happy to provide more logs/diagnostics if useful.
Expected Behavior
No response
Debug Log
Debug Log
Additional Information
No response