I’ve been using PipeWire successfully for some time, but it stopped “working” and I fail to understand what’s going on. I’d like to use pavucontrol
to control volume (at the moment it starts a window, but fails to connect to Pulse) and have Firefox choose Pulse as it’s audio backend (at the moment it chooses ALSA).
When I run
$ systemctl --user restart pipewire-pulse.service
this unit logs
pulse-server 0x5647ecb87880: can't create server for unix:native: Device or resource busy
Which I don’t understand. The socket looks pretty normal to me:
$ lsof /run/user/1000/pulse/native
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 2662 lorenz 31u unix 0x0000000000000000 0t0 69019 /run/user/1000/pulse/native type=STREAM (LISTEN)
pipewire- 8889 lorenz 3u unix 0x0000000000000000 0t0 69019 /run/user/1000/pulse/native type=STREAM (LISTEN)
I thought that maybe there are multiple instances of PipeWire or PipeWire Pulse running, but this does not seem to be the case:
sudo ps -Aef | grep pipe
lorenz 8060 2662 0 10:13 ? 00:00:00 /nix/store/bdv2qqm9xcggh0lxw6mgs2llmj24dap6-pipewire-0.3.23/bin/pipewire
lorenz 8062 2662 0 10:13 ? 00:00:00 /nix/store/5zyr879n5k5w70m22a2nqr9mihqxlw2w-pipewire-0.3.23-mediaSession/bin/pipewire-media-session
lorenz 8889 2662 0 10:16 ? 00:00:00 /nix/store/ra4wa7rnn04nbkdcfwcvkmy8bmxazw7d-pipewire-0.3.23-pulse/bin/pipewire-pulse
lorenz 9061 3506 0 10:20 pts/3 00:00:00 grep pipe
I tried restarting various units (pipewire.service
, pipewire-pulse.service
, pipewire-pulse.socket
, xdg-desktop-portal-wlr
) and rebooted multiple times to no avail.
Please help me!
It sounds like you have multiple pulseaudio or pipewire instances running. If you share your config it may be obvious but I would try the following.
px aux | grep 'pipewire|pulse'
and see if you have any results.
Find the pulseaudio (or other) socket that pipewire is trying to listen on and see what process is using it. You may need to start pipewire under strace
to see what socket it is failing to register.
hmenke
April 1, 2021, 12:27pm
3
There are some typos in your shell command
ps aux | grep 'pipewire\|pulse'
Thanks for your replies. NixOS configuration is here, on GitHub .
I had some luck by starting pipewire-pulse
manually:
% ps aux | grep 'pipewire\|pulse'
lorenz 10043 0.0 0.0 107076 10472 ? S<sl 14:23 0:00 /nix/store/mc0y2a7db01pa5ryac36j9zq4kavv0sy-pipewire-0.3.24/bin/pipewire
lorenz 10061 0.0 0.0 82704 4684 ? S<sl 14:23 0:00 /nix/store/s63kgipyhxffzzsw9sncwfrlmzwwmbv8-pipewire-0.3.24-pulse/bin/pipewire-pulse
lorenz 10093 0.0 0.0 89800 10788 ? S<sl 14:23 0:00 /nix/store/gisjhys3ivcc3zs2fbvvbz5rrl49qgqd-pipewire-0.3.24-mediaSession/bin/pipewire-media-session
lorenz 16744 0.0 0.0 223448 2424 pts/5 S+ 14:44 0:00 grep pipewire\|pulse
% systemctl --user stop pipewire-pulse.service
Warning: Stopping pipewire-pulse.service, but it can still be activated by:
pipewire-pulse.socket
% ps aux | grep 'pipewire\|pulse'
lorenz 10043 0.0 0.0 107076 10472 ? S<sl 14:23 0:00 /nix/store/mc0y2a7db01pa5ryac36j9zq4kavv0sy-pipewire-0.3.24/bin/pipewire
lorenz 10093 0.0 0.0 89800 10788 ? S<sl 14:23 0:00 /nix/store/gisjhys3ivcc3zs2fbvvbz5rrl49qgqd-pipewire-0.3.24-mediaSession/bin/pipewire-media-session
lorenz 16839 0.5 0.0 82704 4716 ? S<sl 14:45 0:00 /nix/store/s63kgipyhxffzzsw9sncwfrlmzwwmbv8-pipewire-0.3.24-pulse/bin/pipewire-pulse
lorenz 16855 0.0 0.0 223448 2364 pts/5 S+ 14:45 0:00 grep pipewire\|pulse
% systemctl --user stop pipewire-pulse.service pipewire-pulse.socket
% ps aux | grep 'pipewire\|pulse'
lorenz 10043 0.0 0.0 107076 10472 ? S<sl 14:23 0:00 /nix/store/mc0y2a7db01pa5ryac36j9zq4kavv0sy-pipewire-0.3.24/bin/pipewire
lorenz 10093 0.0 0.0 89800 10788 ? S<sl 14:23 0:00 /nix/store/gisjhys3ivcc3zs2fbvvbz5rrl49qgqd-pipewire-0.3.24-mediaSession/bin/pipewire-media-session
lorenz 16891 0.0 0.0 223448 2308 pts/5 S+ 14:45 0:00 grep pipewire\|pulse
% /nix/store/s63kgipyhxffzzsw9sncwfrlmzwwmbv8-pipewire-0.3.24-pulse/bin/pipewire-pulse
[W][000004828.461280][pulse-server.c:5990 make_local_socket()] pulse-server 0x55a0cea06e20: unlink stale socket /var/run/user/1000/pulse/native
[W][000004836.719000][pulse-server.c:479 reply_error()] pulse-server 0x55a0ce9fe9b0: [PulseAudio Volume Control] ERROR command:87 (EXTENSION) tag:12 error:19 (Operation not supported)
[W][000004836.719028][pulse-server.c:479 reply_error()] pulse-server 0x55a0ce9fe9b0: [PulseAudio Volume Control] ERROR command:87 (EXTENSION) tag:13 error:19 (Operation not supported)
[W][000004836.719037][pulse-server.c:479 reply_error()] pulse-server 0x55a0ce9fe9b0: [PulseAudio Volume Control] ERROR command:87 (EXTENSION) tag:14 error:19 (Operation not supported)
[W][000004836.719044][pulse-server.c:479 reply_error()] pulse-server 0x55a0ce9fe9b0: [PulseAudio Volume Control] ERROR command:87 (EXTENSION) tag:15 error:19 (Operation not supported)
[W][000004836.737635][pulse-server.c:479 reply_error()] pulse-server 0x55a0ce9fe9b0: [PulseAudio Volume Control] ERROR command:87 (EXTENSION) tag:17 error:19 (Operation not supported)
PulseAudio Volume Control now looks as usual.
Also, to clarify PipeWire version:
% pipewire --version
pipewire
Compiled with libpipewire 0.3.24
Linked with libpipewire 0.3.24
The systemd Unit still behaves the same, though, and I still fail to understand why. Further help is appreciated!
Did you ever resolve this issue? I’m having the same problem and this is the BEST “google match” so far. Nothing else seems to point me in the right direction. I thought it was because I still had a pulseaudio.socket opened. But I masked the socket, rebooted, and found the same result. I can’t figure out WHAT would be causing this, unless there is something run twice and then it fails? But I don’t see any instances of pipewire-pulse running anywhere after boot. I also have the same results when running manually.
No. I am still running
systemctl --user stop pipewire-pulse.service pipewire-pulse.socket
/nix/store/s63kgipyhxffzzsw9sncwfrlmzwwmbv8-pipewire-0.3.24-pulse/bin/pipewire-pulse
every time I log in after a reboot. It’s quite annoying.
confirm. have the same issue.
here is my config nixos-config/configuration.nix at e56f748b3d93e18dfad2f8fa05c3eeb1958e0c79 · halturin/nixos-config · GitHub
commenting out these lines didn’t have effect
# sound.enable = true;
# hardware.pulseaudio.enable = true;
i stil have pulseaudio running along with the pipeware and i suppose thats the reason why i dont see my audio interface as an input Pipeware 0.3.25 on kernel 5.11.11. No input on external usb interface Presonus 1810c. · Issue #122008 · NixOS/nixpkgs · GitHub
❯❯❯❯ ps aux | grep 'pipewire|pulse'
taras 3070 1.1 0.0 6704792 28252 ? S<sl May09 104:16 /nix/store/9ail1cn4ji31ihf3z5clkq4yckkm908i-pulseaudio-14.2/bin/pulseaudio --daemonize=no --log-target=journal
taras 3557 0.0 0.0 240392 8460 ? Sl May09 0:00 /nix/store/9ail1cn4ji31ihf3z5clkq4yckkm908i-pulseaudio-14.2/libexec/pulse/gsettings-helper
taras 3613 0.0 0.0 312476 7504 ? S<sl May09 0:00 /nix/store/4qp4npwqabf3mnsy230w3z1nqdjl1gxr-pipewire-0.3.26/bin/pipewire
taras 3614 0.0 0.0 305404 7428 ? S<sl May09 0:00 /nix/store/wsbzdvp1fv3dcg79w8acd405rdm04jqi-pipewire-0.3.26-mediaSession/bin/pipewire-media-session
taras 537523 0.0 0.0 9708 6040 pts/8 S+ 14:17 0:00 rg pipewire|pulse
UPD: its finally worked I missed the key options in my config. here is working version nixos-config/configuration.nix at master · halturin/nixos-config · GitHub