mbox series

[master,RFC,v2,0/3] Add pipeWire audio stack

Message ID 20260210155201.3029549-1-p-bhagat@ti.com
Headers show
Series Add pipeWire audio stack | expand

Message

Paresh Bhagat Feb. 10, 2026, 3:51 p.m. UTC
This patch series introduces PipeWire audio support for AM62* platforms,
replacing PulseAudio with the modern PipeWire audio server architecture.
This implementation is intended for inclusion in the 12.1 release, starting
with am62* platforms.

PipeWire is a modern audio/video server that provides low-latency, high-performance
audio processing with better resource management and flexible routing capabilities.
WirePlumber serves as the session manager, providing policy management and device
configuration for PipeWire, enabling automatic audio routing and device handling.

More info can be found here:
- https://pipewire.org/
- https://docs.pipewire.org/

The series includes:

Patch 1: Add PipeWire configuration files with separate configurations for
         generic AM62* (2-channel) and AM62D (8-channel) audio.
Patch 2: Add WirePlumber configuration with audio defaults service.
Patch 3: Enable PipeWire audio stack in tisdk-default-image for all AM62* variants.

Changes in v2:
- Expanded scope from AM62D-only to all AM62* platforms.
- Changed from scarthgap to master branch targeting.
- Restructured configuration approach:
  * Renamed config files from 90-multichannel.conf/92-capture.conf to
    90-pipewire-sink.conf/91-pipewire-source.conf for clarity.
  * Added generic 2-channel configurations for standard AM62* variants.
  * Added AM62D-specific 8-channel configurations in am62dxx-evm/ directory.
  * Updated node names for consistency (alsa_audio_sink/alsa_audio_source)
- Enhanced bbappend recipe:
  * Changed from version-specific (pipewire_1.0.9) to generic (pipewire_%).
  * Updated file installation paths to use ${WORKDIR}/sources/.
- Modified image integration approach:
  * Moved from individual package lists per machine to PIPEWIRE variable.
  * Added support for AM62* machine variants instead of just AM62D.
  * Consolidated package management within the default image recipe.
- Updated service file and script as per comments.

Link to v1: https://lists.yoctoproject.org/g/meta-arago/message/17021

Paresh Bhagat (3):
  recipes-multimedia: Add pipewire configuration files
  recipes-multimedia: Add wireplumber audio configuration
  recipes-core: tisdk-default-image Add pipewire audio stack support

 .../images/tisdk-default-image.bb             | 23 ++++++++++++++
 .../pipewire/pipewire/90-pipewire-sink.conf   | 19 ++++++++++++
 .../pipewire/pipewire/91-pipewire-source.conf | 19 ++++++++++++
 .../am62dxx-evm/90-pipewire-sink.conf         | 19 ++++++++++++
 .../am62dxx-evm/91-pipewire-source.conf       | 19 ++++++++++++
 .../pipewire/pipewire_%.bbappend              | 17 +++++++++++
 .../wireplumber/set-audio-defaults.service    | 14 +++++++++
 .../wireplumber/set-audio-defaults.sh         | 30 +++++++++++++++++++
 .../wireplumber/wireplumber_%.bbappend        | 27 +++++++++++++++++
 9 files changed, 187 insertions(+)
 create mode 100644 meta-arago-distro/recipes-multimedia/pipewire/pipewire/90-pipewire-sink.conf
 create mode 100644 meta-arago-distro/recipes-multimedia/pipewire/pipewire/91-pipewire-source.conf
 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_%.bbappend
 create mode 100644 meta-arago-distro/recipes-multimedia/wireplumber/wireplumber/set-audio-defaults.service
 create mode 100755 meta-arago-distro/recipes-multimedia/wireplumber/wireplumber/set-audio-defaults.sh
 create mode 100644 meta-arago-distro/recipes-multimedia/wireplumber/wireplumber_%.bbappend