You are not logged in.

#1 2024-10-11 07:13:56

salvation4975
Member
Registered: 2024-10-11
Posts: 3

Pavucontrol can't connect to pipewire-pulse

pavucontrol stuck at "Establishing connection to PulseAudio. Please wait..."
Although the sound plays fine both through the built-in speakers and bluetooth headphones.

$ pactl info
Connection failure: Connection refused
pa_context_connect() failed: Connection refused
$ systemctl --user status wireplumber pipewire pipewire-pulse
● wireplumber.service - Multimedia Service Session Manager
     Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; preset: enabled)
     Active: active (running) since Fri 2024-10-11 08:32:53 CEST; 1min 48s ago
 Invocation: 0d5780728f2c413284c01876ba89d897
   Main PID: 823 (wireplumber)
      Tasks: 6 (limit: 18702)
     Memory: 17.2M (peak: 17.6M)
        CPU: 129ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/wireplumber.service
             └─823 /usr/bin/wireplumber

Oct 11 08:32:53 dell systemd[811]: Started Multimedia Service Session Manager.
Oct 11 08:32:53 dell wireplumber[823]: wp-internal-comp-loader: Loading profile 'main'
Oct 11 08:32:53 dell wireplumber[823]: wp-device: SPA handle 'api.libcamera.enum.manager' could not be loaded; is it installed?
Oct 11 08:32:53 dell wireplumber[823]: s-monitors-libcamera: PipeWire's libcamera SPA plugin is missing or broken. Some camera types may not be supported.
Oct 11 08:32:54 dell wireplumber[823]: default: Failed to get percentage from UPower: org.freedesktop.DBus.Error.NameHasNoOwner

● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; preset: enabled)
     Active: active (running) since Fri 2024-10-11 08:32:53 CEST; 1min 48s ago
 Invocation: 5574d80e5b5246bba4294ceef061771a
TriggeredBy: ● pipewire.socket
   Main PID: 822 (pipewire)
      Tasks: 3 (limit: 18702)
     Memory: 7.5M (peak: 7.6M)
        CPU: 42ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
             └─822 /usr/bin/pipewire

Oct 11 08:32:53 dell systemd[811]: Started PipeWire Multimedia Service.

○ pipewire-pulse.service - PipeWire PulseAudio
     Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; disabled; preset: enabled)
     Active: inactive (dead)
TriggeredBy: ○ pipewire-pulse.socket

If I enable services manually, pavucontrol still doesn't work:

$ systemctl --user enable --now pipewire wireplumber
$ pactl info
Connection failure: Connection refused
pa_context_connect() failed: Connection refused

Information about audio-related devices:

$ cat /proc/asound/cards
 0 [sofhdadsp      ]: sof-hda-dsp - sof-hda-dsp
                      DellInc.-Inspiron5402--0W3XW5

$ lspci -nnk | grep -A2 Audio
00:1f.3 Multimedia audio controller [0401]: Intel Corporation Tiger Lake-LP Smart Sound Technology Audio Controller [8086:a0c8] (rev 20)
	Subsystem: Dell Device [1028:0a01]
	Kernel driver in use: sof-audio-pci-intel-tgl

