My first post on this forum and unfortunately it’s a cry for help. 2 days ago after trying to install a remote management tool (XRDP) on my Kubuntu machine, a few things went haywire. The screen on the Kubuntu machine went black after I connected to it from my Windows machine. Couldn’t get it back on and from the Windows machine there was nothing I could do either.
Eventually I just held the power button for 5 seconds to shut down Kubuntu. Upon restarting, the whole audio system was borked. The sound settings and volume manager showed no output devices except for the Dummy Output.
I’ve since tried the following things, gathered from several different sources on the web. What immediately caught my eye was that inxi -SMA showed both ALSA and PipeWire sound servers running. To my knowledge I never did anything with PipeWire and I expected to see the PulseAudio server running here. Could be normal, but I’m still somewhat of a novice when it comes to all things Linux, so can’t really be sure if this is ok.
inxi -SMA
Audio:
Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor HD Audio
driver: snd_hda_intel
Device-2: Intel 8 Series/C220 Series High Definition Audio
driver: snd_hda_intel
Sound Server-1: ALSA v: k5.15.0-41-generic running: yes
Sound Server-2: PipeWire v: 0.3.48 running: yes
sudo alsa force-reload
rebooted - No result
sudo apt-get install --reinstall alsa-base pulseaudio + sudo alsa force-reload
Rebooted - No result
pulseaudio --start
No result
mv ~/.config/pulse ~/.config/old_pulse
No result
Opened alsamixer in the console
See included pictures
systemctl status pulseaudio
Unit pulseaudio.service could not be found.
sudo systemctl enable pulseaudio.socket
Failed to enable unit: Unit file pulseaudio.socket does not exist.
systemctl --user start pulseaudio.service/socket
Invalid unit name "pulseaudio.service/socket" escaped as "pulseaudio.service-socket" (maybe you should use systemd-escape?).
Failed to start pulseaudio.service-socket.service: Unit pulseaudio.service-socket.service not found.
sudo systemctl --user unmask pulseaudio
Failed to connect to bus: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)
systemctl --user status pulseaudio.service
× pulseaudio.service - Sound Service
Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2022-07-14 14:35:12 CEST; 20s ago
TriggeredBy: × pulseaudio.socket
Process: 4580 ExecStart=/usr/bin/pulseaudio --daemonize=no --log-target=journal (code=exited, status=1/FAILURE)
Main PID: 4580 (code=exited, status=1/FAILURE)
CPU: 19ms
Jul 14 14:35:12 Kubuntu systemd[1317]: pulseaudio.service: Scheduled restart job, restart counter is at 5.
Jul 14 14:35:12 Kubuntu systemd[1317]: Stopped Sound Service.
Jul 14 14:35:12 Kubuntu systemd[1317]: pulseaudio.service: Start request repeated too quickly.
Jul 14 14:35:12 Kubuntu systemd[1317]: pulseaudio.service: Failed with result 'exit-code'.
Jul 14 14:35:12 Kubuntu systemd[1317]: Failed to start Sound Service.
As it turns out pulseaudio-enable-autospawn.service somehow got masked. I’ve had this problem in the past and it took me a while to figure out how to unmask it. Now I’ve tried to same steps to unmask a service as suggested here: systemctl, how to unmask but it just won’t work.
file /lib/systemd/system/pulseaudio-enable-autospawn.service
/lib/systemd/system/pulseaudio-enable-autospawn.service: symbolic link to /dev/null
Shows that there is a sym link to dev/null which is why the unmask command won’t work as I understand it.
As per the instructions in the above link I’ve tried to remove the sym link.
sudo rm /lib/systemd/system/pulseaudio-enable-autospawn.service
[sudo] password for <username>:
There was no output here, which should mean the command was success, right?
Next step was
systemctl status pulseaudio-enable-autospawn.service
Unit pulseaudio-enable-autospawn.service could not be found.
Then tried the following:
systemctl status | grep pulse
│ │ │ │ ├─3540 pulseaudio --start
│ │ │ │ ├─3544 /usr/libexec/pulse/gsettings-helper
│ │ │ │ └─7650 grep --color=auto pulse
│ │ ├─7132 journalctl -q --no-tail --output=json --cursor=s=78e72f498f7945ebb33faf7eb0033abd;i=2c906;b=09a3abafd9944308b57118d761ce1ecb;m=d5b2d7f;t=5e3afa75d18e6;x=6bd340f3a4273938 --follow -- _SYSTEMD_UNIT=pulseaudio-enable-autospawn.service + COREDUMP_UNIT=pulseaudio-enable-autospawn.service + UNIT=pulseaudio-enable-autospawn.service
│ │ └─7133 journalctl -q --no-tail --output=json --cursor=s=78e72f498f7945ebb33faf7eb0033abd;i=2c906;b=09a3abafd9944308b57118d761ce1ecb;m=d5b2d7f;t=5e3afa75d18e6;x=6bd340f3a4273938 --follow -- _SYSTEMD_UNIT=pulseaudio-enable-autospawn.service + COREDUMP_UNIT=pulseaudio-enable-autospawn.service + UNIT=pulseaudio-enable-autospawn.service
I'm not sure what I’m looking at here, maybe someone here can make sense of it.
At this point I am at the end of my wits, frustrated to the point I’m almost willing to reinstall Kubuntu and take the hit of having to set it up all over again. I've spent hours searching the internet and trying every conceivable suggestion that popped up.
From what I can tell the problem starts with pulseaudio-enable-autospawn.service being masked. To be completely honest, I would not be surprised if something went wrong in my attempt to unmask it, after 2 days I may not be thinking so clearly anymore.
__
Quick update; I started up the computer again to do something else, but out of curiosity I had a look at that annoying pulseaudio-enable-autospawn.service. To my surprise it was no longer masked and actually running as well. There still weren't any output devices visible so I had a look at other sound-related services. It turned out that /usr/lib/systemd
/user/pulseaudio.serviceand
/usr/lib/systemd/user/pipewire-pulse.service` were inactive. I started them both and sound was restored, both the internal speakers of my Lenovo ThinkCentre and the HDMI output are working again.
I'm not sure how this happened, and I'm pretty sure that after a reboot it will break again. Also, the standard volume control in the bottom panel still isn't showing the output devices, but I'm hoping that's a quick fix for later.
I'm still curious what went wrong, so if anybody can spot the problem, feel free to comment. With any luck it can help prevent this problem in the future, both for others and myself.
As suspected, upon rebooting Kubuntu the issue was back. The Pulseaudio service was enabled but won't auto-start after login.
I attempted a couple more things:
systemctl --user start pulseaudio.service
Job for pulseaudio.service failed because the control process exited with error code.
See "systemctl --user status pulseaudio.service" and "journalctl --user -xeu pulseaudio.service" for details.
systemctl --user status pulseaudio
× pulseaudio.service - Sound Service
Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2022-07-14 19:31:08 CEST; 10min ago
TriggeredBy: × pulseaudio.socket
Process: 9101 ExecStart=/usr/bin/pulseaudio --daemonize=no --log-target=journal (code=exited, status=1/FAI>
Main PID: 9101 (code=exited, status=1/FAILURE)
CPU: 108ms
Jul 14 19:31:08 Kubuntu systemd[1328]: pulseaudio.service: Scheduled restart job, restart counter is at 5.
Jul 14 19:31:08 Kubuntu systemd[1328]: Stopped Sound Service.
Jul 14 19:31:08 Kubuntu systemd[1328]: pulseaudio.service: Start request repeated too quickly.
Jul 14 19:31:08 Kubuntu systemd[1328]: pulseaudio.service: Failed with result 'exit-code'.
Jul 14 19:31:08 Kubuntu systemd[1328]: Failed to start Sound Service.
pulseaudio –start
E: [pulseaudio] main.c: Daemon startup failed.
systemctl --user status pulseaudio.socket
× pulseaudio.socket - Sound System
Loaded: loaded (/usr/lib/systemd/user/pulseaudio.socket; enabled; vendor preset: enabled)
Active: failed (Result: service-start-limit-hit) since Thu 2022-07-14 19:31:08 CEST; 14min ago
Triggers: ● pulseaudio.service
Listen: /run/user/1000/pulse/native (Stream)
Jul 14 19:31:05 Kubuntu systemd[1328]: Listening on Sound System.
Jul 14 19:31:08 Kubuntu systemd[1328]: pulseaudio.socket: Failed with result 'service-start-limit-hit'.
Basically there was no way that the Pulseaudio service could be started. The only thing that happened is that the internal speakers started making crackly plopping noises.
Rebooted again, and this time I was able to manually start the service and sound worked again. I used the app "Cockpit" (see screenshot below) to start it as I wasn't sure anymore how to start a service the proper way.
The problem now is that the Pulseaudio service won't start on it's own, and for today I'm done trying to fix it. Hopefully in the coming days someone is able to point me in the right direction...
As requested:
dpkg -l | grep pipewire
ii libpipewire-0.3-0:amd64 0.3.48-1ubuntu1 amd64 libraries for the PipeWire multimedia server
ii libpipewire-0.3-common 0.3.48-1ubuntu1 all libraries for the PipeWire multimedia server - common files
ii libpipewire-0.3-modules:amd64 0.3.48-1ubuntu1 amd64 libraries for the PipeWire multimedia server - modules
ii pipewire:amd64 0.3.48-1ubuntu1 amd64 audio and video processing engine multimedia server
ii pipewire-bin 0.3.48-1ubuntu1 amd64 PipeWire multimedia server - programs
ii pipewire-media-session 0.4.1-2ubuntu1 amd64 example session manager for PipeWire
ii pipewire-pulse 0.3.48-1ubuntu1 amd64 PipeWire PulseAudio daemon
Meanwhile I found a small workaround that temporarily fixes the issue. After logging in on Kubuntu there are no output devices. When I issue the commands "systemctl --user stop pipewire-pulse" followed by "systemctl --user start pulseaudio" things are back to normal. I'm not sure why, but it seems that as long as the pipewire-pulse service is running, the pulseaudio service cannot be started.
Thanks for your suggestion to mask pipewire-pulse.service and pipewire-pulse.socket, nobody. I will try later and report my findings.
-edit
I don´t have much to report anymore when it comes to PulseAudio. Decided to try PipeWire instead and that works fine so far. Consider this problem solved.
dpkg -l | grep pipewire
– nobody Jul 16 '22 at 09:58systemctl --user mask pipewire-pulse.service pipewire-pulse.socket
I have no jammy so I'm unsure about dependence when try to remove package pipewire-pulse – nobody Jul 17 '22 at 10:52