You are not logged in.

#1 2025-01-26 21:43:44

senaex
Member
Registered: 2021-08-18
Posts: 7

Pipewire works, but not Pipewire-pulse or pulseaudio

Hey all,
so I recently reinstalled arch linux to try out gnome with a tiling window manager and I am very happy with it. However, I could not get audio to work and am trying to fix it for the last 3 hourse with.
I have managed to get audio output, but only when I use certain applications like my browser. Apps like discord or the gnome settings do not detect anything.
After some research, I found that pipewire-pulse is the problem, as 'patctl info' gives me:

Connection failure: Connection refused

No matter what I do, I cannot get rid of this problem. I have tried uninstalling everything, removing all configs, switching to pulsaudio - no success.
I also tried pretty much all advice online that I could find, but again to no success. This post is my last hope so I appreciate any help!

I will try to gather some logs and post them here as well.

Offline

#2 2025-01-26 21:48:49

senaex
Member
Registered: 2021-08-18
Posts: 7

Re: Pipewire works, but not Pipewire-pulse or pulseaudio

Here is the output from systemctl:

└─$ systemctl --user status pipewire pipewire-pulse wireplumber
● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; preset: enabled)
     Active: active (running) since Sun 2025-01-26 13:44:42 PST; 10s ago
 Invocation: 1a5f22d750df48eaabba4eaef4a9593f
TriggeredBy: ● pipewire.socket
   Main PID: 1689 (pipewire)
      Tasks: 3 (limit: 37447)
     Memory: 5.3M (peak: 5.6M)
        CPU: 25ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
             └─1689 /usr/bin/pipewire

Jan 26 13:44:42 Arch-X13 systemd[1678]: Started PipeWire Multimedia Service.

● pipewire-pulse.service - PipeWire PulseAudio
     Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; enabled; preset: enabled)
     Active: active (running) since Sun 2025-01-26 13:44:42 PST; 10s ago
 Invocation: d665914430894845bf5b2f4c7a422bee
TriggeredBy: ● pipewire-pulse.socket
   Main PID: 1691 (pipewire-pulse)
      Tasks: 3 (limit: 37447)
     Memory: 1.7M (peak: 2M)
        CPU: 10ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire-pulse.service
             └─1691 /usr/bin/pipewire-pulse

Jan 26 13:44:42 Arch-X13 systemd[1678]: Started PipeWire PulseAudio.

● wireplumber.service - Multimedia Service Session Manager
     Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; preset: enabled)
     Active: active (running) since Sun 2025-01-26 13:44:42 PST; 10s ago
 Invocation: 21d08f1c8ed84d7ca9541b48cd139331
   Main PID: 1690 (wireplumber)
      Tasks: 7 (limit: 37447)
     Memory: 9M (peak: 9.7M)
        CPU: 173ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/wireplumber.service
             └─1690 /usr/bin/wireplumber

Jan 26 13:44:42 Arch-X13 systemd[1678]: Started Multimedia Service Session Manager.
Jan 26 13:44:42 Arch-X13 wireplumber[1690]: wp-internal-comp-loader: Loading profile 'main'
Jan 26 13:44:42 Arch-X13 wireplumber[1690]: wp-device: SPA handle 'api.libcamera.enum.manager' could not be loaded; is it installed?
Jan 26 13:44:42 Arch-X13 wireplumber[1690]: s-monitors-libcamera: PipeWire's libcamera SPA plugin is missing or broken. Some camera types may not be supported.
Jan 26 13:44:43 Arch-X13 wireplumber[1690]: spa.bluez5: BlueZ system service is not available

Here from pipewire-pulse -v (when starting all services manually)

