# Register well-known SPA factories # These do not need to exist on the system to be registered 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 # the client-device pipewire module is needed for libwireplumber-module-monitor load-pipewire-module libpipewire-module-client-device # Basic pipewire integration - do not remove load-module C libwireplumber-module-pipewire # Grants access to security confined clients load-module C libwireplumber-module-client-permissions load-module C libwireplumber-module-monitor { "factory": <"api.alsa.enum.udev">, "flags": <["use-adapter", "activate-devices"]> } # Monitors the ALSA devices that are discovered via udev # and creates softdsp-endopints for each one of them # The streams specified here are the ones that will be available for linking # clients. Currently, they are matched against the client's role string. load-module C libwireplumber-module-pw-alsa-udev { "streams": <["Multimedia", "Speech-Low", "Custom-Low", "Navigation", "Speech-High", "Custom-High", "Communication", "Emergency"]> } # Monitors the Audio clients that are discovered via pipewire # and creates simple-endpoints for each one of them load-module C libwireplumber-module-pw-audio-client # Implements linking clients to devices and maintains # information about the devices to be used. # Notes: # - Devices must be specified in hw:X,Y format, where X and Y are integers. # Things like hw:Intel,0 or paths are not understood. # - Roles and priorities can be arbitrary strings and arbitrary numbers # - Roles are matched against the stream names specified in the modules above. load-module C libwireplumber-module-simple-policy { "default-playback-device": <"PLAYBACK">, "default-capture-device": <"CAPTURE">, "role-priorities": <{ "Multimedia": 1, "Speech-Low": 2, "Custom-Low": 3, "Navigation": 5, "Speech-High:": 7, "Custom-High": 8, "Communication": 9, "Emergency": 10 }> }