Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#1013276: Alsa clients using the wrong plugin if pulseaudio is installed

186 views
Skip to first unread message

Sebastien Bacher

unread,
Jun 20, 2022, 10:30:03 AM6/20/22
to
Package: pipewire
Version: 0.3.52-1

The bug has been reported for Ubuntu on
https://bugs.launchpad.net/ubuntu/+source/pipewire/+bug/1975823

'Steps to Reproduce:

install OpenWebStart

sign up on Stellwerksim

download the application
run it see the self test never pass the audio test


Actual Results:
Application won't start as self-test never passes or fails, just stays
pending

Expected Results:
Self test passes and application starts'

The issue seems to be due to /usr/share/alsa/alsa.conf.d/pulse.conf
which makes alsa default to pulseaudio and makes it go through
pipewire-pulse instead of using directly the alsa plugin.

One other way could be to ship configuration files in pipewire ordered
after the pulseaudio configs?

Cheers,

Sedat Dilek

unread,
Sep 17, 2022, 3:40:04 PM9/17/22
to
Hi,

I upgraded to pipewire/0.3.58-1 on my Debian/unstable AMD64 box.

This removed pipewire-pulse/0.3.57-1.

After this I was not able to listen to audio when doing
video-streaming in Firefox.

Please, point Debian/unstable folks to remove these files (as stated
in the Ubuntu BR):

root# rm -v /etc/alsa/conf.d/99-pulse.conf /etc/alsa/conf.d/50-pulseaudio.conf

This SOLVED the issue (unsure if 50-pulseaudio.conf needs to be
removed as well).

Some inspecting...

[ PACTL ]

user$ LANG=C pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 6
Tile Size: 65472
User Name: dileks
Host Name: iniza
Server Name: pulseaudio
Server Version: 15.0
Default Sample Specification: s16le 2ch 44100Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_00_1b.0.analog-stereo
Default Source: alsa_input.pci-0000_00_1b.0.analog-stereo
Cookie: 10fd:1cb5

user$ LANG=C wpctl status
PipeWire 'pipewire-0' [0.3.58, dileks@iniza, cookie:479679219]
└─ Clients:
31. WirePlumber [0.3.58, dileks@iniza, pid:1791]
32. WirePlumber [export] [0.3.58, dileks@iniza, pid:1791]
43. xdg-desktop-portal [0.3.58, dileks@iniza, pid:2165]
44. wpctl [0.3.58, dileks@iniza, pid:6084]

Audio
├─ Devices:
│ 40. Internes Audio [alsa]

├─ Sinks:

├─ Sink endpoints:

├─ Sources:

├─ Source endpoints:

└─ Streams:

Video
├─ Devices:
│ 38. WebCam SC-13HDL11431N [v4l2]
│ 39. WebCam SC-13HDL11431N [v4l2]

├─ Sinks:

├─ Sink endpoints:

├─ Sources:
│ * 41. WebCam SC-13HDL11431N (V4L2)

├─ Source endpoints:

└─ Streams:

Settings
└─ Default Configured Node Names:

user$ LANG=C wpctl inspect 40
id 40, type PipeWire:Interface:Device
alsa.card = "0"
alsa.card_name = "HDA Intel PCH"
alsa.driver_name = "snd_hda_intel"
alsa.long_card_name = "HDA Intel PCH at 0xf0700000 irq 34"
api.acp.auto-port = "false"
api.acp.auto-profile = "false"
api.alsa.card = "0"
api.alsa.card.longname = "HDA Intel PCH at 0xf0700000 irq 34"
api.alsa.card.name = "HDA Intel PCH"
api.alsa.path = "hw:0"
api.alsa.use-acp = "true"
* client.id = "32"
* device.api = "alsa"
device.bus = "pci"
device.bus-path = "pci-0000:00:1b.0"
* device.description = "Internes Audio"
device.enum.api = "udev"
device.form-factor = "internal"
device.icon-name = "audio-card-analog-pci"
* device.name = "alsa_card.pci-0000_00_1b.0"
* device.nick = "HDA Intel PCH"
device.plugged.usec = "36336190"
device.product.id = "0x1c20"
device.product.name = "6 Series/C200 Series Chipset Family High
Definition Audio Controller"
device.string = "0"
device.subsystem = "sound"
device.sysfs.path = "/sys/devices/pci0000:00/0000:00:1b.0/sound/card0"
device.vendor.id = "0x8086"
device.vendor.name = "Intel Corporation"
* factory.id = "14"
* media.class = "Audio/Device"
object.path = "alsa:pcm:0"
* object.serial = "40"

[ ALSA ]

root# LC_ALL=C aplay --list-devices
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC269VC Analog [ALC269VC Analog]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0

