- # Client config file for PipeWire version "1.4.2" #
- #
- # Copy and edit this file in /etc/pipewire for system-wide changes
- # or in ~/.config/pipewire for local changes.
- #
- # It is also possible to place a file with an updated section in
- # /etc/pipewire/client.conf.d/ for system-wide changes or in
- # ~/.config/pipewire/client.conf.d/ for local changes.
- #
- context.properties = {
- ## Configure properties in the system.
- #mem.warn-mlock = false
- #mem.allow-mlock = true
- #mem.mlock-all = false
- log.level = 0
- default.clock.quantum-limit = 2822400
- }
- 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
- support.* = support/libspa-support
- video.convert.* = videoconvert/libspa-videoconvert
- }
- context.modules = [
- #{ name = <module-name>
- # ( args = { <key> = <value> ... } )
- # ( flags = [ ( ifexists ) ( nofail ) ] )
- # ( condition = [ { <key> = <value> ... } ... ] )
- #}
- #
- # 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 realtime scheduling to boost the audio thread priorities
- { name = libpipewire-module-rt
- args = {
- #rt.prio = 83
- #rt.time.soft = -1
- #rt.time.hard = -1
- }
- flags = [ ifexists nofail ]
- condition = [ { module.rt = !false } ]
- }
- # The native communication protocol.
- { name = libpipewire-module-protocol-native }
- # Allows creating nodes that run in the context of the
- # client. Is used by all clients that want to provide
- # data to PipeWire.
- { name = libpipewire-module-client-node
- condition = [ { module.client-node = !false } ]
- }
- # Allows creating devices that run in the context of the
- # client. Is used by the session manager.
- { name = libpipewire-module-client-device
- condition = [ { module.client-device = !false } ]
- }
- # Makes a factory for wrapping nodes in an adapter with a
- # converter and resampler.
- { name = libpipewire-module-adapter
- condition = [ { module.adapter = !false } ]
- }
- # Allows applications to create metadata objects. It creates
- # a factory for Metadata objects.
- { name = libpipewire-module-metadata
- condition = [ { module.metadata = !false } ]
- }
- # Provides factories to make session manager objects.
- { name = libpipewire-module-session-manager
- condition = [ { module.session-manager = !false } ]
- }
- ]
- filter.properties = {
- #node.latency = 1024/48000
- }
- stream.properties = {
- #node.latency = 1024/48000
- #node.autoconnect = true
- #resample.quality = 4
- #channelmix.normalize = false
- #channelmix.mix-lfe = true
- #channelmix.upmix = true
- #channelmix.upmix-method = psd # none, simple
- #channelmix.lfe-cutoff = 150
- #channelmix.fc-cutoff = 12000
- #channelmix.rear-delay = 12.0
- #channelmix.stereo-widen = 0.0
- #channelmix.hilbert-taps = 0
- #dither.noise = 0
- }
- stream.rules = [
- { matches = [
- {
- # all keys must match the value. ! negates. ~ starts regex.
- #application.name = "pw-cat"
- #node.name = "~Google Chrome$"
- }
- ]
- actions = {
- update-props = {
- #node.latency = 512/48000
- }
- }
- }
- ]
- alsa.properties = {
- #alsa.deny = false
- # ALSA params take a single value, an array [] of values
- # or a range { min=.. max=... }
- #alsa.access = [ MMAP_INTERLEAVED MMAP_NONINTERLEAVED RW_INTERLEAVED RW_NONINTERLEAVED ]
- #alsa.format = [ FLOAT S32 S24 S24_3 S16 U8 ]
- #alsa.rate = { min=1 max=384000 } # or [ 44100 48000 .. ]
- #alsa.channels = { min=1 max=64 } # or [ 2 4 6 .. ]
- #alsa.period-bytes = { min=128 max=2097152 } # or [ 128 256 1024 .. ]
- #alsa.buffer-bytes = { min=256 max=4194304 } # or [ 256 512 4096 .. ]
- #alsa.volume-method = cubic # linear, cubic
- }
- # client specific properties
- alsa.rules = [
- { matches = [ { application.process.binary = "resolve" } ]
- actions = {
- update-props = {
- alsa.buffer-bytes = 131072
- }
- }
- }
- ]
