PipeWire: Difference between revisions
imported>Kittywitch m Fixed syntax error in PulseAudio backend |
imported>Fufexan Change examples to a better "drop-in" config |
||
Line 146: | Line 146: | ||
config.pipewire = { | config.pipewire = { | ||
"context.properties" = { | "context.properties" = { | ||
"default.clock.min-quantum" = 32; | "link.max-buffers" = 16; | ||
"log.level" = 2; | |||
"default.clock.rate" = 48000; | |||
"default.clock.quantum" = 32; | |||
"default.clock.min-quantum" = 32; | |||
"default.clock.max-quantum" = 32; | |||
"core.daemon" = true; | |||
"core.name" = "pipewire-0"; | |||
}; | }; | ||
"context.modules" = [ | |||
{ | |||
name = "libpipewire-module-rtkit"; | |||
args = { | |||
"nice.level" = -15; | |||
"rt.prio" = 88; | |||
"rt.time.soft" = 200000; | |||
"rt.time.hard" = 200000; | |||
}; | |||
flags = [ "ifexists" "nofail" ]; | |||
} | |||
{ name = "libpipewire-module-protocol-native"; } | |||
{ name = "libpipewire-module-profiler"; } | |||
{ name = "libpipewire-module-metadata"; } | |||
{ name = "libpipewire-module-spa-device-factory"; } | |||
{ name = "libpipewire-module-spa-node-factory"; } | |||
{ name = "libpipewire-module-client-node"; } | |||
{ name = "libpipewire-module-client-device"; } | |||
{ | |||
name = "libpipewire-module-portal"; | |||
flags = [ "ifexists" "nofail" ]; | |||
} | |||
{ | |||
name = "libpipewire-module-access"; | |||
args = {}; | |||
} | |||
{ name = "libpipewire-module-adapter"; } | |||
{ name = "libpipewire-module-link-factory"; } | |||
{ name = "libpipewire-module-session-manager"; } | |||
]; | |||
}; | }; | ||
}; | }; | ||
Line 159: | Line 196: | ||
services.pipewire = { | services.pipewire = { | ||
config.pipewire-pulse = { | config.pipewire-pulse = { | ||
"context.properties" = { | |||
"log.level" = 2; | |||
}; | |||
"context.modules" = [ | "context.modules" = [ | ||
{ | |||
name = "libpipewire-module-rtkit"; | |||
args = { | |||
"nice.level" = -15; | |||
"rt.prio" = 88; | |||
"rt.time.soft" = 200000; | |||
"rt.time.hard" = 200000; | |||
}; | |||
flags = [ "ifexists" "nofail" ]; | |||
} | |||
{ name = "libpipewire-module-protocol-native"; } | |||
{ name = "libpipewire-module-client-node"; } | |||
{ name = "libpipewire-module-adapter"; } | |||
{ name = "libpipewire-module-metadata"; } | |||
{ | { | ||
name = "libpipewire-module-protocol-pulse"; | name = "libpipewire-module-protocol-pulse"; | ||
args = { | args = { | ||
"pulse.min. | "pulse.min.req" = "32/48000"; | ||
"pulse. | "pulse.default.req" = "32/48000"; | ||
"pulse.min. | "pulse.max.req" = "32/48000"; | ||
"server.address" = [ "unix:native" ]; | "pulse.min.quantum" = "32/48000"; | ||
"pulse.max.quantum" = "32/48000"; | |||
"server.address" = [ "unix:native" ]; | |||
}; | }; | ||
} | } | ||
]; | ]; | ||
"stream.properties" = { | |||
"node.latency" = "32/48000"; | |||
"resample.quality" = 1; | |||
}; | |||
}; | }; | ||
}; | }; | ||
Line 184: | Line 244: | ||
actions = { | actions = { | ||
update-props = { | update-props = { | ||
"audio.format" = " | "audio.format" = "S32LE"; | ||
"audio.rate" = | "audio.rate" = 96000; # for USB soundcards it should be twice your desired rate | ||
"api.alsa.period-size" = | "api.alsa.period-size" = 32; # defaults to 1024, tweak by trial-and-error | ||
#"api.alsa.disable-batch" = true; # generally, USB soundcards use the batch mode | #"api.alsa.disable-batch" = true; # generally, USB soundcards use the batch mode | ||
}; | }; |