You are not logged in.
Hi, I've had arch working quite well for a while now, and recently managed to goof up my audio. I noticed wireplumber no longer starts:
❯ systemctl --user status pipewire pipewire-pulse wireplumber
● pipewire.service - PipeWire Multimedia Service
Loaded: loaded (/usr/local/lib/systemd/user/pipewire.service; enabled; preset: enabled)
Active: active (running) since Sat 2024-04-06 13:49:41 EDT; 1h 29min ago
TriggeredBy: ● pipewire.socket
Main PID: 930 (pipewire)
Tasks: 3 (limit: 18817)
Memory: 9.2M (peak: 9.7M)
CPU: 52ms
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
└─930 /usr/local/bin/pipewire
Apr 06 13:49:41 mechanicus systemd[917]: Started PipeWire Multimedia Service.
● pipewire-pulse.service - PipeWire PulseAudio
Loaded: loaded (/usr/local/lib/systemd/user/pipewire-pulse.service; enabled; preset: enabled)
Active: active (running) since Sat 2024-04-06 13:49:41 EDT; 1h 29min ago
TriggeredBy: ● pipewire-pulse.socket
Main PID: 932 (pipewire-pulse)
Tasks: 3 (limit: 18817)
Memory: 15.8M (peak: 16.1M)
CPU: 52ms
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire-pulse.service
└─932 /usr/local/bin/pipewire-pulse
Apr 06 13:49:41 mechanicus systemd[917]: Started PipeWire PulseAudio.
× wireplumber.service - Multimedia Service Session Manager
Loaded: loaded (/usr/local/lib/systemd/user/wireplumber.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Sat 2024-04-06 14:21:40 EDT; 58min ago
Duration: 7ms
Process: 3345 ExecStart=/usr/local/bin/wireplumber (code=exited, status=127)
Main PID: 3345 (code=exited, status=127)
CPU: 7ms
Apr 06 14:21:40 mechanicus systemd[917]: wireplumber.service: Scheduled restart job, restart counter is at 5.
Apr 06 14:21:40 mechanicus systemd[917]: wireplumber.service: Start request repeated too quickly.
Apr 06 14:21:40 mechanicus systemd[917]: wireplumber.service: Failed with result 'exit-code'.
Apr 06 14:21:40 mechanicus systemd[917]: Failed to start Multimedia Service Session Manager.❯ wireplumber
wireplumber: error while loading shared libraries: libwireplumber-0.4.so.0: cannot open shared object file: No such file or directorySo I must have partially updated at some point and broke it, but
pacman -Syyuwith updated mirrors and from chroot hasn't resolved it, so I'm not sure what to do.
❯ aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
lavrate
Rate Converter Plugin Using Libav/FFmpeg Library
samplerate
Rate Converter Plugin Using Samplerate Library
speexrate
Rate Converter Plugin Using Speex Resampler
jack
JACK Audio Connection Kit
oss
Open Sound System
pipewire
PipeWire Sound Server
pulse
PulseAudio Sound Server
speex
Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)
upmix
Plugin for channel upmix (4,6,8)
vdownmix
Plugin for channel downmix (stereo) with a simple spacialization
default
Default ALSA Output (currently PipeWire Media Server)
sysdefault:CARD=PCH
HDA Intel PCH, 92HD95 Analog
Default Audio Device
front:CARD=PCH,DEV=0
HDA Intel PCH, 92HD95 Analog
Front output / input
surround21:CARD=PCH,DEV=0
HDA Intel PCH, 92HD95 Analog
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH,DEV=0
HDA Intel PCH, 92HD95 Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
HDA Intel PCH, 92HD95 Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
HDA Intel PCH, 92HD95 Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
HDA Intel PCH, 92HD95 Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
HDA Intel PCH, 92HD95 Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
hdmi:CARD=PCH,DEV=0
HDA Intel PCH, HDMI 0
HDMI Audio Output
hdmi:CARD=PCH,DEV=1
HDA Intel PCH, HDMI 1
HDMI Audio Output
hdmi:CARD=PCH,DEV=2
HDA Intel PCH, HDMI 2
HDMI Audio Output
hdmi:CARD=PCH,DEV=3
HDA Intel PCH, HDMI 3
HDMI Audio Output
usbstream:CARD=PCH
HDA Intel PCH
USB Stream OutputI was however able to verify that the speakers can emit sound by using
speaker-test -D sysdefault:PCH -c 2 Any insight/help would be greatly appreciated
Last edited by geistnine (2024-04-06 21:56:23)
Offline
Update your system, wireplumber should not look at a 0.4 version
Other than that
pacman -Qs 'wire'
pacman -Qikk wireplumber Offline
❯ sudo pacman -Syyu
:: Synchronizing package databases...
core 128.3 KiB 111 KiB/s 00:01 [###################################################################] 100%
extra 8.1 MiB 9.99 MiB/s 00:01 [###################################################################] 100%
multilib 138.8 KiB 1477 KiB/s 00:00 [###################################################################] 100%
:: Starting full system upgrade...
there is nothing to doIs that set of flags missing anything?
Here's the output of those two commands:
❯ pacman -Qs 'wire'
local/libpipewire 1:1.0.4-4
Low-latency audio/video router and processor - client library
local/libraw1394 2.1.2-3
Provides an API to the Linux IEEE1394 (FireWire) driver
local/libwireplumber 0.5.1-1
Session / policy manager implementation for PipeWire - client library
local/linux 6.8.2.arch2-1
The Linux kernel and modules
local/pipewire 1:1.0.4-4
Low-latency audio/video router and processor
local/pipewire-alsa 1:1.0.4-4
Low-latency audio/video router and processor - ALSA configuration
local/pipewire-audio 1:1.0.4-4
Low-latency audio/video router and processor - Audio support
local/pipewire-pulse 1:1.0.4-4
Low-latency audio/video router and processor - PulseAudio replacement
local/wireplumber 0.5.1-1
Session / policy manager implementation for PipeWire
local/wireplumber-git-debug 0.5.1.r2.g8ee35183-1
Detached debugging symbols for wireplumber-git
local/wpa_supplicant 2:2.10-8
A utility providing key negotiation for WPA wireless networks❯ pacman -Qikk wireplumber
Name : wireplumber
Version : 0.5.1-1
Description : Session / policy manager implementation for PipeWire
Architecture : x86_64
URL : https://pipewire.pages.freedesktop.org/wireplumber/
Licenses : MIT
Groups : None
Provides : pipewire-session-manager
Depends On : libwireplumber=0.5.1-1 gcc-libs glibc libglib-2.0.so=0-64 libgobject-2.0.so=0-64 libgio-2.0.so=0-64 libpipewire libpipewire-0.3.so=0-64 libsystemd.so=0-64 lua
pipewire systemd-libs
Optional Deps : wireplumber-docs: Documentation
Required By : pipewire-alsa pipewire-pulse
Optional For : pipewire
Conflicts With : pipewire-media-session
Replaces : None
Installed Size : 994.41 KiB
Packager : David Runge <dvzrv@archlinux.org>
Build Date : Sun 31 Mar 2024 11:03:36 AM EDT
Install Date : Sat 06 Apr 2024 02:14:47 PM EDT
Install Reason : Explicitly installed
Install Script : Yes
Validated By : Signature
wireplumber: 273 total files, 0 altered filesOffline
Oh jeez, ok.
Somehow I had two binaries for wireplumber:
❯ whereis wireplumber
wireplumber: /usr/bin/wireplumber /usr/local/bin/wireplumber /usr/share/wireplumberAnd /usr/bin/ contained 0.5-1, which runs as expected. Replacing the one in local/bin with it returned things to normal
Thanks for taking a look, V1del!
Offline
You should not have any binaries in /usr/local unless you run unpackaged compiles, you should rid yourself of the copy in /usr/local or you'll have the issue again
Offline
Thanks for highlighting that, I guess there's something else needs doing because keeping it in the right place (/usr/bin/ rather than /usr/local/bin) causes it to fail on startup:
Apr 06 19:51:24 mechanicus systemd[937]: wireplumber.service: Scheduled restart job, restart counter is at 1.
Apr 06 19:51:24 mechanicus systemd[937]: Started Multimedia Service Session Manager.
Apr 06 19:51:24 mechanicus systemd[937]: wireplumber.service: Main process exited, code=exited, status=203/EXEC
Apr 06 19:51:24 mechanicus systemd[937]: wireplumber.service: Failed with result 'exit-code'.
Apr 06 19:51:24 mechanicus systemd[937]: wireplumber.service: Scheduled restart job, restart counter is at 2.
Apr 06 19:51:25 mechanicus systemd[937]: Started Multimedia Service Session Manager.
Apr 06 19:51:25 mechanicus systemd[937]: wireplumber.service: Main process exited, code=exited, status=203/EXEC
Apr 06 19:51:25 mechanicus systemd[937]: wireplumber.service: Failed with result 'exit-code'.
Apr 06 19:51:25 mechanicus systemd[937]: wireplumber.service: Scheduled restart job, restart counter is at 3.
Apr 06 19:51:25 mechanicus systemd[937]: Started Multimedia Service Session Manager.
Apr 06 19:51:25 mechanicus systemd[937]: wireplumber.service: Main process exited, code=exited, status=203/EXEC
Apr 06 19:51:25 mechanicus systemd[937]: wireplumber.service: Failed with result 'exit-code'.
Apr 06 19:51:25 mechanicus systemd[937]: wireplumber.service: Scheduled restart job, restart counter is at 4.
Apr 06 19:51:25 mechanicus systemd[937]: Started Multimedia Service Session Manager.
Apr 06 19:51:25 mechanicus systemd[937]: wireplumber.service: Main process exited, code=exited, status=203/EXEC
Apr 06 19:51:25 mechanicus systemd[937]: wireplumber.service: Failed with result 'exit-code'.
Apr 06 19:51:25 mechanicus systemd[937]: wireplumber.service: Scheduled restart job, restart counter is at 5.
Apr 06 19:51:25 mechanicus systemd[937]: wireplumber.service: Start request repeated too quickly.
Apr 06 19:51:25 mechanicus systemd[937]: wireplumber.service: Failed with result 'exit-code'.
Apr 06 19:51:25 mechanicus systemd[937]: Failed to start Multimedia Service Session Manager.Granted I can run wireplumber manually and that's fine, but I would like this to just work. It's not clear to me why it starts but then exits in systemd
EDIT: Actually, there's this too:
❯ systemctl --user status wireplumber
× wireplumber.service - Multimedia Service Session Manager
Loaded: loaded (/usr/local/lib/systemd/user/wireplumber.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Sat 2024-04-06 19:51:25 EDT; 9min ago
Duration: 872us
Process: 997 ExecStart=/usr/local/bin/wireplumber (code=exited, status=203/EXEC)
Main PID: 997 (code=exited, status=203/EXEC)
CPU: 697us
Apr 06 19:51:25 mechanicus systemd[937]: wireplumber.service: Scheduled restart job, restart counter is at 5.
Apr 06 19:51:25 mechanicus systemd[937]: wireplumber.service: Start request repeated too quickly.
Apr 06 19:51:25 mechanicus systemd[937]: wireplumber.service: Failed with result 'exit-code'.
Apr 06 19:51:25 mechanicus systemd[937]: Failed to start Multimedia Service Session Manager.so it's still looking for wireplumber in /usr/local/bin, how can I tell my system to find the binary in /usr/bin/ instead?
EDIT 2: Got it, was able to edit ExecStart's value in ~/.config/systemd/user/pipewire-session-manager.service to resolve this part
Last edited by geistnine (2024-04-07 00:50:55)
Offline
Why does any of that exist? None of those should be present on a normal install, no binaries in /usr/local and no custom service files in ~/.config/systemd/user/pipewire-session-manager.service either.
It sounds like you experimented with a custom/from source install of wireplumber/pipewire for some reason and now have residues scattered around that conflict with package defaults.
Offline
That must be it exactly. I wasn't aware of how building from source and package managers use different install directories (seems obvious now) so this is how I pay for being frivolous with that I guess
Offline