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

Reply via email to