└─$ pipewire-pulse -v
[I][00210.514058] pw.conf      | [          conf.c:  415 conf_load()] 0x5d2df889c7c0: loaded config '/usr/share/pipewire/pipewire-pulse.conf' with 9 items
[I][00210.514147] pw.conf      | [          conf.c: 1143 pw_conf_section_for_each()] handle config '/usr/share/pipewire/pipewire-pulse.conf' section 'context.properties'
[I][00210.514159] pw.context   | [       context.c:  395 pw_context_new()] 0x5d2df889b1a0: parsed 0 context.properties items
[I][00210.514181] pw.context   | [       context.c:  276 setup_data_loops()] created data loop 'data-loop.0'
[I][00210.514186] pw.context   | [       context.c:  279 setup_data_loops()] created 1 data-loops
[I][00210.514394] pw.conf      | [          conf.c: 1143 pw_conf_section_for_each()] handle config '/usr/share/pipewire/pipewire-pulse.conf' section 'context.spa-libs'
[I][00210.514426] pw.context   | [       context.c:  488 pw_context_new()] 0x5d2df889b1a0: parsed 2 context.spa-libs items
[I][00210.514431] pw.conf      | [          conf.c: 1143 pw_conf_section_for_each()] handle config '/usr/share/pipewire/pipewire-pulse.conf' section 'context.modules'
[I][00210.514438] pw.module    | [   impl-module.c:  156 pw_context_load_module()] 0x5d2df889b1a0: 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][00210.514531] mod.rt       | [     module-rt.c:  572 check_realtime_privileges()] failed to set realtime policy: Operation not permitted
[I][00210.514538] mod.rt       | [     module-rt.c:  537 check_realtime_privileges()] Clamp rtprio 83 to 0
[I][00210.514543] mod.rt       | [     module-rt.c:  545 check_realtime_privileges()] Priority max (0) must be at least 11
[I][00210.514547] mod.rt       | [     module-rt.c:  581 check_realtime_privileges()] can't set rt prio to 83 (try increasing rlimits)
[I][00210.516957] spa.loop     | [          loop.c:  213 loop_create_queue()] 0x5d2df88aa4f8 created queue 0x5d2df88aa860
[I][00210.517061] pw.conf      | [          conf.c:  611 load_module()] 0x5d2df889b1a0: loaded module libpipewire-module-rt
[I][00210.517073] pw.module    | [   impl-module.c:  156 pw_context_load_module()] 0x5d2df889b1a0: name:libpipewire-module-protocol-native args:(null)
[I][00210.517230] pw.conf      | [          conf.c:  611 load_module()] 0x5d2df889b1a0: loaded module libpipewire-module-protocol-native
[I][00210.517237] pw.module    | [   impl-module.c:  156 pw_context_load_module()] 0x5d2df889b1a0: name:libpipewire-module-client-node args:(null)
[I][00210.517314] pw.conf      | [          conf.c:  611 load_module()] 0x5d2df889b1a0: loaded module libpipewire-module-client-node
[I][00210.517320] pw.module    | [   impl-module.c:  156 pw_context_load_module()] 0x5d2df889b1a0: name:libpipewire-module-adapter args:(null)
[I][00210.517388] pw.conf      | [          conf.c:  611 load_module()] 0x5d2df889b1a0: loaded module libpipewire-module-adapter
[I][00210.517396] pw.module    | [   impl-module.c:  156 pw_context_load_module()] 0x5d2df889b1a0: name:libpipewire-module-metadata args:(null)
[I][00210.517464] pw.conf      | [          conf.c:  611 load_module()] 0x5d2df889b1a0: loaded module libpipewire-module-metadata
[I][00210.517475] pw.module    | [   impl-module.c:  156 pw_context_load_module()] 0x5d2df889b1a0: name:libpipewire-module-protocol-pulse args:{
            # contents of pulse.properties can also be placed here
            # to have config per server.
        }
