pipewire alsa missing configurations on multi output systems
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
pipewire (Debian) |
Fix Released
|
Unknown
|
|||
pipewire (Ubuntu) |
Fix Released
|
Low
|
Unassigned |
Bug Description
I have this bug also if I install pipewire manaully on focal and jammy.
I use a Java Application using the javax.sound package to get a output to the AudioSystem.
I have an own Java library using the same and I poked around a bit:
It uses Alsa as Output. The line object Java provides has the possibility to ask for the available bytes in the buffer. Normally with pulseaudio you can see the buffer getting filled and then, as the audio get's played back, recovering by the played back bytes amount.
With pipewire-pulse on the other hand it just fills the buffer and reporting no more available bytes. But it plays back the bytes successfully written to the buffer. Meaning its unable to write more, as the available buffer size never recovers, even though the already written ones have been played just fine.
I have checked the behavior also on Debain-testing, Manjaro and Fedora. Fedora is the only distro without this problem.
Fedora has the package pipewire-alsa in its repositories and installed, which is not available on the other distros. If I have understood it correctly, the alsa functionality should be included into the default pipewire-pulse now, but for some reason fedora decided to keep the extra package?
So I'd really like to see pipewire-pulse being the default in the future, but this has to be fixed somehow.
For reference, here's an issue on the pipewire gitlab I've filed already about this:
https:/
ProblemType: Bug
DistroRelease: Ubuntu 22.10
Package: pipewire-pulse 0.3.48-1ubuntu1
ProcVersionSign
Uname: Linux 5.15.0-27-generic x86_64
ApportVersion: 2.20.11-0ubuntu82
Architecture: amd64
CasperMD5CheckR
CurrentDesktop: ubuntu:GNOME
Date: Thu May 26 14:58:40 2022
InstallationDate: Installed on 2022-05-26 (0 days ago)
InstallationMedia: Ubuntu 22.10 "Kinetic Kudu" - Alpha amd64 (20220525)
ProcEnviron:
TERM=xterm-
PATH=(custom, no user)
XDG_RUNTIME_
LANG=de_DE.UTF-8
SHELL=/bin/bash
SourcePackage: pipewire
UpgradeStatus: No upgrade log present (probably fresh install)
tags: | added: dt-393 |
Changed in pipewire (Debian): | |
status: | Unknown → New |
Changed in pipewire (Debian): | |
status: | New → Fix Committed |
Changed in pipewire (Debian): | |
status: | Fix Committed → Fix Released |
tags: | added: fixed-in-0.3.58-1 fixed-upstream |
tags: | added: rls-kk-incoming |
Changed in pipewire (Debian): | |
status: | Fix Released → New |
Changed in pipewire (Ubuntu): | |
status: | Fix Released → Triaged |
summary: |
- pipewire alsa blocks after initial buffer size of data got written + pipewire alsa missing configurations on multi output systems |
Changed in pipewire (Debian): | |
status: | New → Fix Committed |
Changed in pipewire (Debian): | |
status: | Fix Committed → Fix Released |
Update (see the pipewire ticket linked in the OP):
Issue can be fixed by cleaning out interfering configuration from /etc/alsa/conf.d ensuring that Alsa client directly use Pipewire instead of Pulse.