Newer
Older

George Kiagiadakis
committed
# Register well-known SPA factories
add-spa-lib audio.convert* audioconvert/libspa-audioconvert
add-spa-lib api.alsa.* alsa/libspa-alsa
add-spa-lib api.v4l2.* v4l2/libspa-v4l2
add-spa-lib api.bluez5.* bluez5/libspa-bluez5
add-spa-lib api.vulkan.* vulkan/libspa-vulkan
add-spa-lib api.jack.* jack/libspa-jack

Julian Bouzas
committed
# Create the sessions
create-session audio
create-session video

George Kiagiadakis
committed
# Load session item factories (building blocks for the session management graph)
# Do not comment these out unless you really know what you are doing
load-module C libwireplumber-module-si-standard-link
load-module C libwireplumber-module-si-adapter
load-module C libwireplumber-module-si-convert
load-module C libwireplumber-module-si-fake-stream

George Kiagiadakis
committed
load-module C libwireplumber-module-si-simple-node-endpoint
load-module C libwireplumber-module-si-audio-softdsp-endpoint
load-module C libwireplumber-module-si-monitor-endpoint
load-module C libwireplumber-module-si-bluez5-endpoint

George Kiagiadakis
committed
# Additional PipeWire modules can also be loaded in WirePlumber like this.
# libpipewire already loads all the modules that we normally need, though.
# spa-node-factory may be needed if you want to use a monitor with 'local-nodes'
# but without 'use-adapter' (adapter is loaded by default, but spa-node-factory isn't)
#load-pipewire-module libpipewire-module-spa-node-factory
#
# Load device monitors
#
# factory: the SPA factory name to load (must be registered above)
# flags:
# use-adapter: Use 'adapter' instead of 'spa-node-factory' to create the nodes
# (you normally want this for audio nodes)
# local-nodes: Run the nodes in the WirePlumber process instead of the
# PipeWire one (useful for high latency devices, to avoid stalling PipeWire)
#

George Kiagiadakis
committed
load-module C libwireplumber-module-monitor {
"alsa": <{"factory": <"api.alsa.enum.udev">, "flags": <["use-acp", "use-adapter"]>}>,
"bluez5": <{"factory": <"api.bluez5.enum.dbus">, "flags": <["local-nodes", "use-adapter"]>}>,
"v4l2": <{"factory": <"api.v4l2.enum.udev">}>

George Kiagiadakis
committed
}

George Kiagiadakis
committed
#
# Load functionality plugins
#
# Grants dbus reservation functionality
load-module C libwireplumber-module-dbus-reservation
# Grants functionality to store and restaure default device profiles
load-module C libwireplumber-module-default-profile

George Kiagiadakis
committed
# Grants access to security confined clients
load-module C libwireplumber-module-client-permissions
# Automatically sets device profiles to 'On'
load-module C libwireplumber-module-device-activation

Julian Bouzas
committed

George Kiagiadakis
committed
# Automatically suspends idle nodes after 3 seconds
load-module C libwireplumber-module-node-suspension
# Grants functionality to store and restore default metadata such as default endpoints
load-module C libwireplumber-module-default-metadata
# Implements static objects creation based on TOML configuration files
load-module C libwireplumber-module-config-static-objects
# Implements creation of endpoints
load-module C libwireplumber-module-endpoint-creation
# Implements linking clients to devices based on TOML configuration files
load-module C libwireplumber-module-config-policy
# Implements storing metadata about objects in RAM
load-module C libwireplumber-module-metadata
# load-module C libwireplumber-module-lua-scripting {
# "profile": <"desktop">
# }