[I][00210.517952] mod.rt       | [     module-rt.c:  621 set_nice()] main thread nice level set to -11
[I][00210.518685] pw.context   | [       context.c:  725 pw_context_acquire_loop()] 0x5d2df889b1a0: looking for name:'(null)' class:'(null)'
[I][00210.518701] pw.context   | [       context.c:  291 data_loop_start()] starting data loop data-loop.0
[I][00210.518764] mod.rt       | [     module-rt.c:  808 do_make_realtime()] clamping requested priority 83 for thread 3951 between 1  and 20
[I][00210.518770] spa.loop     | [          loop.c:  213 loop_create_queue()] 0x5d2df88a1298 created queue 0x5d2df88c9550
[I][00210.518778] pw.context   | [       context.c:  701 acquire_data_loop()] 0x5d2df889b1a0: using name:'data-loop.0' class:'data.rt' ref:1
[I][00210.518786] mod.rt       | [     module-rt.c:  818 do_make_realtime()] acquired realtime priority 20 for thread 3951 using RTKit
[I][00210.518787] pw.conf      | [          conf.c: 1143 pw_conf_section_for_each()] handle config '/usr/share/pipewire/pipewire-pulse.conf' section 'pulse.properties'
[I][00210.518797] pw.conf      | [          conf.c: 1143 pw_conf_section_for_each()] handle config '/usr/share/pipewire/pipewire-pulse.conf' section 'pulse.properties.rules'
[W][00210.518826] mod.protocol-pulse | [        server.c:  621 start_unix_server()] server 0x5d2df88d1950: unlinking stale socket '/run/user/1000/pulse/native'
[I][00210.518854] mod.protocol-pulse | [        server.c:  646 start_unix_server()] server 0x5d2df88d1950: listening on unix:/run/user/1000/pulse/native
[I][00210.518883] pw.context   | [       context.c:  725 pw_context_acquire_loop()] 0x5d2df889b1a0: looking for name:'(null)' class:'(null)'
[I][00210.518889] pw.context   | [       context.c:  701 acquire_data_loop()] 0x5d2df889b1a0: using name:'data-loop.0' class:'data.rt' ref:2
[I][00210.519028] mod.protocol-pulse | [  pulse-server.c: 5474 parse_bool()] : defaults: pulse.allow-module-loading = true
[I][00210.519045] mod.protocol-pulse | [  pulse-server.c: 5419 parse_frac()] : defaults: pulse.min.req = 128/48000
[I][00210.519053] mod.protocol-pulse | [  pulse-server.c: 5419 parse_frac()] : defaults: pulse.default.req = 960/48000
[I][00210.519061] mod.protocol-pulse | [  pulse-server.c: 5419 parse_frac()] : defaults: pulse.min.frag = 128/48000
[I][00210.519067] mod.protocol-pulse | [  pulse-server.c: 5419 parse_frac()] : defaults: pulse.default.frag = 96000/48000
[I][00210.519073] mod.protocol-pulse | [  pulse-server.c: 5419 parse_frac()] : defaults: pulse.default.tlength = 96000/48000
[I][00210.519080] mod.protocol-pulse | [  pulse-server.c: 5419 parse_frac()] : defaults: pulse.min.quantum = 128/48000
[I][00210.519085] mod.protocol-pulse | [  pulse-server.c: 5449 parse_format()] : defaults: pulse.default.format = F32LE
[I][00210.519091] mod.protocol-pulse | [  pulse-server.c: 5434 parse_position()] : defaults: pulse.default.position = [ FL FR ]
[I][00210.519096] mod.protocol-pulse | [  pulse-server.c: 5463 parse_uint32()] : defaults: pulse.idle.timeout = 0
[I][00210.519101] pw.conf      | [          conf.c: 1143 pw_conf_section_for_each()] handle config '/usr/share/pipewire/pipewire-pulse.conf' section 'pulse.cmd'
[I][00210.519113] mod.protocol-pulse | [        module.c:   69 module_load()] load module index:536870912 name:module-always-sink
[I][00210.519123] pw.module    | [   impl-module.c:  156 pw_context_load_module()] 0x5d2df889b1a0: name:libpipewire-module-fallback-sink args:{ }
[I][00210.519225] mod.protocol-native | [  local-socket.c:   72 try_connect()] connecting to 'pipewire-0' runtime_dir:/run/user/1000
[I][00210.519247] mod.protocol-pulse | [        module.c:   69 module_load()] load module index:536870913 name:module-device-manager
[I][00210.519253] mod.protocol-pulse | [        module.c:   69 module_load()] load module index:536870914 name:module-device-restore
[I][00210.519260] mod.protocol-pulse | [        module.c:   69 module_load()] load module index:536870915 name:module-stream-restore
[I][00210.519266] pw.conf      | [          conf.c:  611 load_module()] 0x5d2df889b1a0: loaded module libpipewire-module-protocol-pulse
[I][00210.519272] pw.context   | [       context.c:  492 pw_context_new()] 0x5d2df889b1a0: parsed 6 context.modules items
[I][00210.519277] pw.context   | [       context.c:  497 pw_context_new()] 0x5d2df889b1a0: parsed 0 context.objects items
[I][00210.519282] pw.conf      | [          conf.c: 1143 pw_conf_section_for_each()] handle config '/usr/share/pipewire/pipewire-pulse.conf' section 'context.exec'
[I][00210.519289] pw.context   | [       context.c:  500 pw_context_new()] 0x5d2df889b1a0: parsed 0 context.exec items
[I][00210.519296] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x5d2df88ea920: add id:0 key:log.level type: value:3
[I][00210.519303] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x5d2df88ea920: add id:0 key:clock.rate type: value:48000
[I][00210.519309] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x5d2df88ea920: add id:0 key:clock.allowed-rates type: value:[ 48000 ]
[I][00210.519314] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x5d2df88ea920: add id:0 key:clock.quantum type: value:1024
[I][00210.519320] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x5d2df88ea920: add id:0 key:clock.min-quantum type: value:32
[I][00210.519325] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x5d2df88ea920: add id:0 key:clock.max-quantum type: value:2048
[I][00210.519330] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x5d2df88ea920: add id:0 key:clock.force-quantum type: value:0
[I][00210.519335] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x5d2df88ea920: add id:0 key:clock.force-rate type: value:0
[I][00210.519341] default      | [      pipewire.c:  129 main()] start main loop