$ aplay -l  
**** List of PLAYBACK Hardware Devices ****
card 0: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 3: HDMI1 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 4: HDMI2 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 5: HDMI3 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 31: HDA Analog Deep Buffer (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Processes using the sound devices:

$ sudo fuser -v /dev/snd/*
                      USER        PID ACCESS COMMAND
/dev/snd/controlC0:  user        822 F.... pipewire
                     user        823 F.... wireplumber
/dev/snd/seq:        user        822 F.... pipewire

Symbolic links within the /etc/systemd directory:

$ find /etc/systemd -type l -exec test -f {} \; -print | awk -F'/' '{ printf ("%-40s | %s\n", $(NF-0), $(NF-1)) }' | sort -f
bluetooth.service                        | bluetooth.target.wants
dbus-org.bluez.service                   | system
dbus-org.freedesktop.timesync1.service   | system
dhcpcd.service                           | multi-user.target.wants
display-manager.service                  | system
getty@tty1.service                       | getty.target.wants
iwd.service                              | multi-user.target.wants
p11-kit-server.socket                    | sockets.target.wants
pipewire-pulse.socket                    | sockets.target.wants
pipewire-session-manager.service         | user
pipewire.socket                          | sockets.target.wants
remote-fs.target                         | multi-user.target.wants
snapper-cleanup.timer                    | timers.target.wants
snapper-timeline.timer                   | timers.target.wants
syncthing@user.service                   | multi-user.target.wants
systemd-timesyncd.service                | sysinit.target.wants
systemd-userdbd.socket                   | sockets.target.wants
wireplumber.service                      | pipewire.service.wants
xdg-user-dirs-update.service             | default.target.want

Tried to reinstall some packages, it didn't help:

$ paru -S pipewire-audio pipewire-alsa pipewire-pulse wireplumber pavucontrol

Any insights or suggestions would be greatly appreciated! Thanks in advance!

Offline

#2 2024-10-11 07:27:16

salvation4975
Member
Registered: 2024-10-11
Posts: 3

Re: Pavucontrol can't connect to pipewire-pulse

If i start pipewire-pulse in terminal, it works. Do I just have to manually start it after every boot?

$ pipewire-pulse -v
[I][02910.026374] pw.conf      | [          conf.c:  415 conf_load()] 0x5fb8c0f977e0: loaded config '/usr/share/pipewire/pipewire-pulse.conf' with 9 items
[I][02910.026556] pw.conf      | [          conf.c: 1143 pw_conf_section_for_each()] handle config '/usr/share/pipewire/pipewire-pulse.conf' section 'context.properties'
[I][02910.026579] pw.context   | [       context.c:  395 pw_context_new()] 0x5fb8c0f96170: parsed 0 context.properties items
[I][02910.026642] pw.context   | [       context.c:  276 setup_data_loops()] created data loop 'data-loop.0'
[I][02910.026656] pw.context   | [       context.c:  279 setup_data_loops()] created 1 data-loops
[I][02910.027122] pw.conf      | [          conf.c: 1143 pw_conf_section_for_each()] handle config '/usr/share/pipewire/pipewire-pulse.conf' section 'context.spa-libs'
[I][02910.030039] pw.context   | [       context.c:  488 pw_context_new()] 0x5fb8c0f96170: parsed 2 context.spa-libs items
[I][02910.030090] pw.conf      | [          conf.c: 1143 pw_conf_section_for_each()] handle config '/usr/share/pipewire/pipewire-pulse.conf' section 'context.modules'
[I][02910.030112] pw.module    | [   impl-module.c:  156 pw_context_load_module()] 0x5fb8c0f96170: name:libpipewire-module-rt args:{
            nice.level   = -11
            #rt.prio      = 83
            #rt.time.soft = -1
            #rt.time.hard = -1
            #uclamp.min = 0
            #uclamp.max = 1024
        }
[I][02910.030414] mod.rt       | [     module-rt.c:  572 check_realtime_privileges()] failed to set realtime policy: Operation not permitted
[I][02910.030435] mod.rt       | [     module-rt.c:  537 check_realtime_privileges()] Clamp rtprio 83 to 0
[I][02910.030448] mod.rt       | [     module-rt.c:  545 check_realtime_privileges()] Priority max (0) must be at least 11
[I][02910.030461] mod.rt       | [     module-rt.c:  581 check_realtime_privileges()] can't set rt prio to 83 (try increasing rlimits)
[I][02910.031065] spa.loop     | [          loop.c:  213 loop_create_queue()] 0x5fb8c0fa8b18 created queue 0x5fb8c0fc8f40
[I][02910.031106] pw.conf      | [          conf.c:  611 load_module()] 0x5fb8c0f96170: loaded module libpipewire-module-rt
[I][02910.031127] pw.module    | [   impl-module.c:  156 pw_context_load_module()] 0x5fb8c0f96170: name:libpipewire-module-protocol-native args:(null)
[I][02910.031432] pw.conf      | [          conf.c:  611 load_module()] 0x5fb8c0f96170: loaded module libpipewire-module-protocol-native
[I][02910.031452] pw.module    | [   impl-module.c:  156 pw_context_load_module()] 0x5fb8c0f96170: name:libpipewire-module-client-node args:(null)
[I][02910.031615] pw.conf      | [          conf.c:  611 load_module()] 0x5fb8c0f96170: loaded module libpipewire-module-client-node
[I][02910.031632] pw.module    | [   impl-module.c:  156 pw_context_load_module()] 0x5fb8c0f96170: name:libpipewire-module-adapter args:(null)
[I][02910.031751] pw.conf      | [          conf.c:  611 load_module()] 0x5fb8c0f96170: loaded module libpipewire-module-adapter
[I][02910.031767] pw.module    | [   impl-module.c:  156 pw_context_load_module()] 0x5fb8c0f96170: name:libpipewire-module-metadata args:(null)
[I][02910.031895] pw.conf      | [          conf.c:  611 load_module()] 0x5fb8c0f96170: loaded module libpipewire-module-metadata
[I][02910.031917] pw.module    | [   impl-module.c:  156 pw_context_load_module()] 0x5fb8c0f96170: name:libpipewire-module-protocol-pulse args:{
	   # contents of pulse.properties can also be placed here
	   # to have config per server.
        }
[I][02910.032099] mod.rt       | [     module-rt.c:  621 set_nice()] main thread nice level set to -11
[I][02910.034236] pw.context   | [       context.c:  725 pw_context_acquire_loop()] 0x5fb8c0f96170: looking for name:'(null)' class:'(null)'
[I][02910.034278] pw.context   | [       context.c:  291 data_loop_start()] starting data loop data-loop.0
[I][02910.034415] mod.rt       | [     module-rt.c:  808 do_make_realtime()] clamping requested priority 83 for thread 8767 between 1  and 20
[I][02910.034438] spa.loop     | [          loop.c:  213 loop_create_queue()] 0x5fb8c0f9c4c8 created queue 0x5fb8c0fe6dd0
[I][02910.034477] mod.rt       | [     module-rt.c:  818 do_make_realtime()] acquired realtime priority 20 for thread 8767 using RTKit
[I][02910.034480] pw.context   | [       context.c:  701 acquire_data_loop()] 0x5fb8c0f96170: using name:'data-loop.0' class:'data.rt' ref:1
[I][02910.034515] pw.conf      | [          conf.c: 1143 pw_conf_section_for_each()] handle config '/usr/share/pipewire/pipewire-pulse.conf' section 'pulse.properties'
[I][02910.034549] pw.conf      | [          conf.c: 1143 pw_conf_section_for_each()] handle config '/usr/share/pipewire/pipewire-pulse.conf' section 'pulse.properties.rules'
[I][02910.034641] mod.protocol-pulse | [        server.c:  642 start_unix_server()] server 0x5fb8c0fef1d0: listening on unix:/run/user/1000/pulse/native
[I][02910.034713] pw.context   | [       context.c:  725 pw_context_acquire_loop()] 0x5fb8c0f96170: looking for name:'(null)' class:'(null)'
[I][02910.034732] pw.context   | [       context.c:  701 acquire_data_loop()] 0x5fb8c0f96170: using name:'data-loop.0' class:'data.rt' ref:2
[I][02910.035185] mod.protocol-pulse | [  pulse-server.c: 5467 parse_bool()] : defaults: pulse.allow-module-loading = true
[I][02910.035214] mod.protocol-pulse | [  pulse-server.c: 5412 parse_frac()] : defaults: pulse.min.req = 128/48000
[I][02910.035226] mod.protocol-pulse | [  pulse-server.c: 5412 parse_frac()] : defaults: pulse.default.req = 960/48000
[I][02910.035236] mod.protocol-pulse | [  pulse-server.c: 5412 parse_frac()] : defaults: pulse.min.frag = 128/48000
[I][02910.035246] mod.protocol-pulse | [  pulse-server.c: 5412 parse_frac()] : defaults: pulse.default.frag = 96000/48000
[I][02910.035370] mod.protocol-pulse | [  pulse-server.c: 5412 parse_frac()] : defaults: pulse.default.tlength = 96000/48000
[I][02910.035380] mod.protocol-pulse | [  pulse-server.c: 5412 parse_frac()] : defaults: pulse.min.quantum = 128/48000
[I][02910.035390] mod.protocol-pulse | [  pulse-server.c: 5442 parse_format()] : defaults: pulse.default.format = F32LE
[I][02910.035400] mod.protocol-pulse | [  pulse-server.c: 5427 parse_position()] : defaults: pulse.default.position = [ FL FR ]
[I][02910.035408] mod.protocol-pulse | [  pulse-server.c: 5456 parse_uint32()] : defaults: pulse.idle.timeout = 0
[I][02910.035417] pw.conf      | [          conf.c: 1143 pw_conf_section_for_each()] handle config '/usr/share/pipewire/pipewire-pulse.conf' section 'pulse.cmd'
[I][02910.035440] mod.protocol-pulse | [        module.c:   69 module_load()] load module index:536870912 name:module-always-sink
[I][02910.035466] pw.module    | [   impl-module.c:  156 pw_context_load_module()] 0x5fb8c0f96170: name:libpipewire-module-fallback-sink args:{ }
[I][02910.035659] mod.protocol-native | [  local-socket.c:   72 try_connect()] connecting to 'pipewire-0' runtime_dir:/run/user/1000
[I][02910.035696] mod.protocol-pulse | [        module.c:   69 module_load()] load module index:536870913 name:module-device-manager
[I][02910.035714] mod.protocol-pulse | [        module.c:   69 module_load()] load module index:536870914 name:module-device-restore
[I][02910.035723] mod.protocol-pulse | [        module.c:   69 module_load()] load module index:536870915 name:module-stream-restore
[I][02910.035732] pw.conf      | [          conf.c:  611 load_module()] 0x5fb8c0f96170: loaded module libpipewire-module-protocol-pulse
[I][02910.035740] pw.context   | [       context.c:  492 pw_context_new()] 0x5fb8c0f96170: parsed 6 context.modules items
[I][02910.035748] pw.context   | [       context.c:  497 pw_context_new()] 0x5fb8c0f96170: parsed 0 context.objects items
[I][02910.035756] pw.conf      | [          conf.c: 1143 pw_conf_section_for_each()] handle config '/usr/share/pipewire/pipewire-pulse.conf' section 'context.exec'
[I][02910.035769] pw.context   | [       context.c:  500 pw_context_new()] 0x5fb8c0f96170: parsed 0 context.exec items
[I][02910.035785] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x5fb8c1008260: add id:0 key:log.level type: value:3
[I][02910.035798] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x5fb8c1008260: add id:0 key:clock.rate type: value:48000
[I][02910.035808] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x5fb8c1008260: add id:0 key:clock.allowed-rates type: value:[ 48000 ]
[I][02910.035818] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x5fb8c1008260: add id:0 key:clock.quantum type: value:1024
[I][02910.035828] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x5fb8c1008260: add id:0 key:clock.min-quantum type: value:32
[I][02910.035838] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x5fb8c1008260: add id:0 key:clock.max-quantum type: value:2048
[I][02910.035848] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x5fb8c1008260: add id:0 key:clock.force-quantum type: value:0
[I][02910.035858] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x5fb8c1008260: add id:0 key:clock.force-rate type: value:0
[I][02910.035871] default      | [      pipewire.c:  129 main()] start main loop
[I][02910.035927] mod.protocol-pulse | [  pulse-server.c:  137 do_command_auth()] client:0x5fb8c1009930 AUTH tag:0 version:35
[I][02910.036055] pw.conf      | [          conf.c: 1143 pw_conf_section_for_each()] handle config '/usr/share/pipewire/pipewire-pulse.conf' section 'pulse.rules'
[I][02910.036102] mod.protocol-pulse | [  pulse-server.c: 1054 do_set_client_name()] [waybar] SET_CLIENT_NAME tag:1
[I][02910.036167] mod.protocol-native | [  local-socket.c:   72 try_connect()] connecting to 'pipewire-0' runtime_dir:/run/user/1000
[I][02910.038272] mod.protocol-pulse | [  pulse-server.c:  161 reply_set_client_name()] [waybar] reply tag:1 id:97 index:180
[I][02910.038420] mod.protocol-pulse | [  pulse-server.c: 3295 do_get_server_info()] [waybar] GET_SERVER_INFO tag:2
[I][02910.038449] mod.protocol-pulse | [  pulse-server.c: 1096 do_subscribe()] [waybar] SUBSCRIBE tag:3 mask:0000008f
[I][02910.038471] mod.protocol-pulse | [  pulse-server.c: 4410 do_get_info_list()] [waybar] GET_SINK_INFO_LIST tag:4
[I][02910.038631] mod.protocol-pulse | [  pulse-server.c: 4410 do_get_info_list()] [waybar] GET_SOURCE_INFO_LIST tag:5
$ pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 238
Tile Size: 65472
User Name: user
Host Name: dell
Server Name: PulseAudio (on PipeWire 1.2.5)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: bluez_output.C4_17_0E_3A_0A_31.1
Default Source: bluez_input.C4:17:0E:3A:0A:31
Cookie: 45a5:d226

Offline

#3 2024-10-11 08:39:21

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 23,319

Re: Pavucontrol can't connect to pipewire-pulse

Your "enabling services manually" lacks the pipewire-pulse service. While it should get socket activated, enabling it additionally shouldn't hurt anything.

Offline

#4 2024-10-11 11:31:53

salvation4975
Member
Registered: 2024-10-11
Posts: 3

Re: Pavucontrol can't connect to pipewire-pulse

Thanks for pointing that out! I've actually tried this before:

$ systemctl --user enable --now pipewire wireplumber pipewire-pulse.service
Failed to enable unit: File '/home/user/.config/systemd/user/default.target.wants/pipewire-pulse.service' already exists

Upd: This command helps if I run it after every reboot:

$ systemctl --user restart pipewire wireplumber pipewire-pulse.service

Last edited by salvation4975 (2024-10-11 11:39:34)

Offline

Board footer

Powered by FluxBB