By default, the WirePlumber lua scripts try to access a session DBus, which is not available if WirePlumber is run system wide. Add a small script that turns off the bits that require session DBus. These involve reserving ALSA devices (only useful in multi-user desktop setups) and Flatpak.
Also, fix the configuration file paths (WirePlumber uses /usr/share instead of /etc) and add the correct files to CONFFILES:${PN}. Signed-off-by: Carlos Rafael Giani <crg7...@mailbox.org> --- ...-disable-session-dbus-dependent-features.lua | 5 +++++ .../wireplumber/wireplumber_0.4.8.bb | 17 ++++++++++------- 2 files changed, 15 insertions(+), 7 deletions(-) create mode 100644 meta-multimedia/recipes-multimedia/wireplumber/files/90-OE-disable-session-dbus-dependent-features.lua diff --git a/meta-multimedia/recipes-multimedia/wireplumber/files/90-OE-disable-session-dbus-dependent-features.lua b/meta-multimedia/recipes-multimedia/wireplumber/files/90-OE-disable-session-dbus-dependent-features.lua new file mode 100644 index 000000000..353a49c0b --- /dev/null +++ b/meta-multimedia/recipes-multimedia/wireplumber/files/90-OE-disable-session-dbus-dependent-features.lua @@ -0,0 +1,5 @@ +-- These features require a session DBus instance, which is not available +-- by default in OE generated images. The absence of such a DBus instance +-- causes WirePlumber to fail to start. Turn these off to prevent that. +alsa_monitor.properties["alsa.reserve"] = false +default_access.properties["enable-flatpak-portal"] = false diff --git a/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.8.bb b/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.8.bb index 4d26e3360..2310c3a78 100644 --- a/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.8.bb +++ b/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.8.bb @@ -13,7 +13,8 @@ DEPENDS = "glib-2.0 glib-2.0-native lua pipewire \ SRCREV = "e14bb72dcc85e2130d0ea96768e5ae3b375a041e" SRC_URI = "git://gitlab.freedesktop.org/pipewire/wireplumber.git;branch=master;protocol=https \ - " + file://90-OE-disable-session-dbus-dependent-features.lua \ + " S = "${WORKDIR}/git" @@ -50,6 +51,12 @@ PACKAGESPLITFUNCS:append = " set_dynamic_metapkg_rdepends " WP_MODULE_SUBDIR = "wireplumber-0.4" +add_custom_lua_config_scripts() { + install -m 0644 ${WORKDIR}/90-OE-disable-session-dbus-dependent-features.lua ${D}${datadir}/wireplumber/main.lua.d +} + +do_install[postfuncs] += "add_custom_lua_config_scripts" + python split_dynamic_packages () { # Create packages for each WirePlumber module. wp_module_libdir = d.expand('${libdir}/${WP_MODULE_SUBDIR}') @@ -117,12 +124,8 @@ PACKAGES_DYNAMIC = "^${PN}-modules.*" SYSTEMD_SERVICE:${PN} = "wireplumber.service" CONFFILES:${PN} += " \ - ${sysconfdir}/wireplumber/config.lua \ - ${sysconfdir}/wireplumber/config.lua.d/* \ -" -FILES:${PN} += " \ - ${sysconfdir}/wireplumber/config.lua \ - ${sysconfdir}/wireplumber/config.lua.d/* \ + ${datadir}/wireplumber/wireplumber.conf \ + ${datadir}/wireplumber/*.lua.d/* \ " # Add pipewire to RRECOMMENDS, since WirePlumber expects a PipeWire daemon to # be present. While in theory any application that uses libpipewire can configure -- 2.32.0
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#95348): https://lists.openembedded.org/g/openembedded-devel/message/95348 Mute This Topic: https://lists.openembedded.org/mt/89195313/21656 Group Owner: openembedded-devel+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-