Offline

#3 2025-01-26 22:03:04

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 24,407

Re: Pipewire works, but not Pipewire-pulse or pulseaudio

according to systemctl --user everything works properly.  you're not running pactl as root right? What's your output for

sudo fuser -v /dev/snd/*
printenv

Last edited by V1del (2025-01-26 22:03:56)

Offline

#4 2025-01-26 23:12:17

senaex
Member
Registered: 2021-08-18
Posts: 7

Re: Pipewire works, but not Pipewire-pulse or pulseaudio

No I didn't run pactl as root, same user, I even checked if its the same $XDG_RUNTIME_DIR variable.
This is my output for the commands:

 $ sudo fuser -v /dev/snd/*
                     USER        PID ACCESS COMMAND
/dev/snd/controlC0:  senaex     1707 F.... wireplumber
/dev/snd/controlC1:  senaex     1707 F.... wireplumber
/dev/snd/controlC2:  senaex     1707 F.... wireplumber
/dev/snd/seq:        senaex     1706 F.... pipewire
$ printenv
COLORTERM=truecolor
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
DEBUGINFOD_URLS=https://debuginfod.archlinux.org
DESKTOP_SESSION=gnome
DESKTOP_STARTUP_ID=gnome-shell/kitty/1839-0-Arch-X13_TIME65085
DISPLAY=:0
EDITOR=nvim
GDMSESSION=gnome
GDM_LANG=en_US.UTF-8
GIO_LAUNCHED_DESKTOP_FILE=/home/senaex/.local/share/applications/kitty.desktop
GIO_LAUNCHED_DESKTOP_FILE_PID=3009
GJS_DEBUG_OUTPUT=stderr
GJS_DEBUG_TOPICS=JS ERROR;JS LOG
GNOME_SETUP_DISPLAY=:1
HOME=/home/senaex
INVOCATION_ID=bace768f809740d8b5b8d24ba0c6ae11
JOURNAL_STREAM=9:17193
KITTY_INSTALLATION_DIR=/usr/lib/kitty
KITTY_PID=3009
KITTY_PUBLIC_KEY=1:`!WhLe}t4r^AiG`_gz7|Mf(ITe}~XM_NPEPx8SsB
KITTY_SHELL_INTEGRATION=no-cursor
KITTY_WINDOW_ID=1
LANG=en_US.UTF-8
LESS=-R
LOGNAME=senaex
LSCOLORS=Gxfxcxdxbxegedabagacad
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.7z=01;31:*.ace=01;31:*.alz=01;31:*.apk=01;31:*.arc=01;31:*.arj=01;31:*.bz=01;31:*.bz2=01;31:*.cab=01;31:*.cpio=01;31:*.crate=01;31:*.deb=01;31:*.drpm=01;31:*.dwm=01;31:*.dz=01;31:*.ear=01;31:*.egg=01;31:*.esd=01;31:*.gz=01;31:*.jar=01;31:*.lha=01;31:*.lrz=01;31:*.lz=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.lzo=01;31:*.pyz=01;31:*.rar=01;31:*.rpm=01;31:*.rz=01;31:*.sar=01;31:*.swm=01;31:*.t7z=01;31:*.tar=01;31:*.taz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tgz=01;31:*.tlz=01;31:*.txz=01;31:*.tz=01;31:*.tzo=01;31:*.tzst=01;31:*.udeb=01;31:*.war=01;31:*.whl=01;31:*.wim=01;31:*.xz=01;31:*.z=01;31:*.zip=01;31:*.zoo=01;31:*.zst=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:
MAIL=/var/spool/mail/senaex
MANAGERPID=1695
MEMORY_PRESSURE_WATCH=/sys/fs/cgroup/user.slice/user-1000.slice/user@1000.service/session.slice/org.gnome.Shell@wayland.service/memory.pressure
MEMORY_PRESSURE_WRITE=c29tZSAyMDAwMDAgMjAwMDAwMAA=
MOTD_SHOWN=pam
OLDPWD=/home/senaex
PAGER=less
PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/sbin:/home/senaex/bin:/home/senaex/.fzf/bin
PWD=/home/senaex
QT_QPA_PLATFORMTHEME=qt5ct
SESSION_MANAGER=local/Arch-X13:@/tmp/.ICE-unix/1816,unix/Arch-X13:/tmp/.ICE-unix/1816
SHELL=/bin/zsh
SHLVL=1
SYSTEMD_EXEC_PID=1839
TERM=screen-256color
TERMINFO=/usr/lib/kitty/terminfo
TERM_PROGRAM=tmux
TERM_PROGRAM_VERSION=3.5a
TMUX=/tmp/tmux-1000/default,3066,0
TMUX_PANE=%0
TMUX_PLUGIN_MANAGER_PATH=/home/senaex/.tmux/plugins/
USER=senaex
USERNAME=senaex
VISUAL=nvim
WAYLAND_DISPLAY=wayland-0
XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.44M102
XDG_CURRENT_DESKTOP=GNOME
XDG_DATA_DIRS=/home/senaex/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share/:/usr/share/
XDG_MENU_PREFIX=gnome-
XDG_RUNTIME_DIR=/run/user/1000
XDG_SESSION_CLASS=user
XDG_SESSION_DESKTOP=gnome
XDG_SESSION_TYPE=wayland
ZSH=/usr/local/zsh/oh-my-zsh
_=/usr/bin/printenv

Offline

Board footer

Powered by FluxBB