Hi Paresh,
On 08:32-20260901, 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}/
> +}
drop the do_install:append, this installs the service file even if systemd
absent from the rootfs
bloating the rootfs. pipewire recipe already installs the service file via
systemd class
`SYSTEMD_SERVICE:${PN} = "pipewire.service"`
> +
> +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/
> +}
> +
> +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}
-- Yogesh
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#17660):
https://lists.yoctoproject.org/g/meta-arago/message/17660
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]]
-=-=-=-=-=-=-=-=-=-=-=-