[Pkg-utopia-maintainers] Bug#1036912: pipewire-pulse: same bug but sddm in KDE Plasma
C.Ch.
cric.chaparro at outlook.com
Thu Jun 15 20:08:33 BST 2023
Package: pipewire-pulse
Version: 0.3.65-3
Followup-For: Bug #1036912
Dear Maintainer,
I can confirm this bug too.
The thing is.. I'm using KDE Plasma and sddm to log in not gdm.
I can confirm pipewire-pulse works as expected if you restart it with:
systemctl --user restart pipewire-pulse.service
As a workaround I had been using:
pactl load-module module-native-protocol-tcp
Which also solves the problem until next reboot.
mpd work fines using any of the workarounds.
In my case using lsof -n -i :4713 in another TTY before login produces:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
pipewire- 1523 sddm 15u IPv4 20934 0t0 TCP *:4713 (LISTEN)
pipewire- 1523 sddm 16u IPv6 20935 0t0 TCP *:4713 (LISTEN)
systemctl --user status pipewire-pulse.service
Produces:
pipewire-pulse.service - PipeWire PulseAudio
Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; enabled; preset: enabled)
Active: active (running) since Wed 2023-06-14 11:28:23 -05; 18min ago
TriggeredBy: ● pipewire-pulse.socket
Main PID: 2080 (pipewire-pulse)
Tasks: 2 (limit: 76966)
Memory: 17.9M
CPU: 156ms
CGroup: /user.slice/user-1000.slice/user at 1000.service/session.slice/pipewire-pulse.service
└─2080 /usr/bin/pipewire-pulse
Jun 14 11:28:23 harpia systemd[2061]: Started pipewire-pulse.service - PipeWire PulseAudio.
Jun 14 11:28:23 harpia pipewire-pulse[2080]: mod.rt: Can't find org.freedesktop.portal.Desktop. Is xdg-desktop-portal running?
Jun 14 11:28:23 harpia pipewire-pulse[2080]: mod.rt: found session bus but no portal
Jun 14 11:28:23 harpia pipewire-pulse[2080]: mod.protocol-pulse: server 0x55f739398460: bind() failed: Address already in use
Jun 14 11:28:23 harpia pipewire-pulse[2080]: mod.protocol-pulse: pulse-server 0x55f739397bb0: failed to start server on 'tcp:0.0.0.0:4713': Address already in use
Jun 14 11:28:23 harpia pipewire-pulse[2080]: mod.protocol-pulse: server 0x55f7393988b0: bind() failed: Address already in use
Jun 14 11:28:23 harpia pipewire-pulse[2080]: mod.protocol-pulse: pulse-server 0x55f739397bb0: failed to start server on 'tcp:[::]:4713': Address already in use
~
Here is my /usr/share/pipewire/pipewire-pulse.conf just in case (although the file seems not to be involved in the bug).
# PulseAudio config file for PipeWire version "0.3.65" #
#
# Copy and edit this file in /etc/pipewire for system-wide changes
# or in ~/.config/pipewire for local changes.
#
# It is also possible to place a file with an updated section in
# /etc/pipewire/pipewire-pulse.conf.d/ for system-wide changes or in
# ~/.config/pipewire/pipewire-pulse.conf.d/ for local changes.
#
context.properties = {
## Configure properties in the system.
#mem.warn-mlock = false
#mem.allow-mlock = true
#mem.mlock-all = false
#log.level = 2
#default.clock.quantum-limit = 8192
}
context.spa-libs = {
audio.convert.* = audioconvert/libspa-audioconvert
support.* = support/libspa-support
}
context.modules = [
{ name = libpipewire-module-rt
args = {
nice.level = -11
#rt.prio = 88
#rt.time.soft = -1
#rt.time.hard = -1
}
flags = [ ifexists nofail ]
}
{ name = libpipewire-module-protocol-native }
{ name = libpipewire-module-client-node }
{ name = libpipewire-module-adapter }
{ name = libpipewire-module-metadata }
{ name = libpipewire-module-protocol-pulse
args = {
# contents of pulse.properties can also be placed here
# to have config per server.
}
}
]
# Extra scripts can be started here. Setup in default.pa can be moved in
# a script or in pulse.cmd below
context.exec = [
#{ path = "pactl" args = "load-module module-always-sink" }
#{ path = "pactl" args = "upload-sample my-sample.wav my-sample" }
#{ path = "/usr/bin/sh" args = "~/.config/pipewire/default.pw" }
]
# Extra commands can be executed here.
# load-module : loads a module with args and flags
# args = "<module-name> <module-args>"
# flags = [ "no-fail" ]
pulse.cmd = [
{ cmd = "load-module" args = "module-always-sink" flags = [ ] }
#{ cmd = "load-module" args = "module-switch-on-connect" }
#{ cmd = "load-module" args = "module-gsettings" flags = [ "nofail" ] }
]
stream.properties = {
#node.latency = 1024/48000
#node.autoconnect = true
#resample.quality = 4
#channelmix.normalize = false
#channelmix.mix-lfe = true
#channelmix.upmix = true
#channelmix.upmix-method = psd # none, simple
#channelmix.lfe-cutoff = 150
#channelmix.fc-cutoff = 12000
#channelmix.rear-delay = 12.0
#channelmix.stereo-widen = 0.0
#channelmix.hilbert-taps = 0
#dither.noise = 0
}
pulse.properties = {
# the addresses this server listens on
server.address = [
"unix:native"
#"unix:/tmp/something" # absolute paths may be used
#"tcp:4713" # IPv4 and IPv6 on all addresses
#"tcp:[::]:9999" # IPv6 on all addresses
# IPv4 on a single address
#
{ address = "tcp:4713" # address
# max-clients = 64 # maximum number of clients
# listen-backlog = 32 # backlog in the server listen queue
client.access = "allowed" # permissions for clients
}
]
#pulse.min.req = 256/48000 # 5ms
#pulse.default.req = 960/48000 # 20 milliseconds
#pulse.min.frag = 256/48000 # 5ms
#pulse.default.frag = 96000/48000 # 2 seconds
#pulse.default.tlength = 96000/48000 # 2 seconds
#pulse.min.quantum = 256/48000 # 5ms
#pulse.idle.timeout = 0 # don't pause after underruns
#pulse.default.format = F32
#pulse.default.position = [ FL FR ]
# These overrides are only applied when running in a vm.
vm.overrides = {
pulse.min.quantum = 1024/48000 # 22ms
}
}
# client/stream specific properties
pulse.rules = [
{
matches = [
{
# all keys must match the value. ~ starts regex.
#client.name = "Firefox"
#application.process.binary = "teams"
#application.name = "~speech-dispatcher.*"
}
]
actions = {
update-props = {
#node.latency = 512/48000
}
# Possible quirks:"
# force-s16-info forces sink and source info as S16 format
# remove-capture-dont-move removes the capture DONT_MOVE flag
#quirks = [ ]
}
}
{
# skype does not want to use devices that don't have an S16 sample format.
matches = [
{ application.process.binary = "teams" }
{ application.process.binary = "teams-insiders" }
{ application.process.binary = "skypeforlinux" }
]
actions = { quirks = [ force-s16-info ] }
}
{
# firefox marks the capture streams as don't move and then they
# can't be moved with pavucontrol or other tools.
matches = [ { application.process.binary = "firefox" } ]
actions = { quirks = [ remove-capture-dont-move ] }
}
{
# speech dispatcher asks for too small latency and then underruns.
matches = [ { application.name = "~speech-dispatcher.*" } ]
actions = {
update-props = {
pulse.min.req = 512/48000 # 10.6ms
pulse.min.quantum = 512/48000 # 10.6ms
pulse.idle.timeout = 5 # pause after 5 seconds of underrun
}
}
}
]
-- System Information:
Debian Release: 12.0
APT prefers stable-security
APT policy: (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 6.1.0-9-amd64 (SMP w/16 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages pipewire-pulse depends on:
ii init-system-helpers 1.65.2
ii pipewire 0.3.65-3
Versions of packages pipewire-pulse recommends:
ii wireplumber 0.4.13-1
Versions of packages pipewire-pulse suggests:
ii libspa-0.2-bluetooth 0.3.65-3
ii pulseaudio-utils 16.1+dfsg1-2+b1
-- no debconf information
More information about the Pkg-utopia-maintainers
mailing list