news / 2026 / linux + audio A laptop audio-tuning bench pairs nearfield microphones and small reference speakers with a PipeWire effects chain, measurement notes, and an external audio interface.

news

Linux Laptop Audio Is Missing a Hardware Profile

EasyEffects exposes the missing layer in Linux laptop audio: device-specific DSP should ship as part of hardware support, not survive as a folder of community JSON presets.

Laptop speakers are physical components with a software dependency. The drivers, enclosure, amplifier limits, resonances, and listening position form one acoustic system. Apple and major Windows OEMs treat tuning as part of the machine. Linux usually presents the raw device and leaves the final mile to whoever discovers an effects rack on Flathub.

That gap became visible again this week when Thom Holwerda argued that EasyEffects belongs in Linux distributions and desktop environments. His practical claim is easy to reproduce: route output through a suitable preset and a thin, harsh laptop can become tolerable. The deeper issue sits below the app. A laptop sold with Linux lacks a complete hardware profile when its speakers need an obscure community preset to sound as designed.

The effects rack already exists

EasyEffects applies ordered effects to application output and microphone input managed by PipeWire. Its rack includes equalizers, filters, limiters, loudness processing, convolvers, compressors, exciters, bass enhancement, stereo tools, noise reduction, and meters. The project moved from PulseAudio-era PulseEffects to native PipeWire filters, then from GTK to Qt, QML, and KDE Kirigami. The plumbing is mature enough to run as ordinary desktop infrastructure.

The Flathub package can process applications individually, retain profiles between sessions, and apply the same machinery to microphones. Version 8.2.8 added external control over equalizer parameters through the local server. This has escaped the category of a static EQ window. It is a programmable policy layer in the audio graph.

For laptop speakers, the useful chain usually starts by refusing impossible work. Tiny drivers cannot reproduce deep bass at useful levels. Sending energy there consumes excursion and headroom while increasing distortion. A high-pass filter removes the unreachable bottom octave. Equalization handles broad tonal imbalance. Compression, limiting, loudness compensation, excitation, or convolution then shape level-dependent behavior and resonances.

The order matters. So does the device. RaduTek’s preset collection ships separate JSON files for a Surface Laptop 3, ThinkPad Z13, and Asus Zephyrus G14. Its tuning notes recommend keeping the filter above 100 Hz because small speakers cannot reproduce lower frequencies at audible volume; sparing them that work cleans up the remaining band. The same repository warns that aggressive EQ clips. Those are physical constraints encoded as software settings.

Community presets are field reports

The community has already built a distributed acoustic lab. A Framework owner created an active, Dolby-like profile, found resonances around 340–550 Hz, asked other owners to test them, then moved toward impulse-response measurement and a correction curve. The Framework discussion records hardware revisions, volume-dependent vibration, test signals, pillow-fort measurement, and preset changes. That is product validation performed in public by customers.

A fresh Hacker News thread adds the operational detail missing from a basic app recommendation. Framework users report that profiles vary between the 13 and 13 Pro. Others describe extracting OEM Dolby tuning into EasyEffects or native PipeWire filters, tying loudness compensation to system volume, and measuring a specific machine with Room EQ Wizard. The useful argument in that thread concerns ownership: a preset can be generic, measured, or supplied by the manufacturer, and each level carries a different confidence boundary.

Community JSON files are valuable because they prove the mechanism and document user demand. They are a rotten final distribution model. Preset names drift. Package and Flatpak paths differ. Headphones need blank or separate profiles. Hardware revisions reuse product names. A profile that sounds excellent at half volume can excite enclosure resonance at full volume. Users rarely know which chain protects the driver, which chain merely makes speech brighter, and which one was measured against a microphone with its own response errors.

The Linux desktop already solved harder distribution problems. It matches devices to kernel modules, firmware blobs, power-management quirks, color profiles, and input mappings. Speaker correction should use the same attitude. A machine identity selects a signed, versioned profile. The desktop exposes bypass, profile selection, and a conservative user trim. The full effects rack remains available for people who want to build stranger chains.

Sound settings are policy settings

Integration into GNOME or KDE should avoid turning the volume panel into a mastering suite. The desktop needs a small control surface over a richer service: active device profile, processing status, safe bypass, and perhaps speech, music, and neutral modes when the hardware vendor supplies them. EasyEffects can remain the expert editor and test bench.

Volume-aware processing deserves special treatment. Loudness compensation that improves quiet listening can overload small speakers if applied unchanged near maximum output. An OEM knows amplifier headroom and driver limits. A desktop environment knows current volume, route, power state, and connected device. PipeWire knows the live graph. The correct profile can coordinate those facts instead of pretending one static curve fits every state.

There is a cost. Effects consume CPU, and one OSNews commenter reported a much heavier idle load than Holwerda’s 0.1–0.2 percent observation. Different hardware and effect chains produce different numbers, so distributions need benchmarks rather than folklore. A default profile should publish processing latency, idle and active CPU use, power impact, sample-rate behavior, clipping margin, and the exact device IDs it targets.

This framing changes who owes the fix. EasyEffects maintainers provide the rack. PipeWire provides the graph. Desktop projects can expose sane controls. Linux laptop vendors own the per-model measurement, protection limits, release testing, and update path. Distributions own admission and rollback. Users can still remix the chain, but they should begin from a tested machine profile rather than acoustic factory defaults from nowhere.

The best community presets already contain the evidence. They name machines, filters, cutoff points, resonances, and failure modes. Turning that evidence into first-class hardware profiles would make Linux audio boring in the useful way: select the speakers, play sound, hear the machine the vendor claimed to sell.