You are not logged in.
Hi I have pipewire with pipewire-pulse and pipewire-jack running, usnig i3 + logind as login manger, It was working well (apart from having way too many virtual audio interfaces) but after a full update pipewire-pulse stopped working, i tried a lot of workarounds and solutions, uninstall and reinstall.
Here is the strace for pactl info: https://pastebin.com/eYaHgf1v
I also used this guide from a couple post before: https://bbs.archlinux.org/viewtopic.php?id=280820
because that;s exactly the error I had,
I also stumbled upon this gitlab discussion but there was no solution there: https://gitlab.freedesktop.org/pipewire … ssues/2056
right now the only modification in the config files apart from vanilla pipewire is from that previous thread to enable multiuser.
Not sure what I can do from hear on out:
Here is my pipewire-pulse.conf
# PulseAudio config file for PipeWire version "0.3.59" #
#
# 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 modules can be loaded here. Setup in default.pa can be moved here
context.exec = [
{ path = "pactl" args = "load-module module-always-sink" }
{ path = "/bin/chgrp" args = "sharepulse /tmp/pulse-socket" }
{ path = "/bin/chmod" args = "660 /tmp/pulse-socket" }
#{ path = "pactl" args = "load-module module-switch-on-connect" }
#{ path = "/usr/bin/sh" args = "~/.config/pipewire/default.pw" }
]
stream.properties = {
#node.latency = 1024/48000
#node.autoconnect = true
#resample.quality = 4
#channelmix.normalize = false
#channelmix.mix-lfe = false
#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/pulse-socket" # absolute paths may be used
#"tcp:4713" # IPv4 and IPv6 on all addresses
#"tcp:[::]:9999" # IPv6 on all addresses
#"tcp:127.0.0.1:8888" # 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 = "restricted" # 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.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 = 1024/48000 # 21ms
pulse.min.quantum = 1024/48000 # 21ms
}
}
}
]
Last edited by theprimeARCH (2022-11-09 06:01:02)
Offline
Chances are you just need to restart your entire pipewire stack for the openssl 3 rebuild, i.e.
systemctl --user restart wireplumber pipewire pipewire-pulse
#If that didn't work post
systemctl --user status wireplumber pipewire pipewire-pulse
sudo fuser -v /dev/snd/*
FWIW according to
14332 connect(8, {sa_family=AF_UNIX, sun_path="/tmp/pulse-socket"}, 110) = -1 ENOENT (No such file or directory)
your socket doesn't exist, did you check that? What's your reasoning for wanting "multiuser"?
Last edited by V1del (2022-11-06 19:28:43)
Offline
I just tried that because the error message from systemd I got matched exactly with this: https://bbs.archlinux.org/viewtopic.php?id=280820. That's the only reason.
I tried restarting the entire stack but it still didn't work.
systemd status output:
● wireplumber.service - Multimedia Service Session Manager
Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; preset: enabled)
Active: active (running) since Mon 2022-11-07 01:27:39 IST; 36s ago
Main PID: 18539 (wireplumber)
Tasks: 4 (limit: 19041)
Memory: 11.2M
CPU: 193ms
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/wireplumber.service
└─18539 /usr/bin/wireplumber
Nov 07 01:27:39 devbox systemd[4977]: Started Multimedia Service Session Manager.
Nov 07 01:27:49 devbox wireplumber[18539]: Failed to set scheduler settings: Operation not permitted
Nov 07 01:27:49 devbox wireplumber[18539]: SPA handle 'api.libcamera.enum.manager' could not be loaded; is it installed?
Nov 07 01:27:49 devbox wireplumber[18539]: PipeWire's libcamera SPA missing or broken. libcamera not supported.
● pipewire.service - PipeWire Multimedia Service
Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; preset: enabled)
Active: active (running) since Mon 2022-11-07 01:27:39 IST; 36s ago
TriggeredBy: ● pipewire.socket
Main PID: 18537 (pipewire)
Tasks: 2 (limit: 19041)
Memory: 8.5M
CPU: 33ms
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
└─18537 /usr/bin/pipewire
Nov 07 01:27:39 devbox systemd[4977]: Started PipeWire Multimedia Service.
× pipewire-pulse.service - PipeWire PulseAudio
Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Mon 2022-11-07 01:27:51 IST; 24s ago
Duration: 19ms
TriggeredBy: × pipewire-pulse.socket
Process: 18604 ExecStart=/usr/bin/pipewire-pulse (code=exited, status=245)
Main PID: 18604 (code=exited, status=245)
CPU: 9ms
Nov 07 01:27:51 devbox systemd[4977]: pipewire-pulse.service: Scheduled restart job, restart counter is at 6.
Nov 07 01:27:51 devbox systemd[4977]: Stopped PipeWire PulseAudio.
Nov 07 01:27:51 devbox systemd[4977]: pipewire-pulse.service: Start request repeated too quickly.
Nov 07 01:27:51 devbox systemd[4977]: pipewire-pulse.service: Failed with result 'exit-code'.
Nov 07 01:27:51 devbox systemd[4977]: Failed to start PipeWire PulseAudio.
ouput of /def/snd/
Cannot stat file /proc/5347/fd/10: Permission denied
Cannot stat file /proc/5347/fd/1023: Permission denied
Cannot stat file /proc/5366/fd/1023: Permission denied
Cannot stat file /proc/5408/fd/4: Permission denied
Cannot stat file /proc/5408/fd/7: Permission denied
Cannot stat file /proc/5408/fd/8: Permission denied
Cannot stat file /proc/5408/fd/9: Permission denied
Cannot stat file /proc/5408/fd/10: Permission denied
Cannot stat file /proc/5408/fd/11: Permission denied
Cannot stat file /proc/5408/fd/12: Permission denied
Cannot stat file /proc/5408/fd/13: Permission denied
Cannot stat file /proc/5408/fd/14: Permission denied
Cannot stat file /proc/5408/fd/15: Permission denied
Cannot stat file /proc/5408/fd/16: Permission denied
Cannot stat file /proc/5408/fd/17: Permission denied
Cannot stat file /proc/5408/fd/18: Permission denied
Cannot stat file /proc/5408/fd/19: Permission denied
Cannot stat file /proc/5408/fd/20: Permission denied
Cannot stat file /proc/5408/fd/21: Permission denied
Cannot stat file /proc/5408/fd/22: Permission denied
Cannot stat file /proc/5408/fd/23: Permission denied
Cannot stat file /proc/5408/fd/24: Permission denied
Cannot stat file /proc/5408/fd/25: Permission denied
Cannot stat file /proc/5408/fd/26: Permission denied
Cannot stat file /proc/5408/fd/27: Permission denied
Cannot stat file /proc/5408/fd/28: Permission denied
Cannot stat file /proc/5408/fd/29: Permission denied
Cannot stat file /proc/5408/fd/30: Permission denied
Cannot stat file /proc/5408/fd/31: Permission denied
Cannot stat file /proc/5408/fd/32: Permission denied
Cannot stat file /proc/5408/fd/33: Permission denied
Cannot stat file /proc/5408/fd/34: Permission denied
Cannot stat file /proc/5408/fd/35: Permission denied
Cannot stat file /proc/5408/fd/36: Permission denied
Cannot stat file /proc/5408/fd/37: Permission denied
Cannot stat file /proc/5408/fd/38: Permission denied
Cannot stat file /proc/5408/fd/39: Permission denied
Cannot stat file /proc/5408/fd/40: Permission denied
Cannot stat file /proc/5408/fd/41: Permission denied
Cannot stat file /proc/5408/fd/42: Permission denied
Cannot stat file /proc/5408/fd/43: Permission denied
Cannot stat file /proc/5408/fd/44: Permission denied
Cannot stat file /proc/5408/fd/45: Permission denied
Cannot stat file /proc/5408/fd/46: Permission denied
Cannot stat file /proc/5408/fd/47: Permission denied
Cannot stat file /proc/5408/fd/48: Permission denied
Cannot stat file /proc/5408/fd/49: Permission denied
Cannot stat file /proc/5408/fd/50: Permission denied
Cannot stat file /proc/5408/fd/51: Permission denied
Cannot stat file /proc/5408/fd/52: Permission denied
Cannot stat file /proc/5408/fd/53: Permission denied
Cannot stat file /proc/5408/fd/54: Permission denied
Cannot stat file /proc/5408/fd/55: Permission denied
Cannot stat file /proc/5408/fd/56: Permission denied
Cannot stat file /proc/5408/fd/57: Permission denied
Cannot stat file /proc/5408/fd/58: Permission denied
Cannot stat file /proc/5408/fd/59: Permission denied
Cannot stat file /proc/5408/fd/60: Permission denied
Cannot stat file /proc/5408/fd/61: Permission denied
Cannot stat file /proc/5408/fd/62: Permission denied
Cannot stat file /proc/5408/fd/63: Permission denied
Cannot stat file /proc/5408/fd/64: Permission denied
Cannot stat file /proc/5408/fd/65: Permission denied
Cannot stat file /proc/5408/fd/66: Permission denied
Cannot stat file /proc/5408/fd/67: Permission denied
Cannot stat file /proc/5408/fd/68: Permission denied
Cannot stat file /proc/5408/fd/69: Permission denied
Cannot stat file /proc/5408/fd/70: Permission denied
Cannot stat file /proc/5408/fd/71: Permission denied
Cannot stat file /proc/5408/fd/72: Permission denied
Cannot stat file /proc/5408/fd/73: Permission denied
Cannot stat file /proc/5408/fd/74: Permission denied
Cannot stat file /proc/5408/fd/75: Permission denied
Cannot stat file /proc/5408/fd/1023: Permission denied
Cannot stat file /proc/6817/fd/4: Permission denied
Cannot stat file /proc/6817/fd/7: Permission denied
Cannot stat file /proc/6817/fd/8: Permission denied
Cannot stat file /proc/6817/fd/9: Permission denied
Cannot stat file /proc/6817/fd/10: Permission denied
Cannot stat file /proc/6817/fd/11: Permission denied
Cannot stat file /proc/6817/fd/12: Permission denied
Cannot stat file /proc/6817/fd/13: Permission denied
Cannot stat file /proc/6817/fd/14: Permission denied
Cannot stat file /proc/6817/fd/15: Permission denied
Cannot stat file /proc/6817/fd/16: Permission denied
Cannot stat file /proc/6817/fd/17: Permission denied
Cannot stat file /proc/6817/fd/18: Permission denied
Cannot stat file /proc/6817/fd/19: Permission denied
Cannot stat file /proc/6817/fd/20: Permission denied
Cannot stat file /proc/6817/fd/21: Permission denied
Cannot stat file /proc/6817/fd/22: Permission denied
Cannot stat file /proc/6817/fd/23: Permission denied
Cannot stat file /proc/6817/fd/24: Permission denied
Cannot stat file /proc/6817/fd/25: Permission denied
Cannot stat file /proc/6817/fd/26: Permission denied
Cannot stat file /proc/6817/fd/27: Permission denied
Cannot stat file /proc/6817/fd/28: Permission denied
Cannot stat file /proc/6817/fd/29: Permission denied
Cannot stat file /proc/6817/fd/30: Permission denied
Cannot stat file /proc/6817/fd/31: Permission denied
Cannot stat file /proc/6817/fd/32: Permission denied
Cannot stat file /proc/6817/fd/33: Permission denied
Cannot stat file /proc/6817/fd/34: Permission denied
Cannot stat file /proc/6817/fd/35: Permission denied
Cannot stat file /proc/6817/fd/36: Permission denied
Cannot stat file /proc/6817/fd/37: Permission denied
Cannot stat file /proc/6817/fd/38: Permission denied
Cannot stat file /proc/6817/fd/39: Permission denied
Cannot stat file /proc/6817/fd/40: Permission denied
Cannot stat file /proc/6817/fd/41: Permission denied
Cannot stat file /proc/6817/fd/42: Permission denied
Cannot stat file /proc/6817/fd/43: Permission denied
Cannot stat file /proc/6817/fd/44: Permission denied
Cannot stat file /proc/6817/fd/45: Permission denied
Cannot stat file /proc/6817/fd/46: Permission denied
Cannot stat file /proc/6817/fd/47: Permission denied
Cannot stat file /proc/6817/fd/48: Permission denied
Cannot stat file /proc/6817/fd/49: Permission denied
Cannot stat file /proc/6817/fd/50: Permission denied
Cannot stat file /proc/6817/fd/51: Permission denied
Cannot stat file /proc/6817/fd/52: Permission denied
Cannot stat file /proc/6817/fd/53: Permission denied
Cannot stat file /proc/6817/fd/54: Permission denied
Cannot stat file /proc/6817/fd/55: Permission denied
Cannot stat file /proc/6817/fd/56: Permission denied
Cannot stat file /proc/6817/fd/57: Permission denied
Cannot stat file /proc/6817/fd/58: Permission denied
Cannot stat file /proc/6817/fd/59: Permission denied
Cannot stat file /proc/6817/fd/60: Permission denied
Cannot stat file /proc/6817/fd/61: Permission denied
Cannot stat file /proc/6817/fd/62: Permission denied
Cannot stat file /proc/6817/fd/63: Permission denied
Cannot stat file /proc/6817/fd/64: Permission denied
Cannot stat file /proc/6817/fd/65: Permission denied
Cannot stat file /proc/6817/fd/66: Permission denied
Cannot stat file /proc/6817/fd/67: Permission denied
Cannot stat file /proc/6817/fd/68: Permission denied
Cannot stat file /proc/6817/fd/69: Permission denied
Cannot stat file /proc/6817/fd/70: Permission denied
Cannot stat file /proc/6817/fd/71: Permission denied
Cannot stat file /proc/6817/fd/72: Permission denied
Cannot stat file /proc/6817/fd/73: Permission denied
Cannot stat file /proc/6817/fd/74: Permission denied
Cannot stat file /proc/6817/fd/75: Permission denied
Cannot stat file /proc/6817/fd/1023: Permission denied
USER PID ACCESS COMMAND
/dev/snd/controlC0: adu_test 18539 F.... wireplumber
/dev/snd/controlC1: aud_test 18539 F.... wireplumber
/dev/snd/seq: aud_test 18537 F.... pipewire
Offline
Remove/replace the config file with the defaults then, if you do not intend to make a multiuser setup then don't copy random snippets that set-up things in a way that aren't aligned with your system.
Offline
Reverted to defaults but still not working. I was not blindly coping the scripts, I knew what the commands were doing but yeah was not directly related to my issue.
After reverting I have the Same behaviour and strace gives the same permission denied messages. Let me try restarting once and see if it fixes the issue.
Offline
Nope didn't work. There was an old pulse config under /etc/ I moved that somewhere else and restarted again still not starting.
Offline
Okay if I try to launch pipewire-pulse directly I get this:
ipewire-pulse -vvv
[E][00659.602032] mod.protocol-native | [module-protocol-: 728 lock_socket()] server 0x5624e97d62c0: unable to lock lockfile '/run/user/1000/pipewire-0.lock': Resource temporarily unavailable (maybe another daemon is running)
[E][00659.602220] pw.conf | [ conf.c: 594 load_module()] 0x5624e9798720: could not load mandatory module "libpipewire-module-protocol-native": Resource temporarily unavailable
[E][00659.602597] default | [ pipewire.c: 125 main()] failed to create context: Resource temporarily unavailable
[D] pw.context [pipewire.c:209 unref_handle()] clear handle 'support.log'
[D] pw.context [pipewire.c:209 unref_handle()] clear handle 'support.cpu'
[D] pw.context [pipewire.c:170 unref_plugin()] unloaded plugin:'/usr/lib/spa-0.2/support/libspa-support.so'
[D] pw.context [pipewire.c:209 unref_handle()] clear handle 'support.log'
[D] pw.context [pipewire.c:170 unref_plugin()] unloaded plugin:'/usr/lib/spa-0.2/support/libspa-journal.so'
Offline
did you set up hidepid or so? A lot of this looks like stuff can't properly check what is running and what isn't.
Offline
No didn't set up anything like hidepid.
Offline
Okay if I delete the lock file and restart the services all the services starts normally. However pavucontrol still cannot find the server.
Offline
The default socket setup by pipewre-pulse.socket is set to this unix socket: ListenStream=%t/pulse/native
I am unfamiliar with the %t here, What does this mean?
Offline
Resolves to the runtime dir of the systemd user instance user which will be /run/user/$UID by default, "normally" /run/user/1000 . How exactly are you starting i3? If you use startx did you ensure to follow the note and information from: https://wiki.archlinux.org/title/Xinit#xinitrc regarding the if block you need to have from the template?
Offline
Yes the if block is present in my .xinitrc. Don't know what is happening at this point.
This is where I am at:
Earlier pulse audio service and socket is masked,
pipewire services are enabled.
got all the needed tools and deps.
Still pipewire-pulse does not seem to be able to start on startup due to somehow unable to get access to the pulseaudio-0.lock file.
If I manually remove the lockfile and restart all services get restarted no problem but pactl still cant connect to the server.
I am added to the audio group.
Offline
Okaaay I got it working, Just remembered I had a custom pipewire-pulse config in my home config location.
Removed that and now I got pipewire starting up fixed.
Offline
Now I remembered what I was trying to do with the config file, I have WAY WAY too many virtual interfaces that I never use. Lots of loopbacks and monitors which makes visual routing extremely frustrating.
How can I disable all the extra virtual devices? I use pipewire-jack as well.
Offline
What tool are you using for routing? Most properly setup ones should have options to hide virtual ones. You don't generally want to disable them because there are many use cases that require them in one form or another.
Offline
I am using carla. Also now the ui aint too cluttered. The issue was I was using the Pro-audio profile earlier (selected from within pavuctl) that was unnecessarily creating a lot of interfaces and really not giving any lower latency or other benefits that I could tell. Now I am using vanilla pulse settings, and carla is still able to see jack clients and so I am able to route however I want to.
Everything's working now. Also watched a deep dive into pipewire by collabora, which I think helped with my understanding of pipewire as well. All I want now is xdg-portals so that I can route video too, I seem to have installed all the needed packages xdg-portal and an implementation but pipewire still says that it cannot find xdg-portal.
I have setup the general xdg-session-desktop if that helps. Don't know If I need to setup anything else.
Offline
Yes you shouldn't be using the pro audio profile if you don't have pro audio expectations/needs, a lot of useful logic and handling gets disabled by doing that for normal purposes. If your issue is [SOLVED] please mark it as such by editing the title in the first post.
Offline
Yeah it's done. Thanks a lot Videl. How is Gohan doing these days?
Offline