root# aplay --list-pcms | egrep -A1 'default:'
default:CARD=PCH
HDA Intel PCH, ALC269VC Analog
--
sysdefault:CARD=PCH
HDA Intel PCH, ALC269VC Analog

root# aplay --list-pcms | egrep -A1 'plughw:'
plughw:CARD=PCH,DEV=0
HDA Intel PCH, ALC269VC Analog
--
plughw:CARD=PCH,DEV=3
HDA Intel PCH, HDMI 0

Thanks.

Regards,
-Sedat-

[1] https://bugs.launchpad.net/ubuntu/+source/pipewire/+bug/1975823
[2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1013276

Sedat Dilek

unread,
Sep 17, 2022, 4:20:04 PM9/17/22
to
Here on KDE/Plasma v5.25.4 (Wayland) it was sufficient just to remove
/etc/alsa/conf.d/99-pulse.conf only;

root# LC_ALL=C ll /etc/alsa/conf.d/99-pulse.conf
/etc/alsa/conf.d/50-pulseaudio.conf
ls: cannot access '/etc/alsa/conf.d/99-pulse.conf': No such file or directory
lrwxrwxrwx 1 root root 46 Jul 6 04:20
/etc/alsa/conf.d/50-pulseaudio.conf ->
/usr/share/alsa/alsa.conf.d/50-pulseaudio.conf

Looks like the config-files have different origin:

root# dpkg -S /etc/alsa/conf.d/50-pulseaudio.conf
/etc/alsa/conf.d/99-pulse.conf
libasound2-plugins:amd64: /etc/alsa/conf.d/50-pulseaudio.conf
pulseaudio: /etc/alsa/conf.d/99-pulse.conf

Maybe, talk with the Debian pulseaudio?

***** Might be a different issue (after switching to pipewire/0.3.58-1):

BTW, in my KDE audio-settings I do NOT see a microphone.

Same with Webcam:

root# v4l2-ctl --list-devices

WebCam SC-13HDL11431N: WebCam S (usb-0000:00:1a.0-1.4):
/dev/video0
/dev/video1
/dev/media0

$ cvlc v4l2:///dev/video0

^^ No picture.

$ LC_ALL=C systemctl --user stop wireplumber.service
$ LC_ALL=C systemctl --user start wireplumber.service

$ LC_ALL=C systemctl --user status wireplumber.service
* wireplumber.service - Multimedia Service Session Manager
Loaded: loaded (/usr/lib/systemd/user/wireplumber.service;
enabled; preset: enabled)
Active: active (running) since Sat 2022-09-17 22:02:42 CEST; 2s ago
Main PID: 3633 (wireplumber)
Tasks: 5 (limit: 9359)
Memory: 3.9M
CPU: 140ms
CGroup: /user.slice/user-1000.slice/us...@1000.service/session.slice/wireplumber.service
`-3633 /usr/bin/wireplumber

Sep 17 22:02:42 iniza systemd[1776]: Started Multimedia Service Session Manager.
Sep 17 22:02:42 iniza wireplumber[3633]: Failed to set scheduler
settings: Die Operation ist nicht erlaubt
Sep 17 22:02:42 iniza wireplumber[3633]: reserve-device plugin is not
connected to D-Bus, disabling device reservation
Sep 17 22:02:42 iniza wireplumber[3633]: SPA handle
'api.libcamera.enum.manager' could not be loaded; is it installed?
Sep 17 22:02:42 iniza wireplumber[3633]: PipeWire's libcamera SPA
missing or broken. libcamera not supported.

Just wanna let you know.

Regards,
-Sedat-

Sedat Dilek

unread,
Sep 17, 2022, 4:30:03 PM9/17/22
to
I am awfully sorry - Webcam works!

user$ LANG=C wpctl status | grep -i webcam
│ 32. WebCam SC-13HDL11431N [v4l2]
│ 38. WebCam SC-13HDL11431N [v4l2]
│ * 40. WebCam SC-13HDL11431N (V4L2)

user$ LANG=C wpctl inspect 40
id 40, type PipeWire:Interface:Node
api.v4l2.cap.bus_info = "usb-0000:00:1a.0-1.4"
api.v4l2.cap.capabilities = "84a00001"
api.v4l2.cap.card = "WebCam SC-13HDL11431N: WebCam S"
api.v4l2.cap.device-caps = "04200001"
api.v4l2.cap.driver = "uvcvideo"
api.v4l2.cap.version = "5.19.7"
api.v4l2.path = "/dev/video0"
* client.id = "31"
clock.quantum-limit = "8192"
device.api = "v4l2"
* device.id = "38"
device.product.id = "0x101"
device.vendor.id = "0x223"
* factory.id = "10"
factory.name = "api.v4l2.source"
* media.class = "Video/Source"
* media.role = "Camera"
* node.description = "WebCam SC-13HDL11431N (V4L2)"
node.driver = "true"
* node.name = "v4l2_input.pci-0000_00_1a.0-usb-0_1.4_1.0"
* node.nick = "WebCam SC-13HDL11431N"
node.pause-on-idle = "false"
* object.path = "v4l2:/dev/video0"
* object.serial = "110"
* priority.session = "1000"

user$ cvlc v4l2:///dev/video0
VLC media player 3.0.17.4 Vetinari (revision 3.0.13-8-g41878ff4f2)
[000055c2fd415150] dummy interface: using the dummy interface module...
[00007f25ec004fd0] gl gl: Initialized libplacebo v4.192.1 (API v192)
[00007f25fc03d460] xcb_window window error: X server failure
...

I needed to turn on the lights in my living-room.

/me ashamed.

-Sedat-

Sedat Dilek

unread,
Sep 17, 2022, 4:50:03 PM9/17/22
to
I removed this part from my custom /etc/pulse/default.pa file:

### Automatically move streams to the default sink if the sink they are
### connected to dies, similar for sources
load-module module-rescue-streams

Now, I have a microphone again!

-sed@-

Paul Wise

unread,
Sep 28, 2022, 11:40:03 PM9/28/22
to
On Fri, 16 Sep 2022 14:36:19 +0000 Dylan Aïssi wrote:

> [ Sebastien Bacher ]
> * Let pipewire-pulse conflicts on pulseaudio
> (Closes: #1013276, LP: #1975823)

This has made it difficult to switch back and forth between pulseaudio
and pipewire-pulse while evaluating pipewire. Before you could install
both and switch easily by masking the systemd user services, but now
you have to uninstall/reinstall instead, which requires root.

--
bye,
pabs

https://wiki.debian.org/PaulWise
signature.asc

Sebastien Bacher

unread,
Oct 10, 2022, 8:10:04 AM10/10/22
to
reopen 1013276
thanks;

Reopening, I think the decision to revert is unfortunate. Nothing is
going to remove pulseaudio on upgrade as pipewire-pulse gets pulled in
as the new default; and the pulseaudio package provides an alsa
configuration which creates issues for pipewire.

You are basically making the new default sound service be misconfigured
for most users for the benefit of a few who want to be able to switch by
masking the service instead of removing pulseaudio...

Could we reconsider?

Cheers,
Sebastien

Lukas Wiest

unread,
Oct 21, 2022, 2:10:03 PM10/21/22
to
Hey, I'm not quite sure if everyone reading only here, recognized all
needed steps for a correct behavior.

In message #17 it was said to remove the conflicting pulseaudio configs
from the Alsa folder. But that's only half of the solution.

Ubuntu 22.10 now comes with pipewire audio by default, without any
/etc/alsa folder present. This works fine in a virtual machine, but not
on my actual hardware with multiple sinks. For this it still needed the
pipewire configurations being in place and pipewire-alsa installed.
The configurations were provided by installing the
pipewire-audio-client-libraries package in Ubuntu's case, however the
package itself isn't required to stay installed.

The requirement on my actual hardware for Java (Alsa) applications to
work properly, are the pipewire-alsa package AND the two configurations
in /etc/alsa/conf.d

For the now freshly released Ubuntu 22.10 this means on a clean install
the user is might not be able to use Alsa applications properly, without
manually fixing this. What the state on the Debian side is, I have no
idea without doing a test install.

Greetings, Lukas
--
answer me encrypted using OpenPGP 😄
OpenPGP Fingerprint: E3DC 58EA D28D 18B6 82D0 C48F 45D5 1A16 591C 7F51
https://keys.openpgp.org/vks/v1/by-fingerprint/E3DC58EAD28D18B682D0C48F45D51A16591C7F51
OpenPGP_signature

Dylan Aïssi

unread,
Oct 28, 2022, 12:00:03 PM10/28/22
to
Hi Sebastien,
The initial bug report on Launchpad [1] is confusing and is mixing several
issues as I just explained. I do not see a conflict between pulseaudio and
pipewire in [1]. The only part we can improve is to install pipewire-alsa conf
files in the right location to enable it by default (it was already
in my todo list [2]).

I propose to close #1013276 and to continue the discussion of an eventual
conflict between pulseaudio and pipewire in #1020903 to avoid noise with
unrelated issues.

Best,
Dylan

[1] https://bugs.launchpad.net/bugs/1975823
[2] https://salsa.debian.org/utopia-team/pipewire/-/blob/debian/master/debian/pipewire-alsa.TODO

Sebastien Bacher

unread,
Oct 31, 2022, 5:00:04 PM10/31/22
to
Thanks Dylan. I think the bug references are inverted but the fix pushed
to the vcs to actually provide the alsa configuration should resolved
the issue!

Cheers,
Sebastien
0 new messages