pipewire-pulse native-protocol-tcp falls behind multiple seconds from client
Version, Distribution, Desktop Environment:
- 0.3.38 Arch Linux aarch64 on an RPi 4 acting as a server
- 0.3.38 Arch Linux x86_64 on my laptop acting as a client
Description of Problem:
Ethernet or wifi but most frequently on the latter, i get stuttering and the audio eventually falls multiple seconds behind any video playing.
Steps to Reproduce:
- pipewire-pulse server with config:
context.spa-libs = {
audio.convert.* = audioconvert/libspa-audioconvert
support.* = support/libspa-support
}
context.modules = [
{ name = libpipewire-module-rtkit
args = {
nice.level = -19
rt.prio = 66
#rt.time.soft = 2000000
#rt.time.hard = 2000000
}
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 = {
server.address = [
"unix:native"
]
pulse.quantum = 2048/48000 # 5ms
vm.overrides = {
pulse.min.quantum = 1024/48000 # 22ms
}
}
}
]
context.exec = [
{ path = "/usr/bin/pactl" args = "load-module module-native-protocol-tcp" }
{ path = "/usr/bin/pactl" args = "load-module module-zeroconf-publish" }
}
- pipewire-pulse client with the following configuration:
context.spa-libs = {
audio.convert.* = audioconvert/libspa-audioconvert
support.* = support/libspa-support
}
context.modules = [
{ name = libpipewire-module-rtkit
args = {
nice.level = -18
rt.prio = 88
}
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 = {
server.address = [
"unix:native"
]
}
}
]
context.exec = [
{ path = "/usr/bin/pactl" args = "load-module module-zeroconf-discover" }
]
stream.properties = {
node.latency = 2048/48000
}
Actual Results:
Logs aren't outputting much as the audio chops and falls behind. All i do see in the logs are the likely unrelated
pipewire-pulse[9475]: mod.rtkit: RTKit error: org.freedesktop.DBus.Error.AccessDenied
pipewire-pulse[9475]: mod.rtkit: could not make thread realtime: Permission denied
and
mod.pulse-tunnel: 0x55ff224e87f0: underrun write:951336960 filled:-2048
Expected Results:
Smooth playback/error corrected time if it indeed is some network issue
Not sure what the stream.properties.node.latency
on the client does or if it can improve any results, as it's just something i changed to troubleshoot.