#linux #sound
This setup was done on an HP EliteBook 840 with Intel Tiger Lake hardware, running Ubuntu 24.04 LTS.
Ubuntu 24.04 ships with PipeWire and WirePlumber by default, which is a solid foundation—but getting microphone, noise suppression, and sane device naming to work properly on this platform still requires some manual tuning.
Enable Pro Audio Mode
To be able to use the microphone, the audio card must run in pro-audio profile.
pactl set-card-profile alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic pro-audio
pactl set-default-sink alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-output-0
amixer -c 0 set Master 100%
pactl set-default-source rnnoise_source
After switching profiles:
- Open
alsamixer and set all relevant channels to 100%
- Take the code above, put it in a script and run it on every reboot.
WirePlumber Configuration
WirePlumber allows fine-grained control over audio devices using Lua scripts.
Configuration files are placed in:
~/.config/wireplumber/main.lua.d/
Rename the Audio Device
Default ALSA device names are long and unreadable. This rule renames the main audio device to something human-friendly.
rule = {
matches = {
{
{ "device.name", "matches", "alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic" },
},
},
apply_properties = {
["device.description"] = "Laptop Audio"
},
}
table.insert(alsa_monitor.rules, rule)
Pro-audio mode exposes many unused nodes. Disabling them keeps the device list clean and avoids accidental routing.
rule = {
matches = {
{ { "node.name", "equals", "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-output-3" } },
{ { "node.name", "equals", "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-output-4" } },
{ { "node.name", "equals", "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-output-5" } },
{ { "node.name", "equals", "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-output-31" } },
{ { "node.name", "equals", "alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-input-0" } },
{ { "node.name", "equals", "alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.pro-input-6" } },
},
apply_properties = {
["node.disabled"] = true,
},
}
table.insert(alsa_monitor.rules, rule)
Noise Suppression
For calls and recordings noise suppression is essential.
Install RNNoise for PipeWire from here:
👉 https://github.com/werman/noise-suppression-for-voice
Once installed, set the RNNoise source as your default microphone (see script above).
Faster Audio Switching in GNOME
Install the GNOME extension:
Quick Settings Audio Panel
This makes switching audio sources and sinks fast and practical during daily work.
Final Result
On an HP EliteBook 840 (Intel Tiger Lake) with Ubuntu 24.04 LTS, this setup delivers:
- Clean and stable microphone input
- System-wide noise suppression
- Readable audio device names
- No unused or confusing audio nodes
Enjoy!