Skip to content

Fix RB8 overlay audio rerun failures by making PipeWire overlay setup idempotent#293

Closed
smuppand wants to merge 1 commit intoqualcomm-linux:mainfrom
smuppand:audio
Closed

Fix RB8 overlay audio rerun failures by making PipeWire overlay setup idempotent#293
smuppand wants to merge 1 commit intoqualcomm-linux:mainfrom
smuppand:audio

Conversation

@smuppand
Copy link
Contributor

Problem

On overlay builds (audioreach modules present), repeated runs of AudioRecord can FAIL on RB8 because the overlay setup path restarts PipeWire every run. After the first successful setup (until reboot), subsequent systemctl restart pipewire attempts can fail/hang and cause the testcase to report FAIL even though the audio stack is otherwise usable.

What this PR changes

This PR fixes the issue #291 reported on RB8

Runner/utils/audio_common.sh

  • Make setup_overlay_audio_environment() idempotent for overlay builds:
    • Avoid unconditional PipeWire restart on every invocation (prevents RB8 “frozen” rerun behavior).
    • Keep guarded systemctl/wpctl calls using existing timeout wrappers to avoid control-plane hangs.
    • Preserve overlay requirements (DMA heap permissions) while failing only on real errors.
    • Readiness polling remains to confirm PipeWire is usable when a restart is actually needed.

Runner/suites/Multimedia/Audio/AudioRecord/run.sh

  • Keep the existing run.sh structure/behavior, but align with shared helpers:
    • Use helpers from [audio_common.sh](http://audio_common.sh/) (e.g., PipeWire source default helper where applicable).
    • Remove/avoid any duplicate helper definitions (run.sh should not redefine helpers already in [audio_common.sh](http://audio_common.sh/)).

Legal: update SPDX license from BSD-3-Clause-Clear to BSD-3-Clause
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants