The ADSP front-end advertises S24_LE and then garbles it: playback runs without an error, consumes data at rate, powers every DAPM widget, and produces ~-48 dB of near-silence. PipeWire prefers the widest advertised format, so every PipeWire client was inaudible while aplay and speaker-test, which default to S16_LE, worked. One wireplumber rule pins the format until the q6asm handling is fixed. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011XgGF5wfxLDAybVnNz6eNQ
21 lines
698 B
Plaintext
21 lines
698 B
Plaintext
# The sdm845 ADSP front-end advertises S24_LE (24-bit samples in 32-bit
|
|
# containers) and then garbles it — playback runs without a single error,
|
|
# consumes data at the right rate, powers every DAPM widget, and produces
|
|
# roughly -48 dB of near-silence. PipeWire prefers the widest format a device
|
|
# offers, so out of the box every PipeWire client is inaudible while
|
|
# aplay/speaker-test, which default to S16_LE, work fine.
|
|
#
|
|
# Pin the built-in card to S16_LE until the q6asm format handling is fixed.
|
|
monitor.alsa.rules = [
|
|
{
|
|
matches = [
|
|
{ node.name = "~alsa_output.platform-sound.*" }
|
|
]
|
|
actions = {
|
|
update-props = {
|
|
audio.format = "S16LE"
|
|
}
|
|
}
|
|
}
|
|
]
|