summaryrefslogtreecommitdiffstats
path: root/meta-multimedia
diff options
context:
space:
mode:
authorCarlos Rafael Giani <crg7475@mailbox.org>2022-02-16 21:55:02 +0100
committerKhem Raj <raj.khem@gmail.com>2022-02-17 11:12:44 -0800
commit6c6b8d97b4dd6dd3e951e9e0f66bf5ad505d73f8 (patch)
treed5be1b89b606661338362627bda8a11375489b61 /meta-multimedia
parent5c379cf62588c4e2365570010bcb115d5360e930 (diff)
downloadmeta-openembedded-6c6b8d97b4dd6dd3e951e9e0f66bf5ad505d73f8.tar.gz
wireplumber: Improve configuration
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 <crg7475@mailbox.org> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-multimedia')
-rw-r--r--meta-multimedia/recipes-multimedia/wireplumber/files/90-OE-disable-session-dbus-dependent-features.lua5
-rw-r--r--meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.8.bb17
2 files changed, 15 insertions, 7 deletions
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 @@
1-- These features require a session DBus instance, which is not available
2-- by default in OE generated images. The absence of such a DBus instance
3-- causes WirePlumber to fail to start. Turn these off to prevent that.
4alsa_monitor.properties["alsa.reserve"] = false
5default_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 \
13 13
14SRCREV = "e14bb72dcc85e2130d0ea96768e5ae3b375a041e" 14SRCREV = "e14bb72dcc85e2130d0ea96768e5ae3b375a041e"
15SRC_URI = "git://gitlab.freedesktop.org/pipewire/wireplumber.git;branch=master;protocol=https \ 15SRC_URI = "git://gitlab.freedesktop.org/pipewire/wireplumber.git;branch=master;protocol=https \
16 " 16 file://90-OE-disable-session-dbus-dependent-features.lua \
17 "
17 18
18S = "${WORKDIR}/git" 19S = "${WORKDIR}/git"
19 20
@@ -50,6 +51,12 @@ PACKAGESPLITFUNCS:append = " set_dynamic_metapkg_rdepends "
50 51
51WP_MODULE_SUBDIR = "wireplumber-0.4" 52WP_MODULE_SUBDIR = "wireplumber-0.4"
52 53
54add_custom_lua_config_scripts() {
55 install -m 0644 ${WORKDIR}/90-OE-disable-session-dbus-dependent-features.lua ${D}${datadir}/wireplumber/main.lua.d
56}
57
58do_install[postfuncs] += "add_custom_lua_config_scripts"
59
53python split_dynamic_packages () { 60python split_dynamic_packages () {
54 # Create packages for each WirePlumber module. 61 # Create packages for each WirePlumber module.
55 wp_module_libdir = d.expand('${libdir}/${WP_MODULE_SUBDIR}') 62 wp_module_libdir = d.expand('${libdir}/${WP_MODULE_SUBDIR}')
@@ -117,12 +124,8 @@ PACKAGES_DYNAMIC = "^${PN}-modules.*"
117 124
118SYSTEMD_SERVICE:${PN} = "wireplumber.service" 125SYSTEMD_SERVICE:${PN} = "wireplumber.service"
119CONFFILES:${PN} += " \ 126CONFFILES:${PN} += " \
120 ${sysconfdir}/wireplumber/config.lua \ 127 ${datadir}/wireplumber/wireplumber.conf \
121 ${sysconfdir}/wireplumber/config.lua.d/* \ 128 ${datadir}/wireplumber/*.lua.d/* \
122"
123FILES:${PN} += " \
124 ${sysconfdir}/wireplumber/config.lua \
125 ${sysconfdir}/wireplumber/config.lua.d/* \
126" 129"
127# Add pipewire to RRECOMMENDS, since WirePlumber expects a PipeWire daemon to 130# Add pipewire to RRECOMMENDS, since WirePlumber expects a PipeWire daemon to
128# be present. While in theory any application that uses libpipewire can configure 131# be present. While in theory any application that uses libpipewire can configure