Documentation
Audio & EasyEffects
Laptop speakers are a physics problem (tiny drivers, no enclosure volume) and software claws back a surprising amount. Margine preinstalls EasyEffects, a system-wide effects chain that sits between every application and your output device via PipeWire. Nothing is forced on you: effects are off until you enable them, the bypass button gives you an instant before/after, and presets are per-device.
What EasyEffects is
EasyEffects attaches a DSP chain to your PipeWire audio: parametric EQ, bass enhancer, loudness, compressor, limiter on output; echo cancellation and noise removal on input. Because it operates at the sound-server level, it applies to every app (Flatpaks, games, browsers) with nothing to configure per application.
It's preinstalled on Margine (you'll find it in Activities) and updated with the rest of your Flatpaks.
Rescuing laptop speakers: the Framework 13 preset
Margine is developed on a Framework 13 with the stock (non-PRO) speakers, where a tuned EasyEffects chain is the difference between "thin and honky" and "actually pleasant". A hand-tuned preset for exactly that hardware (EQ to tame the midrange and recover some low end, loudness for quiet listening, a limiter last so nothing clips) is being prepared to ship with the image, importable with one click.
Until it lands, the recipe below gets you most of the way on any laptop: start from a community preset and re-voice the EQ by ear for your speakers.
Turn effects on and off
- Instant A/B: the bypass toggle in the header bar switches the whole chain off and on. Use it constantly while tuning.
- Runs from login automatically: Margine starts EasyEffects headless (in the background, no window) on every login, so your chain is live before you open a single app. It does nothing until you enable a preset, so it's inert by default. To opt out, turn it off in GNOME Settings → Apps → Startup. (Opening EasyEffects any time just attaches to the running service.)
- Per-device autoloading: in the Presets menu, assign a preset to a specific output device. Your speakers get the EQ; your headphones stay clean. It switches automatically when you plug in.
Build or import presets
Duplicate before you tweak: Presets → save under a new name, then adjust EQ bands live while music plays. The original stays untouched.
Community presets: JackHack96's EasyEffects-Presets is the classic collection (Presets → Import). For headphones, look at AutoEq-derived EQ profiles instead: flat-target correction per headphone model.
Microphone effects
The input tab applies the same idea to your mic: echo cancellation plus RNNoise-based noise removal makes a laptop mic in a kitchen sound like a quiet room, and it works in any app that consumes the microphone: calls, OBS, voice notes.
Latency and pro audio
The DSP chain adds a few milliseconds. Irrelevant for playback; relevant for live monitoring. When you're tracking in Reaper with low-latency monitoring, hit bypass (or quit EasyEffects) for the session. PipeWire quantum and realtime-group guidance lives in Pro workflows.
Troubleshooting
- No sound or garbled sound → hit bypass; if that fixes it, quit and relaunch EasyEffects.
- Still wrong →
systemctl --user restart pipewire pipewire-pulse wireplumber. - One app ignores the effects → check where its stream is routed in
pw-topor GNOME Sound settings.