Last active
October 29, 2025 14:49
-
-
Save DanShaders/c1e5c8d046fd9f8c193b6687a13ae7a3 to your computer and use it in GitHub Desktop.
PipeWire Equalizer Settings for Dell XPS 15 (2023)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 6 band sink equalizer | |
| # | |
| # Copy this file into a conf.d/ directory such as | |
| # ~/.config/pipewire/filter-chain.conf.d/ | |
| # | |
| context.modules = [ | |
| { name = libpipewire-module-filter-chain | |
| args = { | |
| node.description = "Internal Speakers Equalizer Sink" | |
| media.name = "Internal Speakers Equalizer Sink" | |
| filter.graph = { | |
| nodes = [ | |
| { | |
| type = builtin | |
| name = eq_band_1 | |
| label = bq_peaking | |
| control = { "Freq" = 119.0 "Q" = 1.5 "Gain" = 11.0 } | |
| } | |
| { | |
| type = builtin | |
| name = eq_band_2 | |
| label = bq_peaking | |
| control = { "Freq" = 238.0 "Q" = 1.5 "Gain" = 2.0 } | |
| } | |
| { | |
| type = builtin | |
| name = eq_band_3 | |
| label = bq_peaking | |
| control = { "Freq" = 475.0 "Q" = 1.5 "Gain" = -11.0 } | |
| } | |
| { | |
| type = builtin | |
| name = eq_band_4 | |
| label = bq_peaking | |
| control = { "Freq" = 947.0 "Q" = 1.5 "Gain" = -11.0 } | |
| } | |
| { | |
| type = builtin | |
| name = eq_band_5 | |
| label = bq_peaking | |
| control = { "Freq" = 1890.0 "Q" = 1.5 "Gain" = -2.0 } | |
| } | |
| { | |
| type = builtin | |
| name = eq_band_6 | |
| label = bq_peaking | |
| control = { "Freq" = 3771.0 "Q" = 1.5 "Gain" = 2.0 } | |
| } | |
| { | |
| type = builtin | |
| name = eq_band_7 | |
| label = bq_peaking | |
| control = { "Freq" = 7524.0 "Q" = 1.5 "Gain" = 9.0 } | |
| } | |
| { | |
| type = builtin | |
| name = eq_band_8 | |
| label = bq_peaking | |
| control = { "Freq" = 15012.0 "Q" = 1.5 "Gain" = 10.0 } | |
| } | |
| ] | |
| links = [ | |
| { output = "eq_band_1:Out" input = "eq_band_2:In" } | |
| { output = "eq_band_2:Out" input = "eq_band_3:In" } | |
| { output = "eq_band_3:Out" input = "eq_band_4:In" } | |
| { output = "eq_band_4:Out" input = "eq_band_5:In" } | |
| { output = "eq_band_5:Out" input = "eq_band_6:In" } | |
| { output = "eq_band_6:Out" input = "eq_band_7:In" } | |
| { output = "eq_band_7:Out" input = "eq_band_8:In" } | |
| ] | |
| } | |
| audio.channels = 2 | |
| audio.position = [ FL FR ] | |
| capture.props = { | |
| node.name = "internal_speaker" | |
| media.class = Audio/Sink | |
| } | |
| playback.props = { | |
| node.name = "internal_speaker_equalizer_output" | |
| node.passive = true | |
| node.target = "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink" | |
| } | |
| } | |
| } | |
| ] |
Sorry for the noise, I placed the file in filter-chain.conf.d, but was supposed to place it in pipewire.conf.d, my bad
My sound was always reset to 100% and not remembered when I rebooted so I added
node.state-restore = true
to the capture.props block and it fixed it. Maybe it helps somebody else
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Yes, this still works for me. Do sinks show up in the output of
wpctl status -n? For example, on my machine, it is