Compare commits

...

3 Commits

Author SHA1 Message Date
Sanchayan Maity 38aaff30b3
pipewire: Drop filter chain configuration
We will be moving this configuration to WirePlumber.
2024-03-26 12:30:55 +05:30
Sanchayan Maity 15fe363d7d
pipewire: Remove entries already present in default configuration
These are already present in the default setup.
2024-03-24 21:36:46 +05:30
Sanchayan Maity b53015dc7d
environment: Disable RTKit and enable log colours for PipeWire 2024-03-22 18:30:05 +05:30
5 changed files with 3 additions and 377 deletions

View File

@ -9,3 +9,6 @@ GST_DEBUG_DUMP_DOT_DIR=/tmp/gst-dot
GHCUP_USE_XDG_DIRS=1
DEBUGINFOD_URLS="https://debuginfod.archlinux.org/"
DISABLE_RTKIT=1
PIPEWIRE_LOG_COLOR=force

View File

@ -1,101 +0,0 @@
# 10 band sink equalizer for DT 770 80 Ohms
context.modules = [
{ name = libpipewire-module-filter-chain
args = {
node.description = "DT770 Equalizer Sink"
media.name = "DT770 Equalizer Sink"
filter.graph = {
nodes = [
{
type = builtin
name = eq_band_1
label = bq_highshelf
control = { "Freq" = 0 "Q" = 1.0 "Gain" = -2.6 }
}
{
type = builtin
name = eq_band_2
label = bq_peaking
control = { "Freq" = 45.0 "Q" = 0.2 "Gain" = -5.2 }
}
{
type = builtin
name = eq_band_3
label = bq_peaking
control = { "Freq" = 75.0 "Q" = 1.4 "Gain" = 2.0 }
}
{
type = builtin
name = eq_band_4
label = bq_lowshelf
control = { "Freq" = 105.0 "Q" = 0.71 "Gain" = 5.5 }
}
{
type = builtin
name = eq_band_5
label = bq_peaking
control = { "Freq" = 210.0 "Q" = 1.4 "Gain" = 4.0 }
}
{
type = builtin
name = eq_band_6
label = bq_peaking
control = { "Freq" = 2400.0 "Q" = 3.5 "Gain" = -2.3 }
}
{
type = builtin
name = eq_band_7
label = bq_peaking
control = { "Freq" = 3800.0 "Q" = 1.0 "Gain" = 3.0 }
}
{
type = builtin
name = eq_band_8
label = bq_peaking
control = { "Freq" = 4200.0 "Q" = 4.0 "Gain" = -1.3 }
}
{
type = builtin
name = eq_band_9
label = bq_peaking
control = { "Freq" = 6400.0 "Q" = 4.0 "Gain" = -6.2 }
}
{
type = builtin
name = eq_band_10
label = bq_peaking
control = { "Freq" = 8400.0 "Q" = 4.0 "Gain" = -1.4 }
}
{
type = builtin
name = eq_band_11
label = bq_highshelf
control = { "Freq" = 10000.0 "Q" = 0.71 "Gain" = -4.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" }
{ output = "eq_band_8:Out" input = "eq_band_9:In" }
{ output = "eq_band_9:Out" input = "eq_band_10:In" }
{ output = "eq_band_10:Out" input = "eq_band_11:In" }
]
}
audio.channels = 2
audio.position = [ FL FR ]
capture.props = {
node.name = "dt770_effect_input.eq11"
media.class = Audio/Sink
}
playback.props = {
node.name = "dt770_effect_output.eq11"
node.passive = true
}
}
}
]

View File

@ -1,33 +0,0 @@
context.modules = [
{ name = libpipewire-module-filter-chain
args = {
node.description = "Noise Canceling Source"
media.name = "Noise Canceling Source"
filter.graph = {
nodes = [
{
type = ladspa
name = rnnoise
plugin = /usr/lib/ladspa/librnnoise_ladspa.so
label = noise_suppressor_mono
control = {
"VAD Threshold (%)" = 50.0
"VAD Grace Period (ms)" = 200
"Retroactive VAD Grace (ms)" = 0
}
}
]
}
capture.props = {
node.name = "capture.rnnoise_source"
node.passive = true
audio.rate = 48000
}
playback.props = {
node.name = "rnnoise_source"
media.class = Audio/Source
audio.rate = 48000
}
}
}
]

View File

@ -1,175 +1,5 @@
context.properties = {
## Configure properties in the system.
#library.name.system = support/libspa-support
#context.data-loop.library.name.system = support/libspa-support
#support.dbus = true
#link.max-buffers = 64
link.max-buffers = 16 # version < 3 clients can't handle more
#mem.warn-mlock = false
#mem.allow-mlock = true
#mem.mlock-all = false
#clock.power-of-two-quantum = true
#log.level = 2
core.daemon = true # listening for socket connections
core.name = pipewire-0 # core name and socket name
## Properties for the DSP configuration.
## For iFi Zen DAC V2
default.clock.rate = 192000
default.clock.allowed-rates = [ 48000 88200 96000 176400 192000 352800 384000 ]
#default.clock.quantum = 1024
#default.clock.min-quantum = 32
#default.clock.max-quantum = 8192
#default.video.width = 640
#default.video.height = 480
#default.video.rate.num = 25
#default.video.rate.denom = 1
#
# These overrides are only applied when running in a vm.
vm.overrides = {
default.clock.min-quantum = 1024
}
}
context.spa-libs = {
#<factory-name regex> = <library-name>
#
# Used to find spa factory names. It maps an spa factory name
# regular expression to a library name that should contain
# that factory.
#
audio.convert.* = audioconvert/libspa-audioconvert
api.alsa.* = alsa/libspa-alsa
api.v4l2.* = v4l2/libspa-v4l2
api.libcamera.* = libcamera/libspa-libcamera
api.bluez5.* = bluez5/libspa-bluez5
api.vulkan.* = vulkan/libspa-vulkan
api.jack.* = jack/libspa-jack
support.* = support/libspa-support
#videotestsrc = videotestsrc/libspa-videotestsrc
#audiotestsrc = audiotestsrc/libspa-audiotestsrc
}
context.modules = [
#{ name = <module-name>
# [ args = { <key> = <value> ... } ]
# [ flags = [ [ ifexists ] [ nofail ] ]
#}
#
# Loads a module with the given parameters.
# If ifexists is given, the module is ignored when it is not found.
# If nofail is given, module initialization failures are ignored.
#
# Uses RTKit to boost the data thread priority.
{ name = libpipewire-module-rtkit
args = {
#nice.level = -11
#rt.prio = 88
#rt.time.soft = 2000000
#rt.time.hard = 2000000
}
flags = [ ifexists nofail ]
}
# Set thread priorities without using RTKit.
#{ name = libpipewire-module-rt
# args = {
# nice.level = -11
# rt.prio = 88
# rt.time.soft = 2000000
# rt.time.hard = 2000000
# }
# flags = [ ifexists nofail ]
#}
# The profile module. Allows application to access profiler
# and performance data. It provides an interface that is used
# by pw-top and pw-profiler.
{ name = libpipewire-module-profiler }
# Creates a factory for making devices that run in the
# context of the PipeWire server.
{ name = libpipewire-module-spa-device-factory }
# Creates a factory for making nodes that run in the
# context of the PipeWire server.
{ name = libpipewire-module-spa-node-factory }
# The portal module monitors the PID of the portal process
# and tags connections with the same PID as portal
# connections.
{ name = libpipewire-module-portal
flags = [ ifexists nofail ]
}
# The access module can perform access checks and block
# new clients.
{ name = libpipewire-module-access
args = {
# access.allowed to list an array of paths of allowed
# apps.
#access.allowed = [
# /usr/bin/pipewire-media-session
#]
# An array of rejected paths.
#access.rejected = [ ]
# An array of paths with restricted access.
#access.restricted = [ ]
# Anything not in the above lists gets assigned the
# access.force permission.
#access.force = flatpak
}
}
# Makes a factory for wrapping nodes in an adapter with a
# converter and resampler.
{ name = libpipewire-module-adapter }
# Makes a factory for creating links between ports.
{ name = libpipewire-module-link-factory }
# Provides factories to make session manager objects.
{ name = libpipewire-module-session-manager }
]
context.objects = [
#{ factory = <factory-name>
# [ args = { <key> = <value> ... } ]
# [ flags = [ [ nofail ] ]
#}
#
# Creates an object from a PipeWire factory with the given parameters.
# If nofail is given, errors are ignored (and no object is created).
#
#{ factory = spa-node-factory args = { factory.name = videotestsrc node.name = videotestsrc Spa:Pod:Object:Param:Props:patternType = 1 } }
#{ factory = spa-device-factory args = { factory.name = api.jack.device foo=bar } flags = [ nofail ] }
#{ factory = spa-device-factory args = { factory.name = api.alsa.enum.udev } }
#{ factory = spa-node-factory args = { factory.name = api.alsa.seq.bridge node.name = Internal-MIDI-Bridge } }
#{ factory = adapter args = { factory.name = audiotestsrc node.name = my-test } }
#{ factory = spa-node-factory args = { factory.name = api.vulkan.compute.source node.name = my-compute-source } }
# A default dummy driver. This handles nodes marked with the "node.always-driver"
# property when no other driver is currently active. JACK clients need this.
{ factory = spa-node-factory
args = {
factory.name = support.node.driver
node.name = Dummy-Driver
node.group = pipewire.dummy
priority.driver = 20000
}
}
{ factory = spa-node-factory
args = {
factory.name = support.node.driver
node.name = Freewheel-Driver
priority.driver = 19000
node.group = pipewire.freewheel
node.freewheel = true
}
}
]

View File

@ -1,73 +0,0 @@
# 7 band sink equalizer for Truthear Zero:Red using Oratory1990 target
context.modules = [
{ name = libpipewire-module-filter-chain
args = {
node.description = "Zero:Red Equalizer Sink"
media.name = "Zero:Red Equalizer Sink"
filter.graph = {
nodes = [
{
type = builtin
name = eq_band_1
label = bq_highshelf
control = { "Freq" = 0 "Q" = 1.0 "Gain" = -3.5 }
}
{
type = builtin
name = eq_band_2
label = bq_lowshelf
control = { "Freq" = 100.0 "Q" = 0.71 "Gain" = 2.0 }
}
{
type = builtin
name = eq_band_3
label = bq_peaking
control = { "Freq" = 140.0 "Q" = 0.9 "Gain" = 3.0 }
}
{
type = builtin
name = eq_band_4
label = bq_peaking
control = { "Freq" = 780.0 "Q" = 2.0 "Gain" = 0.6 }
}
{
type = builtin
name = eq_band_5
label = bq_peaking
control = { "Freq" = 1350.0 "Q" = 1.8 "Gain" = -1.4 }
}
{
type = builtin
name = eq_band_6
label = bq_highshelf
control = { "Freq" = 3000.0 "Q" = 0.71 "Gain" = 0.0 }
}
{
type = builtin
name = eq_band_7
label = bq_highshelf
control = { "Freq" = 10000.0 "Q" = 0.71 "Gain" = 0.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" }
]
}
audio.channels = 2
audio.position = [ FL FR ]
capture.props = {
node.name = "zerored_effect_input.eq7"
media.class = Audio/Sink
}
playback.props = {
node.name = "zerored_effect_output.eq7"
node.passive = true
}
}
}
]