Add a systemd service to run PulseAudio in system mode where multiple
applications need audio access without user sessions. Depends on
pulseaudio-server to ensure audio/pulse groups exist.

Enable this service by default to provide system-wide audio for all
applications.

Signed-off-by: Telukula Jeevan Kumar Sahu <[email protected]>
---
 .../pulseaudio/files/pulseaudio.service       | 11 ++++++
 .../pulseaudio/pulseaudio-service.bb          | 35 +++++++++++++++++++
 2 files changed, 46 insertions(+)
 create mode 100644 
meta-arago-extras/recipes-multimedia/pulseaudio/files/pulseaudio.service
 create mode 100644 
meta-arago-extras/recipes-multimedia/pulseaudio/pulseaudio-service.bb

diff --git 
a/meta-arago-extras/recipes-multimedia/pulseaudio/files/pulseaudio.service 
b/meta-arago-extras/recipes-multimedia/pulseaudio/files/pulseaudio.service
new file mode 100644
index 00000000..1d3ac435
--- /dev/null
+++ b/meta-arago-extras/recipes-multimedia/pulseaudio/files/pulseaudio.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=PulseAudio Sound System
+After=alsa-restore.service
+
+[Service]
+BusName=org.pulseaudio.Server
+ExecStart=/usr/bin/pulseaudio --system
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git 
a/meta-arago-extras/recipes-multimedia/pulseaudio/pulseaudio-service.bb 
b/meta-arago-extras/recipes-multimedia/pulseaudio/pulseaudio-service.bb
new file mode 100644
index 00000000..432b2679
--- /dev/null
+++ b/meta-arago-extras/recipes-multimedia/pulseaudio/pulseaudio-service.bb
@@ -0,0 +1,35 @@
+DESCRIPTION = "Pulseaudio systemd service for system-wide audio"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = 
"file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+inherit ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}
+inherit useradd
+
+DEPENDS = "pulseaudio"
+
+# Ensure pulseaudio-server is installed to create audio group
+RDEPENDS:${PN} = "pulseaudio-server"
+
+SRC_URI = "\
+    file://pulseaudio.service \
+"
+
+S = "${UNPACKDIR}"
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE:${PN} = "pulseaudio.service"
+SYSTEMD_AUTO_ENABLE:${PN} = "disable"
+
+FILES:${PN} = " \
+    ${systemd_system_unitdir}/pulseaudio.service \
+"
+
+USERADD_PACKAGES = "${PN}"
+GROUPMEMS_PARAM:${PN} = "--add root --group audio"
+
+do_install() {
+    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; 
then
+        install -d ${D}${systemd_system_unitdir}
+        install -m 0644 ${S}/pulseaudio.service ${D}${systemd_system_unitdir}/
+    fi
+}
-- 
2.34.1



-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#17077): 
https://lists.yoctoproject.org/g/meta-arago/message/17077
Mute This Topic: https://lists.yoctoproject.org/mt/117636322/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-arago/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to