On 8/31/2026 10:02 PM, Paresh Bhagat wrote:
Extend the PipeWire recipe to add platform-specific ALSA configuration
and service file. Service file added to start PipeWire as a system
service with proper socket dependency.
Add sink and source configuration for 8-channel audio playback and
capture on the AM62D2EVM as the default configuration is 2-channel.
Signed-off-by: Paresh Bhagat <[email protected]>
---
.../pipewire/pipewire-arago.inc | 28 +++++++++++++++++++
.../am62dxx-evm/90-pipewire-sink.conf | 21 ++++++++++++++
.../am62dxx-evm/91-pipewire-source.conf | 21 ++++++++++++++
.../pipewire/pipewire/pipewire.service | 26 +++++++++++++++++
.../pipewire/pipewire_%.bbappend | 4 +++
5 files changed, 100 insertions(+)
create mode 100644
meta-arago-distro/recipes-multimedia/pipewire/pipewire-arago.inc
create mode 100644
meta-arago-distro/recipes-multimedia/pipewire/pipewire/am62dxx-evm/90-pipewire-sink.conf
create mode 100644
meta-arago-distro/recipes-multimedia/pipewire/pipewire/am62dxx-evm/91-pipewire-source.conf
create mode 100644
meta-arago-distro/recipes-multimedia/pipewire/pipewire/pipewire.service
create mode 100644
meta-arago-distro/recipes-multimedia/pipewire/pipewire_%.bbappend
diff --git a/meta-arago-distro/recipes-multimedia/pipewire/pipewire-arago.inc
b/meta-arago-distro/recipes-multimedia/pipewire/pipewire-arago.inc
new file mode 100644
index 00000000..b3e0c555
--- /dev/null
+++ b/meta-arago-distro/recipes-multimedia/pipewire/pipewire-arago.inc
@@ -0,0 +1,28 @@
+PR:append = ".arago1"
+
+# Pipewire service for all platforms
+FILESEXTRAPATHS:prepend := "${THISDIR}/pipewire:"
+SRC_URI:append = " file://pipewire.service"
+
+# AM62D-specific config files
+FILESEXTRAPATHS:prepend:am62dxx-evm := "${THISDIR}/pipewire:"
+SRC_URI:append:am62dxx-evm = " \
+ file://90-pipewire-sink.conf \
+ file://91-pipewire-source.conf \
+"
+
+do_install:append() {
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${UNPACKDIR}/pipewire.service
${D}${systemd_system_unitdir}/
+}
+
+do_install:append:am62dxx-evm() {
+ install -d ${D}${sysconfdir}/pipewire/pipewire.conf.d
+ install -m 0644 ${UNPACKDIR}/90-pipewire-sink.conf
${D}${sysconfdir}/pipewire/pipewire.conf.d/
+ install -m 0644 ${UNPACKDIR}/91-pipewire-source.conf
${D}${sysconfdir}/pipewire/pipewire.conf.d/
+}
Are these settings truly am62d specific? And do any of the other
platforms need special configs?
For all of the other platforms will they work without configs like these?
+
+FILES:${PN} += " ${sysconfdir}"
+
+PACKAGECONFIG:append = " pipewire-jack"
+PACKAGECONFIG:remove = "jack"
diff --git
a/meta-arago-distro/recipes-multimedia/pipewire/pipewire/am62dxx-evm/90-pipewire-sink.conf
b/meta-arago-distro/recipes-multimedia/pipewire/pipewire/am62dxx-evm/90-pipewire-sink.conf
new file mode 100644
index 00000000..86481af6
--- /dev/null
+++
b/meta-arago-distro/recipes-multimedia/pipewire/pipewire/am62dxx-evm/90-pipewire-sink.conf
@@ -0,0 +1,21 @@
+# PipeWire source configuration for AM62D.
+
+context.objects = [
+ {
+ factory = adapter
+ args = {
+ factory.name = api.alsa.pcm.sink
+ node.name = "alsa_audio_sink"
+ node.description = "Audio Output"
+ media.class = "Audio/Sink"
+ api.alsa.period-size = 1024
+ api.alsa.headroom = 0
+ api.alsa.disable-mmap = false
+ api.alsa.disable-batch = false
+ api.alsa.path = "hw:AM62D2EVM,0"
+ audio.rate = 48000
+ audio.channels = 8
+ audio.position = [ FL FR FC LFE RL RR SL SR ]
+ }
+ }
+]
diff --git
a/meta-arago-distro/recipes-multimedia/pipewire/pipewire/am62dxx-evm/91-pipewire-source.conf
b/meta-arago-distro/recipes-multimedia/pipewire/pipewire/am62dxx-evm/91-pipewire-source.conf
new file mode 100644
index 00000000..71b7ec76
--- /dev/null
+++
b/meta-arago-distro/recipes-multimedia/pipewire/pipewire/am62dxx-evm/91-pipewire-source.conf
@@ -0,0 +1,21 @@
+# PipeWire source configuration for AM62D.
+
+context.objects = [
+ {
+ factory = adapter
+ args = {
+ factory.name = api.alsa.pcm.source
+ node.name = "alsa_audio_source"
+ node.description = "Audio Input"
+ media.class = "Audio/Source"
+ api.alsa.period-size = 1024
+ api.alsa.headroom = 0
+ api.alsa.disable-mmap = false
+ api.alsa.disable-batch = false
+ api.alsa.path = "hw:AM62D2EVM,0"
+ audio.rate = 48000
+ audio.channels = 8
+ audio.position = [ FL FR FC LFE RL RR SL SR ]
+ }
+ }
+]
diff --git
a/meta-arago-distro/recipes-multimedia/pipewire/pipewire/pipewire.service
b/meta-arago-distro/recipes-multimedia/pipewire/pipewire/pipewire.service
new file mode 100644
index 00000000..c26bf93f
--- /dev/null
+++ b/meta-arago-distro/recipes-multimedia/pipewire/pipewire/pipewire.service
@@ -0,0 +1,26 @@
+[Unit]
+Description=PipeWire Multimedia Service
+# Ensure kernel modules are loaded and udev has finished device processing
+After=systemd-modules-load.service systemd-udev-settle.service
+
+Requires=pipewire.socket
+
+[Service]
+LockPersonality=yes
+MemoryDenyWriteExecute=yes
+NoNewPrivileges=yes
+SystemCallArchitectures=native
+SystemCallFilter=@system-service
+Type=simple
+AmbientCapabilities=CAP_SYS_NICE
+ExecStart=/usr/bin/pipewire
+Restart=on-failure
+RestartSec=2
+RuntimeDirectory=pipewire
+RuntimeDirectoryPreserve=yes
+User=pipewire
+Environment=PIPEWIRE_RUNTIME_DIR=%t/pipewire
+
+[Install]
+Also=pipewire.socket pipewire-manager.socket
+WantedBy=default.target
\ No newline at end of file
diff --git a/meta-arago-distro/recipes-multimedia/pipewire/pipewire_%.bbappend
b/meta-arago-distro/recipes-multimedia/pipewire/pipewire_%.bbappend
new file mode 100644
index 00000000..dc32422b
--- /dev/null
+++ b/meta-arago-distro/recipes-multimedia/pipewire/pipewire_%.bbappend
@@ -0,0 +1,4 @@
+PIPEWIRE_ARAGO = ""
+PIPEWIRE_ARAGO:arago = "pipewire-arago.inc"
+
+require ${PIPEWIRE_ARAGO}
--
Ryan Eatmon [email protected]
-----------------------------------------
Texas Instruments, Inc. - LCPD - MGTS
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#17649):
https://lists.yoctoproject.org/g/meta-arago/message/17649
Mute This Topic: https://lists.yoctoproject.org/mt/121026251/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-arago/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-