Public bug reported:
# Summary
After upgrading from **Ubuntu 25.04 (kernel 6.14)** to **Ubuntu 25.10
“questing” (kernel 6.17.0-6-generic)** on a **Lenovo ThinkPad X9-14 Gen
1 (Lunar Lake, SOF/SoundWire, Cirrus cs42l43 + cs35l56)**, audio devices
disappeared from GNOME (“Dummy Output” / no input devices). ALSA
enumerated the hardware, SOF firmware/topology loaded, but
**PipeWire/WirePlumber produced no devices** (only `auto_null`).
Ultimately, audio was restored by **switching to PulseAudio** and
loading **manual ALSA sink/source** (speaker and DMIC) plus a systemd
user unit to make it persistent.
---
## System
* Hardware: Lenovo ThinkPad X9-14 Gen 1 (21QA001PGE), Lunar Lake
* DMI: `LENOVO_MT_21QA_BU_Think_FM_ThinkPad X9-14 Gen 1`
* OS: Ubuntu 25.10 (questing)
* Kernel: `6.17.0-6-generic #6-Ubuntu SMP PREEMPT_DYNAMIC Tue Oct 7 13:34:17
UTC 2025 x86_64`
* Audio stack initially: PipeWire 1.4.7 + WirePlumber 0.5.10 + libspa 1.4.7
* SOF firmware/topology present (IPC4 LNL):
```
/lib/firmware/intel/sof-ipc4/lnl/sof-lnl.ri -> intel-signed/sof-lnl.ri
/lib/firmware/intel/sof-ipc4-tplg/sof-lnl-cs42l43-l0-cs35l56-l3-2ch.tplg
```
* UCM present: `alsa-ucm-conf` (UCM card shows
`LENOVO-21QA001PGE-ThinkPadX9_14Gen1`)
---
## Symptoms (post-upgrade)
* GNOME Settings: only **Dummy Output**, no input devices.
* PipeWire: `wpctl status` shows only `auto_null`; no ALSA devices.
* ALSA works:
```
aplay -l
card 0: sofsoundwire, device 2: Speaker
...
arecord -l
card 0: sofsoundwire, device 10: DMIC Raw
```
* /dev/snd ACLs OK (user has rw via ACL).
---
## Relevant kernel/boot log excerpts
```
sof-audio-pci-intel-lnl ... Topology file:
intel/sof-ipc4-tplg/sof-lnl-cs42l43-l0-cs35l56-l3-2ch.tplg
cs35l56 ... DSP1: ... v3.11.28 ... Calibration applied
alsactl: set_control: ... 'cs42l43 Jack Override' : Device or resource busy
sof_sdw: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3
```
No hard kernel/firmware errors; SOF topology loads.
---
## Diagnostics and findings
1. **PipeWire stack initially incomplete/inconsistent**
* `libpipewire-0.3-0` not installed (25.10 uses
**`libpipewire-0.3-0t64`**). Reinstalled:
```
sudo apt install --reinstall libpipewire-0.3-0t64 libpipewire-0.3-modules
libspa-0.2-modules pipewire pipewire-audio pipewire-pulse wireplumber
```
* After reinstall, files existed:
```
/usr/lib/x86_64-linux-gnu/libpipewire-0.3.so.0 -> ...0.1407.0
/usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-rt.so
/usr/lib/x86_64-linux-gnu/spa-0.2/alsa/libspa-alsa.so
```
2. **WirePlumber didn’t load ALSA monitor**
* Package layout: `wireplumber` installed **scripts in**
`/usr/share/wireplumber/scripts/...` (e.g. `monitors/alsa.lua`), **no** legacy
`main.lua.d` fragments shipped.
* User overrides attempting to load `monitors/alsa.lua` (both legacy
`scripts=.../alsa_monitor` and components style) **did not create ALSA
devices**; `wpctl` still showed only `auto_null`.
3. **PipeWire protocol issue observed transiently**
* Foreground WP run showed:
```
E core_new: can't find protocol 'PipeWire:Protocol:Native': Operation not
supported
Failed to connect to PipeWire
```
Reinstalling pipewire + removing user overrides fixed the protocol
error, but **ALSA devices still not created**.
4. **No PipeWire ALSA modules present for direct nodes**
* `libpipewire-module-alsa-*.so` were **not present** on this 25.10
image, so creating static PW ALSA nodes was not possible.
5. **ALSA functional evidence**
* `speaker-test -D hw:0,2 ...` and
* `arecord -D plughw:0,10 ... && aplay ...` both worked → kernel, SOF, UCM,
devices OK.
6. **Attempt to revert to PulseAudio**
* Installed PulseAudio and removed `pipewire-audio`:
```
sudo apt install pulseaudio pulseaudio-utils pavucontrol
```
* Initially only `auto_null` in PulseAudio (udev detection race).
---
## Working solution (current)
**Switch to PulseAudio and load ALSA devices manually**:
1. Load modules manually (interactive test):
```bash
# sink: speakers at hw:0,2
pactl load-module module-alsa-sink device=hw:0,2 sink_name=spk
# source: DMIC at plughw:0,10 (rate/format fixed; timer-sched off)
pactl load-module module-alsa-source device=plughw:0,10 source_name=dmic
tsched=0 rate=48000 channels=2 format=s16le
pactl set-default-sink spk
pactl set-default-source dmic
```
After this, output and mic worked immediately; `arecord` and GNOME input
meter were OK.
2. Make the setup persistent:
**Option A (used): user path-unit triggered by PulseAudio socket**
* Helper script (`~/.local/bin/pulse-alsa-setup.sh`):
```bash
#!/usr/bin/env bash
set -u
# wait for PulseAudio to be ready
for i in {1..15}; do pactl info >/dev/null 2>&1 && break; sleep 1; done
pactl info >/dev/null 2>&1 || pulseaudio --start >/dev/null 2>&1 || true; sleep
2
# ensure sink & source exist
pactl list short sinks | awk '{print $2}' | grep -qx spk || pactl
load-module module-alsa-sink device=hw:0,2 sink_name=spk >/dev/null 2>&1 ||
true
pactl list short sources | awk '{print $2}' | grep -qx dmic || pactl
load-module module-alsa-source device=plughw:0,10 source_name=dmic tsched=0
rate=48000 channels=2 format=s16le >/dev/null 2>&1 || true
# defaults & cleanup
pactl set-default-sink spk >/dev/null 2>&1 || true
pactl set-default-source dmic >/dev/null 2>&1 || true
pactl set-source-mute dmic 0 >/dev/null 2>&1 || true
pactl set-source-volume dmic 0x10000 >/dev/null 2>&1 || true
NULL_ID=$(pactl list short modules | awk '/module-null-sink/ {print $1}' | head
-n1); [ -n "${NULL_ID:-}" ] && pactl unload-module "$NULL_ID" >/dev/null 2>&1
|| true
```
* Path unit (`~/.config/systemd/user/pulse-alsa-setup.path`):
```ini
[Unit]
Description=Run Pulse ALSA setup when PulseAudio native socket appears
[Path]
PathExists=/run/user/%U/pulse/native
[Install]
WantedBy=default.target
```
* Service (`~/.config/systemd/user/pulse-alsa-setup.service`):
```ini
[Unit]
Description=Load ALSA sink/source for PulseAudio (sof-soundwire)
After=default.target
[Service]
Type=oneshot
ExecStart=%h/.local/bin/pulse-alsa-setup.sh
RemainAfterExit=yes
```
* Enable:
```bash
systemctl --user daemon-reload
systemctl --user enable --now pulseaudio.service
systemctl --user enable --now pulse-alsa-setup.path
# (service is triggered by the socket)
```
**Option B (also kept for safety): user PulseAudio default.pa override**
`~/.config/pulse/default.pa`:
```text
.include /etc/pulse/default.pa
load-module module-alsa-sink device=hw:0,2 sink_name=spk
load-module module-alsa-source device=plughw:0,10 source_name=dmic tsched=0
rate=48000 channels=2 format=s16le
set-default-sink spk
set-default-source dmic
# optionally: unload-module module-null-sink
```
With Option A+B, audio (out) and mic (dmic) come up reliably after
reboot/log-in.
---
## Clean-up performed
* Removed stale PPA that 404’d during troubleshooting:
```
ppa:oem-solutions-group/intel-ipu7
```
* Masked PipeWire/WirePlumber user units to prevent GNOME from auto-switching
back:
```
systemctl --user mask pipewire{,-pulse}.service pipewire{,-pulse}.socket
wireplumber.service
```
* Removed user overrides/caches for PW/WP tried during debugging:
```
~/.config/pipewire*, ~/.config/wireplumber, ~/.local/state/wireplumber,
~/.cache/pipewire-*
```
---
## What did not work (for maintainers)
* Reinstalling `libpipewire-0.3-0t64`, `libpipewire-0.3-modules`,
`libspa-0.2-modules`, `pipewire`, `pipewire-audio`, `pipewire-pulse`,
`wireplumber` → **no devices** (only `auto_null`).
* User overrides for WirePlumber to force-load `monitors/alsa.lua` (legacy
`main.lua.d`, `scripts=...`, and new **components** style) → **no devices**.
* Foreground WP runs indicated transient **protocol-native** mismatch earlier;
after reinstall the error vanished, still **no ALSA devices**.
* Creating **static PW ALSA nodes** also failed because
**`libpipewire-module-alsa-*.so` were not present** in this Ubuntu 25.10
install.
---
## Evidence that the kernel/firmware side is OK
* ALSA lists the expected endpoints:
```
aplay -l → Speaker at hw:0,2; HDMI 5/6/7; Jack Out 0; Deepbuffer 31
arecord -l → DMIC Raw at hw:0,10; Jack In 1
```
* `speaker-test -D hw:0,2 …` audible.
* `arecord -D plughw:0,10 … && aplay …` audible.
* SOF IPC4 firmware and topology load; cs35l56 calibration applied in dmesg.
---
## Regression range / expectations
* **Ubuntu 25.04 + kernel 6.14**: sound worked out of the box with
PipeWire/WirePlumber.
* **Ubuntu 25.10 + kernel 6.17**: SOF stack succeeds, but PipeWire/WirePlumber
**does not create any ALSA devices**; GNOME shows “Dummy Output”.
* Manual PulseAudio path restores functionality → this is **a user-space
issue** (PW/WP packaging/config), not kernel/SOF.
---
## Requested actions / hypotheses
1. **WirePlumber packaging/config on Ubuntu 25.10**
* Ensure `monitors/alsa.lua` is actually loaded by default (components or
equivalent), or ship default user configuration enabling ALSA monitor with
UCM/ACP.
* Verify that the shipped WP configuration schema (scripts vs components)
matches the installed script locations (`/usr/share/wireplumber/scripts/...`).
2. **PipeWire modules completeness**
* Confirm whether **`libpipewire-module-alsa-*.so`** are
intentionally omitted from the 25.10 PipeWire packaging; without them,
static ALSA nodes for debugging/workarounds are impossible.
3. **Protocol-native error** (transient)
* Investigate conditions causing `can't find protocol
'PipeWire:Protocol:Native'` when client connects to PW; happened once
during the session and vanished after reinstall/cleanup.
---
## Current working configuration (for reference)
* Audio stack: **PulseAudio 17.0**, `module-alsa-sink` (`hw:0,2`),
`module-alsa-source` (`plughw:0,10`, `rate=48000`, `format=s16le`, `tsched=0`).
* Persistence: **systemd user path-unit** triggering helper script when
`/run/user/$UID/pulse/native` appears; optional `~/.config/pulse/default.pa`
override.
* Result: stable output + microphone after reboot.
---
## Reproduction outline (from a fresh 25.10 install on identical HW)
1. Boot 25.10 on ThinkPad X9-14 Gen 1 (Lunar Lake).
2. Observe GNOME → **“Dummy Output”**.
3. `wpctl status` → only `auto_null`; `aplay/arecord -l` show devices;
`speaker-test`/`arecord` succeed.
4. Reinstall PW/WP packages → no change; attempts to force WP ALSA monitor → no
change; static PW ALSA modules not present.
5. Install PulseAudio; load:
```
pactl load-module module-alsa-sink device=hw:0,2 sink_name=spk
pactl load-module module-alsa-source device=plughw:0,10 source_name=dmic
tsched=0 rate=48000 channels=2 format=s16le
```
→ **sound and mic work**.
6. Add systemd path-unit + helper to persist across boots.
** Affects: wireplumber (Ubuntu)
Importance: Undecided
Status: New
** Tags: amd64 apport-bug questing wayland-session
** Description changed:
# Summary
After upgrading from **Ubuntu 25.04 (kernel 6.14)** to **Ubuntu 25.10
“questing” (kernel 6.17.0-6-generic)** on a **Lenovo ThinkPad X9-14 Gen
1 (Lunar Lake, SOF/SoundWire, Cirrus cs42l43 + cs35l56)**, audio devices
disappeared from GNOME (“Dummy Output” / no input devices). ALSA
enumerated the hardware, SOF firmware/topology loaded, but
**PipeWire/WirePlumber produced no devices** (only `auto_null`).
Ultimately, audio was restored by **switching to PulseAudio** and
loading **manual ALSA sink/source** (speaker and DMIC) plus a systemd
user unit to make it persistent.
---
## System
* Hardware: Lenovo ThinkPad X9-14 Gen 1 (21QA001PGE), Lunar Lake
* DMI: `LENOVO_MT_21QA_BU_Think_FM_ThinkPad X9-14 Gen 1`
* OS: Ubuntu 25.10 (questing)
* Kernel: `6.17.0-6-generic #6-Ubuntu SMP PREEMPT_DYNAMIC Tue Oct 7 13:34:17
UTC 2025 x86_64`
* Audio stack initially: PipeWire 1.4.7 + WirePlumber 0.5.10 + libspa 1.4.7
* SOF firmware/topology present (IPC4 LNL):
- ```
- /lib/firmware/intel/sof-ipc4/lnl/sof-lnl.ri -> intel-signed/sof-lnl.ri
- /lib/firmware/intel/sof-ipc4-tplg/sof-lnl-cs42l43-l0-cs35l56-l3-2ch.tplg
- ```
+ ```
+ /lib/firmware/intel/sof-ipc4/lnl/sof-lnl.ri -> intel-signed/sof-lnl.ri
+ /lib/firmware/intel/sof-ipc4-tplg/sof-lnl-cs42l43-l0-cs35l56-l3-2ch.tplg
+ ```
* UCM present: `alsa-ucm-conf` (UCM card shows
`LENOVO-21QA001PGE-ThinkPadX9_14Gen1`)
---
## Symptoms (post-upgrade)
* GNOME Settings: only **Dummy Output**, no input devices.
* PipeWire: `wpctl status` shows only `auto_null`; no ALSA devices.
* ALSA works:
- ```
- aplay -l
- card 0: sofsoundwire, device 2: Speaker
- ...
- arecord -l
- card 0: sofsoundwire, device 10: DMIC Raw
- ```
+ ```
+ aplay -l
+ card 0: sofsoundwire, device 2: Speaker
+ ...
+ arecord -l
+ card 0: sofsoundwire, device 10: DMIC Raw
+ ```
* /dev/snd ACLs OK (user has rw via ACL).
---
## Relevant kernel/boot log excerpts
```
sof-audio-pci-intel-lnl ... Topology file:
intel/sof-ipc4-tplg/sof-lnl-cs42l43-l0-cs35l56-l3-2ch.tplg
cs35l56 ... DSP1: ... v3.11.28 ... Calibration applied
alsactl: set_control: ... 'cs42l43 Jack Override' : Device or resource busy
sof_sdw: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3
```
No hard kernel/firmware errors; SOF topology loads.
---
## Diagnostics and findings
1. **PipeWire stack initially incomplete/inconsistent**
- * `libpipewire-0.3-0` not installed (25.10 uses
+ * `libpipewire-0.3-0` not installed (25.10 uses
**`libpipewire-0.3-0t64`**). Reinstalled:
- ```
- sudo apt install --reinstall libpipewire-0.3-0t64
libpipewire-0.3-modules libspa-0.2-modules pipewire pipewire-audio
pipewire-pulse wireplumber
- ```
- * After reinstall, files existed:
-
- ```
- /usr/lib/x86_64-linux-gnu/libpipewire-0.3.so.0 -> ...0.1407.0
- /usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-rt.so
- /usr/lib/x86_64-linux-gnu/spa-0.2/alsa/libspa-alsa.so
- ```
+ ```
+ sudo apt install --reinstall libpipewire-0.3-0t64
libpipewire-0.3-modules libspa-0.2-modules pipewire pipewire-audio
pipewire-pulse wireplumber
+ ```
+ * After reinstall, files existed:
+
+ ```
+ /usr/lib/x86_64-linux-gnu/libpipewire-0.3.so.0 -> ...0.1407.0
+ /usr/lib/x86_64-linux-gnu/pipewire-0.3/libpipewire-module-rt.so
+ /usr/lib/x86_64-linux-gnu/spa-0.2/alsa/libspa-alsa.so
+ ```
2. **WirePlumber didn’t load ALSA monitor**
- * Package layout: `wireplumber` installed **scripts in**
`/usr/share/wireplumber/scripts/...` (e.g. `monitors/alsa.lua`), **no** legacy
`main.lua.d` fragments shipped.
- * User overrides attempting to load `monitors/alsa.lua` (both legacy
`scripts=.../alsa_monitor` and components style) **did not create ALSA
devices**; `wpctl` still showed only `auto_null`.
+ * Package layout: `wireplumber` installed **scripts in**
`/usr/share/wireplumber/scripts/...` (e.g. `monitors/alsa.lua`), **no** legacy
`main.lua.d` fragments shipped.
+ * User overrides attempting to load `monitors/alsa.lua` (both legacy
`scripts=.../alsa_monitor` and components style) **did not create ALSA
devices**; `wpctl` still showed only `auto_null`.
3. **PipeWire protocol issue observed transiently**
- * Foreground WP run showed:
-
- ```
- E core_new: can't find protocol 'PipeWire:Protocol:Native': Operation
not supported
- Failed to connect to PipeWire
- ```
-
- Reinstalling pipewire + removing user overrides fixed the protocol
+ * Foreground WP run showed:
+
+ ```
+ E core_new: can't find protocol 'PipeWire:Protocol:Native': Operation
not supported
+ Failed to connect to PipeWire
+ ```
+
+ Reinstalling pipewire + removing user overrides fixed the protocol
error, but **ALSA devices still not created**.
4. **No PipeWire ALSA modules present for direct nodes**
- * `libpipewire-module-alsa-*.so` were **not present** on this 25.10
+ * `libpipewire-module-alsa-*.so` were **not present** on this 25.10
image, so creating static PW ALSA nodes was not possible.
5. **ALSA functional evidence**
- * `speaker-test -D hw:0,2 ...` and
- * `arecord -D plughw:0,10 ... && aplay ...` both worked → kernel, SOF,
UCM, devices OK.
+ * `speaker-test -D hw:0,2 ...` and
+ * `arecord -D plughw:0,10 ... && aplay ...` both worked → kernel, SOF,
UCM, devices OK.
6. **Attempt to revert to PulseAudio**
- * Installed PulseAudio and removed `pipewire-audio`:
-
- ```
- sudo apt install pulseaudio pulseaudio-utils pavucontrol
- ```
- * Initially only `auto_null` in PulseAudio (udev detection race).
+ * Installed PulseAudio and removed `pipewire-audio`:
+
+ ```
+ sudo apt install pulseaudio pulseaudio-utils pavucontrol
+ ```
+ * Initially only `auto_null` in PulseAudio (udev detection race).
---
## Working solution (current)
**Switch to PulseAudio and load ALSA devices manually**:
1. Load modules manually (interactive test):
```bash
# sink: speakers at hw:0,2
pactl load-module module-alsa-sink device=hw:0,2 sink_name=spk
# source: DMIC at plughw:0,10 (rate/format fixed; timer-sched off)
pactl load-module module-alsa-source device=plughw:0,10 source_name=dmic
tsched=0 rate=48000 channels=2 format=s16le
pactl set-default-sink spk
pactl set-default-source dmic
```
After this, output and mic worked immediately; `arecord` and GNOME input
meter were OK.
2. Make the setup persistent:
**Option A (used): user path-unit triggered by PulseAudio socket**
* Helper script (`~/.local/bin/pulse-alsa-setup.sh`):
```bash
#!/usr/bin/env bash
set -u
# wait for PulseAudio to be ready
for i in {1..15}; do pactl info >/dev/null 2>&1 && break; sleep 1; done
pactl info >/dev/null 2>&1 || pulseaudio --start >/dev/null 2>&1 || true;
sleep 2
# ensure sink & source exist
pactl list short sinks | awk '{print $2}' | grep -qx spk || pactl
load-module module-alsa-sink device=hw:0,2 sink_name=spk >/dev/null 2>&1 ||
true
pactl list short sources | awk '{print $2}' | grep -qx dmic || pactl
load-module module-alsa-source device=plughw:0,10 source_name=dmic tsched=0
rate=48000 channels=2 format=s16le >/dev/null 2>&1 || true
# defaults & cleanup
pactl set-default-sink spk >/dev/null 2>&1 || true
pactl set-default-source dmic >/dev/null 2>&1 || true
pactl set-source-mute dmic 0 >/dev/null 2>&1 || true
pactl set-source-volume dmic 0x10000 >/dev/null 2>&1 || true
NULL_ID=$(pactl list short modules | awk '/module-null-sink/ {print $1}' |
head -n1); [ -n "${NULL_ID:-}" ] && pactl unload-module "$NULL_ID" >/dev/null
2>&1 || true
```
* Path unit (`~/.config/systemd/user/pulse-alsa-setup.path`):
```ini
[Unit]
Description=Run Pulse ALSA setup when PulseAudio native socket appears
[Path]
PathExists=/run/user/%U/pulse/native
[Install]
WantedBy=default.target
```
* Service (`~/.config/systemd/user/pulse-alsa-setup.service`):
```ini
[Unit]
Description=Load ALSA sink/source for PulseAudio (sof-soundwire)
After=default.target
[Service]
Type=oneshot
ExecStart=%h/.local/bin/pulse-alsa-setup.sh
RemainAfterExit=yes
```
* Enable:
```bash
systemctl --user daemon-reload
systemctl --user enable --now pulseaudio.service
systemctl --user enable --now pulse-alsa-setup.path
# (service is triggered by the socket)
```
**Option B (also kept for safety): user PulseAudio default.pa override**
`~/.config/pulse/default.pa`:
```text
.include /etc/pulse/default.pa
load-module module-alsa-sink device=hw:0,2 sink_name=spk
load-module module-alsa-source device=plughw:0,10 source_name=dmic tsched=0
rate=48000 channels=2 format=s16le
set-default-sink spk
set-default-source dmic
# optionally: unload-module module-null-sink
```
With Option A+B, audio (out) and mic (dmic) come up reliably after
reboot/log-in.
---
## Clean-up performed
* Removed stale PPA that 404’d during troubleshooting:
- ```
- ppa:oem-solutions-group/intel-ipu7
- ```
+ ```
+ ppa:oem-solutions-group/intel-ipu7
+ ```
* Masked PipeWire/WirePlumber user units to prevent GNOME from auto-switching
back:
- ```
- systemctl --user mask pipewire{,-pulse}.service pipewire{,-pulse}.socket
wireplumber.service
- ```
+ ```
+ systemctl --user mask pipewire{,-pulse}.service pipewire{,-pulse}.socket
wireplumber.service
+ ```
* Removed user overrides/caches for PW/WP tried during debugging:
- ```
- ~/.config/pipewire*, ~/.config/wireplumber, ~/.local/state/wireplumber,
~/.cache/pipewire-*
- ```
+ ```
+ ~/.config/pipewire*, ~/.config/wireplumber, ~/.local/state/wireplumber,
~/.cache/pipewire-*
+ ```
---
## What did not work (for maintainers)
* Reinstalling `libpipewire-0.3-0t64`, `libpipewire-0.3-modules`,
`libspa-0.2-modules`, `pipewire`, `pipewire-audio`, `pipewire-pulse`,
`wireplumber` → **no devices** (only `auto_null`).
* User overrides for WirePlumber to force-load `monitors/alsa.lua` (legacy
`main.lua.d`, `scripts=...`, and new **components** style) → **no devices**.
* Foreground WP runs indicated transient **protocol-native** mismatch
earlier; after reinstall the error vanished, still **no ALSA devices**.
* Creating **static PW ALSA nodes** also failed because
**`libpipewire-module-alsa-*.so` were not present** in this Ubuntu 25.10
install.
---
## Evidence that the kernel/firmware side is OK
* ALSA lists the expected endpoints:
- ```
- aplay -l → Speaker at hw:0,2; HDMI 5/6/7; Jack Out 0; Deepbuffer 31
- arecord -l → DMIC Raw at hw:0,10; Jack In 1
- ```
+ ```
+ aplay -l → Speaker at hw:0,2; HDMI 5/6/7; Jack Out 0; Deepbuffer 31
+ arecord -l → DMIC Raw at hw:0,10; Jack In 1
+ ```
* `speaker-test -D hw:0,2 …` audible.
* `arecord -D plughw:0,10 … && aplay …` audible.
* SOF IPC4 firmware and topology load; cs35l56 calibration applied in dmesg.
---
## Regression range / expectations
* **Ubuntu 25.04 + kernel 6.14**: sound worked out of the box with
PipeWire/WirePlumber.
* **Ubuntu 25.10 + kernel 6.17**: SOF stack succeeds, but
PipeWire/WirePlumber **does not create any ALSA devices**; GNOME shows “Dummy
Output”.
* Manual PulseAudio path restores functionality → this is **a user-space
issue** (PW/WP packaging/config), not kernel/SOF.
---
## Requested actions / hypotheses
1. **WirePlumber packaging/config on Ubuntu 25.10**
- * Ensure `monitors/alsa.lua` is actually loaded by default (components or
equivalent), or ship default user configuration enabling ALSA monitor with
UCM/ACP.
- * Verify that the shipped WP configuration schema (scripts vs components)
matches the installed script locations (`/usr/share/wireplumber/scripts/...`).
+ * Ensure `monitors/alsa.lua` is actually loaded by default (components or
equivalent), or ship default user configuration enabling ALSA monitor with
UCM/ACP.
+ * Verify that the shipped WP configuration schema (scripts vs components)
matches the installed script locations (`/usr/share/wireplumber/scripts/...`).
2. **PipeWire modules completeness**
- * Confirm whether **`libpipewire-module-alsa-*.so`** are
+ * Confirm whether **`libpipewire-module-alsa-*.so`** are
intentionally omitted from the 25.10 PipeWire packaging; without them,
static ALSA nodes for debugging/workarounds are impossible.
3. **Protocol-native error** (transient)
- * Investigate conditions causing `can't find protocol
+ * Investigate conditions causing `can't find protocol
'PipeWire:Protocol:Native'` when client connects to PW; happened once
during the session and vanished after reinstall/cleanup.
---
## Current working configuration (for reference)
* Audio stack: **PulseAudio 17.0**, `module-alsa-sink` (`hw:0,2`),
`module-alsa-source` (`plughw:0,10`, `rate=48000`, `format=s16le`, `tsched=0`).
* Persistence: **systemd user path-unit** triggering helper script when
`/run/user/$UID/pulse/native` appears; optional `~/.config/pulse/default.pa`
override.
* Result: stable output + microphone after reboot.
---
## Reproduction outline (from a fresh 25.10 install on identical HW)
1. Boot 25.10 on ThinkPad X9-14 Gen 1 (Lunar Lake).
2. Observe GNOME → **“Dummy Output”**.
3. `wpctl status` → only `auto_null`; `aplay/arecord -l` show devices;
`speaker-test`/`arecord` succeed.
4. Reinstall PW/WP packages → no change; attempts to force WP ALSA monitor →
no change; static PW ALSA modules not present.
5. Install PulseAudio; load:
- ```
- pactl load-module module-alsa-sink device=hw:0,2 sink_name=spk
- pactl load-module module-alsa-source device=plughw:0,10 source_name=dmic
tsched=0 rate=48000 channels=2 format=s16le
- ```
-
- → **sound and mic work**.
+ ```
+ pactl load-module module-alsa-sink device=hw:0,2 sink_name=spk
+ pactl load-module module-alsa-source device=plughw:0,10 source_name=dmic
tsched=0 rate=48000 channels=2 format=s16le
+ ```
+
+ → **sound and mic work**.
6. Add systemd path-unit + helper to persist across boots.
-
- ---
-
- If maintainers need full logs, I can provide:
-
- * `journalctl -b | grep -E "sof[-_]|cs(35|42)l"`
- * `journalctl --user -b -u pipewire` and `-u wireplumber` (including the
protocol-native error excerpt)
- * `wpctl status` before/after
- * `pactl list short (modules|sinks|sources)` after fix.
-
- ProblemType: Bug
- DistroRelease: Ubuntu 25.10
- Package: wireplumber 0.5.10-3
- ProcVersionSignature: Ubuntu 6.17.0-6.6-generic 6.17.1
- Uname: Linux 6.17.0-6-generic x86_64
- ApportVersion: 2.33.1-0ubuntu3
- Architecture: amd64
- CasperMD5CheckResult: pass
- CurrentDesktop: GNOME
- Date: Tue Nov 11 18:18:07 2025
- InstallationDate: Installed on 2025-05-10 (185 days ago)
- InstallationMedia: Ubuntu 24.04.2 LTS "Noble Numbat" - Release amd64
(20250215)
- ProcEnviron:
- LANG=en_US.UTF-8
- PATH=(custom, no user)
- SHELL=/bin/bash
- TERM=xterm-256color
- XDG_RUNTIME_DIR=<set>
- SourcePackage: wireplumber
- UpgradeStatus: Upgraded to questing on 2025-11-11 (0 days ago)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2131090
Title:
Regression in 25.10: No audio devices in PipeWire/WirePlumber;
ALSA/SOF ok, only “Dummy Output” shown
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/wireplumber/+bug/2131090/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs