pop-os / pop

A project for managing all Pop!_OS sources
https://system76.com/pop
2.44k stars 87 forks source link

Broken audio control after upgrade from 21.10 to 22.04 #2339

Closed pvl26 closed 2 years ago

pvl26 commented 2 years ago

Distribution: NAME="Pop!_OS" VERSION="22.04 LTS" ID=pop ID_LIKE="ubuntu debian" PRETTY_NAME="Pop!_OS 22.04 LTS" VERSION_ID="22.04" HOME_URL="https://pop.system76.com" SUPPORT_URL="https://support.system76.com" BUG_REPORT_URL="https://github.com/pop-os/pop/issues" PRIVACY_POLICY_URL="https://system76.com/privacy" VERSION_CODENAME=jammy UBUNTU_CODENAME=jammy LOGO=distributor-logo-pop-os

Issue Description: Hello guy, I've upgraded from 21.10 to 22.04 and now my audio control is broken, it looks like there are no input/output devices. The sound from both input and output devices of my laptop work, no external mic/headphone though. I have to mention that in the live recovery partition everything looks fine.

What I need is to be able to control the input/output sound devices once again :)

If I try to reinstall pulseaudio I get the following errors:

> sudo apt install pulseaudio
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 pop-desktop : Conflicts: pulseaudio
               Recommends: io.elementary.sideload but it is not installable
               Conflicts: pulseaudio:i386
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

Any ideas on what can I do?

image image

axiomjoyride commented 2 years ago

I can confirm this issue and it is not only in upgrading from 21.10. I am running a fresh install of 22.04. 'Alsamixer' shows the Chip to be Realtek ALC898. Just as the above, Gnome fails to show any device options,and provides no sound. 'Alsamixer' shows that all channels are open and at full volume.

Using 'aplay', I was able to confirm that sound does work as it was able to play a test wav.

Using 'pactl info' I recleve a Connection failure: Connection refused.

'systemctl --user status pipewire-pulse.service' :

● pipewire-pulse.service - PipeWire PulseAudio Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2022-05-02 01:02:00 EDT; 2min 55s ago TriggeredBy: ● pipewire-pulse.socket Main PID: 12349 (pipewire-pulse) Tasks: 2 (limit: 38324) Memory: 1.1M CPU: 73ms CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire-pulse.service └─12349 /usr/bin/pipewire-pulse

May 02 01:04:50 wily pipewire-pulse[12349]: mod.protocol-pulse: 0x559234bcc6b0: failed to connect client: Host is down May 02 01:04:50 wily pipewire-pulse[12349]: mod.protocol-pulse: client 0x559234be5f80 [GNOME Shell Volume Control]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:6 (Host is down) May 02 01:04:50 wily pipewire-pulse[12349]: mod.protocol-pulse: 0x559234bcc6b0: failed to connect client: Host is down May 02 01:04:50 wily pipewire-pulse[12349]: mod.protocol-pulse: client 0x559234be5f80 [GNOME Volume Control Media Keys]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:6 (Host is down) May 02 01:04:54 wily pipewire-pulse[12349]: mod.protocol-pulse: 0x559234bcc6b0: failed to connect client: Host is down May 02 01:04:54 wily pipewire-pulse[12349]: mod.protocol-pulse: client 0x559234be5f80 [GNOME Settings]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:6 (Host is down) May 02 01:04:55 wily pipewire-pulse[12349]: mod.protocol-pulse: 0x559234bcc6b0: failed to connect client: Host is down May 02 01:04:55 wily pipewire-pulse[12349]: mod.protocol-pulse: client 0x559234be5f80 [GNOME Shell Volume Control]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:6 (Host is down) May 02 01:04:55 wily pipewire-pulse[12349]: mod.protocol-pulse: 0x559234bcc6b0: failed to connect client: Host is down May 02 01:04:55 wily pipewire-pulse[12349]: mod.protocol-pulse: client 0x559234be5f80 [GNOME Volume Control Media Keys]: ERROR command:9 (SET_CLIENT_NAME) tag:1 error:6 (Host is down)

axiomjoyride commented 2 years ago

Solution:

After some testing, I figured out the problem is with Pipewire not being started due to it being masked. This was discovered when checking if wireplumber was enabled. After reinstalling the pipewire package, simply:

systemctl --user --now enable pipewire pipewire-pulse

Devices immediately show up in Gnome and audio is working.

pvl26 commented 2 years ago

For me pipewire-pulse.service seems to be masked too. When I try to unmask it it says that the unit does not exist. How did you exactly reinstall it?

pvl26 commented 2 years ago

I also have to mention I was using pulseaudio before this update if I recall correctly, I know pipewire does not get along with pulseaudio very well. Both systemctl services of pipewire and pulseautio are masked, this I think is the problem, but I can't get them unmasked Also i have missing pipewire service config files in /etc/systemd/user/:

> ls
default.target.wants        graphical-session-pre.target.wants  pipewire.service.wants            pop-system-updater-local.service  pulseaudio.socket     timers.target.wants
gnome-session.target.wants  mate-session.target.wants           pipewire-session-manager.service  pulseaudio.service                sockets.target.wants  xfce-session.target.wants
axiomjoyride commented 2 years ago

My apologies.

You need to run:

sudo apt reinstall pipewire pipewire-pulse

I am not in front of my system to recall so it is either pipewire or pipewire-bin

Once complete:

systemctl --user --now enable pipewire pipewire-pulse

Sent from ProtonMail for iOS

On Tue, May 3, 2022 at 16:27, Pavel-Vlad Mateescu @.***> wrote:

I also have to mention I was using pulseaudio before this update if I recall correctly, I know pipewire does not get along with pulseaudio very well. Both systemctl services of pipewire and pulseautio are masked, this I think is the problem, but I can't get them unmasked Also i have missing pipewire service config files in /etc/systemd/user/:

ls default.target.wants graphical-session-pre.target.wants pipewire.service.wants pop-system-updater-local.service pulseaudio.socket timers.target.wants gnome-session.target.wants mate-session.target.wants pipewire-session-manager.service pulseaudio.service sockets.target.wants xfce-session.target.wants

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

owlmaniac commented 2 years ago

My apologies. You need to run: sudo apt reinstall pipewire pipewire-pulse I am not in front of my system to recall so it is either pipewire or pipewire-bin Once complete: systemctl --user --now enable pipewire pipewire-pulse Sent from ProtonMail for iOS On Tue, May 3, 2022 at 16:27, Pavel-Vlad Mateescu @.> wrote: I also have to mention I was using pulseaudio before this update if I recall correctly, I know pipewire does not get along with pulseaudio very well. Both systemctl services of pipewire and pulseautio are masked, this I think is the problem, but I can't get them unmasked Also i have missing pipewire service config files in /etc/systemd/user/: > ls default.target.wants graphical-session-pre.target.wants pipewire.service.wants pop-system-updater-local.service pulseaudio.socket timers.target.wants gnome-session.target.wants mate-session.target.wants pipewire-session-manager.service pulseaudio.service sockets.target.wants xfce-session.target.wants — Reply to this email directly, [view it on GitHub](#2339 (comment)), or unsubscribe. You are receiving this because you commented.Message ID: @.>

Thanks this has worked for me but pulseaudio-utils remains and I can't even purge it.


The following packages have unmet dependencies:
 pop-desktop : Depends: pulseaudio-utils but it is not going to be installed
               Recommends: io.elementary.sideload but it is not installable
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.```
is there a way to fix this?
pvl26 commented 2 years ago

So, thanks to @axiomjoyride I managed to make it work What did the trick is reinstalling pipewire-bin i think or the fact that I used reinstall this time, not --reinstall install. Here are the commands that should solve the issue:

sudo apt reinstall pipewire pipewire-bin pipewire-pulse
systemctl --user --now enable pipewire pipewire-pulse

I have to say pulseaudio it's still on my system, but at least the service is masked so hopefully there will be no clashes with pipewire

I'll close this for now, hopefully the beautiful devs at system76 will figure this one out ❤️

axiomjoyride commented 2 years ago

My apologies. You need to run: sudo apt reinstall pipewire pipewire-pulse I am not in front of my system to recall so it is either pipewire or pipewire-bin Once complete: systemctl --user --now enable pipewire pipewire-pulse Sent from ProtonMail for iOS On Tue, May 3, 2022 at 16:27, Pavel-Vlad Mateescu @.**> wrote: I also have to mention I was using pulseaudio before this update if I recall correctly, I know pipewire does not get along with pulseaudio very well. Both systemctl services of pipewire and pulseautio are masked, this I think is the problem, but I can't get them unmasked Also i have missing pipewire service config files in /etc/systemd/user/: > ls default.target.wants graphical-session-pre.target.wants pipewire.service.wants pop-system-updater-local.service pulseaudio.socket timers.target.wants gnome-session.target.wants mate-session.target.wants pipewire-session-manager.service pulseaudio.service sockets.target.wants xfce-session.target.wants — Reply to this email directly, [view it on GitHub](#2339 (comment)), or unsubscribe. You are receiving this because you commented.Message ID: @.**>

Thanks this has worked for me but pulseaudio-utils remains and I can't even purge it.

The following packages have unmet dependencies:
 pop-desktop : Depends: pulseaudio-utils but it is not going to be installed
               Recommends: io.elementary.sideload but it is not installable
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.```
is there a way to fix this?

You still need to have the pulseaudio-utils. Pipewire is the now your sound server, but the utils are there for applications who talk to pulseaudio to do so even though pipewire is playing the role instead.

charleskyalo commented 2 years ago

So, thanks to @axiomjoyride I managed to make it work What did the trick is reinstalling pipewire-bin i think or the fact that I used reinstall this time, not --reinstall install. Here are the commands that should solve the issue:

sudo apt reinstall pipewire pipewire-bin pipewire-pulse
systemctl --user --now enable pipewire pipewire-pulse

I have to say pulseaudio it's still on my system, but at least the service is masked so hopefully there will be no clashes with pipewire

I'll close this for now, hopefully the beautiful devs at system76 will figure this one out heart I ran the commands but I cannot get audio from my pc

sumdahl commented 2 years ago

Thanks for the solution, I also had the same trouble and this thread helped me to fix out.

badbabykosh commented 2 years ago

For any traveler that finds this. Tried this on my Oryx to solve the choppy audio in Discord. No Joy

tnfru commented 2 years ago

Documentation should be updated, it still talks about pulseaudio: https://support.system76.com/articles/audio/

leviport commented 2 years ago

@tnfru an update is in progress: https://github.com/system76/docs/pull/1005

norogoth commented 2 years ago

So, thanks to @axiomjoyride I managed to make it work What did the trick is reinstalling pipewire-bin i think or the fact that I used reinstall this time, not --reinstall install. Here are the commands that should solve the issue:

sudo apt reinstall pipewire pipewire-bin pipewire-pulse
systemctl --user --now enable pipewire pipewire-pulse

I have to say pulseaudio it's still on my system, but at least the service is masked so hopefully there will be no clashes with pipewire

I'll close this for now, hopefully the beautiful devs at system76 will figure this one out heart

Hmm. This did not change anything for me. I have pipewire, pipewire-pulse and piewire-utils

sumdahl commented 2 years ago

this command: ps -e | grep pipewire gives: 1894 ? 00:00:12 pipewire 1905 ? 00:00:21 pipewire-pulse

I want to know if pipewire is working or not ?

norogoth commented 2 years ago

I get

laotzu@pop-os:/lib/systemd/system$ ps -e | grep pipewire
   1897 ?        00:00:05 pipewire
   1898 ?        00:00:09 pipewire-pulse
Ceridan commented 2 years ago

I have the same problem with audio. When I am trying to run this:

sudo systemctl --user --now enable pipewire pipewire-pulse

I have got the error:

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)

If I run it without sudo, I have got another error:

Unit /home/ceridan/.config/systemd/user/pipewire.socket is masked, ignoring.
Failed to start pipewire.service: Unit pipewire.socket is masked.

Could you suggest to me how to handle this?

norogoth commented 2 years ago

Seems like I should stick to 21.10 to wait for this issue to be fixed. Someone correct me if I am wrong.

jasonfish commented 2 years ago

Issue still occurs on last night's fresh install.

lucassalaz4r commented 2 years ago

Solution:

After some testing, I figured out the problem is with Pipewire not being started due to it being masked. This was discovered when checking if wireplumber was enabled. After reinstalling the pipewire package, simply:

systemctl --user --now enable pipewire pipewire-pulse

Devices immediately show up in Gnome and audio is working.

I had this same issue, and this solution worked fine for me. Thank you so much for sharing it, i've spent my hole morning trying to solve this.

jasonfish commented 2 years ago

That does work, but I had to repeat every 2-3 days. Running another distro for now, while watching for a fix.

norogoth commented 2 years ago

Yeah I have had to stop using Pop for this reason as well.

richardARPANET commented 2 years ago

+1

owlmaniac commented 2 years ago

This might have been fixed(I'm not sure). I used to get the error and had to fix it with the solution given above every few days or a week before, but for the last 1 month or so I haven't received this error.

richardARPANET commented 2 years ago

https://support.system76.com/articles/audio/

doing these steps (mainly rm -r ~/.config/pulse) then restarting fixed it for me

mylobits commented 2 years ago

My apologies. You need to run: sudo apt reinstall pipewire pipewire-pulse I am not in front of my system to recall so it is either pipewire or pipewire-bin Once complete: systemctl --user --now enable pipewire pipewire-pulse Sent from ProtonMail for iOS On Tue, May 3, 2022 at 16:27, Pavel-Vlad Mateescu @.> wrote: I also have to mention I was using pulseaudio before this update if I recall correctly, I know pipewire does not get along with pulseaudio very well. Both systemctl services of pipewire and pulseautio are masked, this I think is the problem, but I can't get them unmasked Also i have missing pipewire service config files in /etc/systemd/user/: > ls default.target.wants graphical-session-pre.target.wants pipewire.service.wants pop-system-updater-local.service pulseaudio.socket timers.target.wants gnome-session.target.wants mate-session.target.wants pipewire-session-manager.service pulseaudio.service sockets.target.wants xfce-session.target.wants — Reply to this email directly, [view it on GitHub](#2339 (comment)), or unsubscribe. You are receiving this because you commented.Message ID: @.>

Thank you this work for me!

UrsusLvovich commented 1 year ago

I just wanted to give my 2 cents. I installed Pop OS about a week ago, everything running smoothly. All of a sudden I get this exact same issue, and the work around did work for me. I'm wondering if this is going to be a recurring issue with Pop OS. Is there anything being done about it? I see some documentation was updated but didn't highlight the issue in question. Pretty unfortunate that this issue is still happening after so long in 22.04

tudorjnu commented 1 year ago

Writing to confirm it is still occurring. This is what my system looks like when running inxi -SMA:

System:
  Host: pop-os Kernel: 6.2.6-76060206-generic x86_64 bits: 64
    Desktop: GNOME 42.5 Distro: Pop!_OS 22.04 LTS
Audio:
  Device-1: NVIDIA TU106 High Definition Audio driver: snd_hda_intel
  Device-2: AMD Starship/Matisse HD Audio driver: snd_hda_intel
  Device-3: Logitech HD Pro Webcam C920 type: USB
    driver: snd-usb-audio,uvcvideo
  Sound Server-1: ALSA v: k6.2.6-76060206-generic running: yes
  Sound Server-2: PipeWire v: 0.3.69 running: yes

The issue happened again and managed to fix it before, but it seems it came back after an update.

ghost commented 1 year ago

After a year of using pop_os without problems, yesterday my laptop suddenly lost the sound, I have tried everything the official guide says (https://support.system76.com/articles/audio/) and I have not obtained any kind of result.

Audio:
  Device-1: Intel Comet Lake PCH cAVS driver: snd_hda_intel
  Device-2: NVIDIA driver: snd_hda_intel
  Device-3: DCMT USB Condenser Microphone type: USB
    driver: hid-generic,snd-usb-audio,usbhid
  Sound Server-1: ALSA v: k6.2.6-76060206-generic running: yes
  Sound Server-2: PipeWire v: 0.3.69 running: yes

The only ouput device is "Dummy output"

leviport commented 1 year ago

There was an upstream regression that broke audio on certain hardware configurations. It looks like https://github.com/pop-os/pipewire/pull/49 fixes it for many. That's not an update we're likely to release on a Friday, but if you'd like to test it yourself, you can add the staging repo with these commands:

apt-manage add popdev:pipewire-0.3.70
sudo apt update && sudo apt upgrade

and then reboot.

Once that PR is merged, the source will 404 when running apt commands, at which point you will want to remove it with this command:

apt-manage remove popdev-pipewire-0-3-70
tudorjnu commented 1 year ago

Update: I fixed it by performing an OS Refresh (not the best but it worked). If anything else fails, at least I am happy System76 gave us this option 👍

Writing to confirm it is still occurring. This is what my system looks like when running inxi -SMA:

System:
  Host: pop-os Kernel: 6.2.6-76060206-generic x86_64 bits: 64
    Desktop: GNOME 42.5 Distro: Pop!_OS 22.04 LTS
Audio:
  Device-1: NVIDIA TU106 High Definition Audio driver: snd_hda_intel
  Device-2: AMD Starship/Matisse HD Audio driver: snd_hda_intel
  Device-3: Logitech HD Pro Webcam C920 type: USB
    driver: snd-usb-audio,uvcvideo
  Sound Server-1: ALSA v: k6.2.6-76060206-generic running: yes
  Sound Server-2: PipeWire v: 0.3.69 running: yes

The issue happened again and managed to fix it before, but it seems it came back after an update.

carlos-edulira commented 1 year ago

I had this problem The following packages have unmet dependencies: pop-desktop : Conflicts: pulseaudio Recommends: io.elementary.sideload but it is not installable Conflicts: pulseaudio:i386 E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

Fixed: I tried a lot ways... so the last was:

apt-manage add popdev:pipewire-0.3.70 sudo apt update && sudo apt upgrade

reboot: apt-manage remove popdev-pipewire-0-3-70

and restart the PopOS with recovery mode. Select: dpkg - Repair broken packages update grub bootloader

after reboot works for me.

nerdxio commented 1 year ago

I have same problem and i tried all the ways and still as it, but the only different when i run the pavucontrol command show me there is sound played but noting go out the speaks! Screencast from 08-25-2023 03:47:35 PM.webm

carlos-edulira commented 1 year ago

And after some weeks, the sound bug again.

I guess this problem happen only in Gnome, if you try use distros KDE does not happens. Im using Kubuntu for 3 months and the audio always works, i tryed other distros KDE and works always, so i guess its a Gnome problem.

MacharlaLalithAkash commented 1 year ago

So, thanks to @axiomjoyride I managed to make it work What did the trick is reinstalling pipewire-bin i think or the fact that I used reinstall this time, not --reinstall install. Here are the commands that should solve the issue:

sudo apt reinstall pipewire pipewire-bin pipewire-pulse
systemctl --user --now enable pipewire pipewire-pulse

I have to say pulseaudio it's still on my system, but at least the service is masked so hopefully there will be no clashes with pipewire

I'll close this for now, hopefully the beautiful devs at system76 will figure this one out ❤️

This solution worked for me! Thank you so much for the solution.