Skip to content

audio: support Debian AudioReach playback and capture validation.#519

Open
Srikanth Muppandam (smuppand) wants to merge 4 commits into
qualcomm-linux:mainfrom
smuppand:display_distro_support
Open

audio: support Debian AudioReach playback and capture validation.#519
Srikanth Muppandam (smuppand) wants to merge 4 commits into
qualcomm-linux:mainfrom
smuppand:display_distro_support

Conversation

@smuppand

Copy link
Copy Markdown
Contributor

The existing audio tests were designed primarily around native Yocto and qcom-distro environments. On Debian systems, AudioReach validation requires additional package preparation, device permissions, and access to the PipeWire user session.

  • Add Debian AudioReach support while preserving existing Yocto and qcom-distro behavior.
  • Keep package setup, logging, assets, diagnostics, and result handling under root.
  • Run only PipeWire, PulseAudio, and ALSA operations as the Debian audio user.
  • Add secure DMA-heap permissions and shared helpers for session and device validation.
  • Strengthen recording validation to detect and fail invalid or all-zero WAV captures.

Add the shared package, device-permission, user-session, and WAV validation support required by the audio test runners.

- add Debian package mappings for base and AudioReach validation
- add the AudioReach dma-heap udev permission rule
- prepare the Debian audio user and optional systemd user manager
- run individual audio commands and helpers through the Debian user
- validate dma-heap and ALSA node access without re-executing runners
- manage PipeWire user services from the root orchestrator
- centralize recording workspace and backend recovery helpers
- add WAV structure and sample-content validation
- preserve native Yocto and qcom-distro behavior

Signed-off-by: Srikanth Muppandam <smuppand@qti.qualcomm.com>
Keep AudioPlayback orchestration, logging, results, and asset handling under root while executing only playback and user-session operations as the Debian audio user.

- remove complete-runner re-execution through runuser
- keep audio clip download and extraction root-owned
- run PipeWire, PulseAudio, and ALSA playback as the Debian user
- use the prepared Debian user session for control operations
- validate AudioReach device access before overlay playback
- retain backend fallback, timeout, and streaming evidence checks
- avoid stdout log and AudioClips ownership failures
- preserve native Yocto and qcom-distro execution

Signed-off-by: Srikanth Muppandam <smuppand@qti.qualcomm.com>
Keep AudioRecord orchestration and result validation under root while executing capture and user-session operations as the Debian audio user.

- remove complete-runner re-execution through runuser
- use a dedicated Debian-user capture workspace
- run pw-record, parecord, and arecord as the Debian user
- promote completed WAV files into the root-owned results directory
- restore final capture ownership and permissions before validation
- reuse shared backend recovery and capture workspace helpers
- retain configuration discovery, fallback, timeout, and JUnit handling
- fail recordings whose sample payload contains only digital zeros

Signed-off-by: Srikanth Muppandam <smuppand@qti.qualcomm.com>
Keep ALSA card discovery, inventory, diagnostics, and reporting under root while validating device-node access as the Debian audio user.

- remove complete-runner re-execution through runuser
- prepare Debian audio-group membership without starting PipeWire
- validate control, playback, and capture PCM nodes as the Debian user
- keep the matched-card inventory and test results root-owned
- preserve base and AudioReach overlay package preparation
- retain ALSA inventory and audio-focused dmesg validation

Signed-off-by: Srikanth Muppandam <smuppand@qti.qualcomm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants