Bug 1960890 - After Logging out/crashing gnome-shell, and logging back in, sound is broken
Summary: After Logging out/crashing gnome-shell, and logging back in, sound is broken
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: pipewire
Version: 34
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Wim Taymans
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-05-15 20:50 UTC by Alan Jenkins
Modified: 2021-05-23 08:39 UTC (History)
4 users (show)

Fixed In Version: pipewire-0.3.28-1.fc34
Clone Of:
Environment:
Last Closed: 2021-05-20 01:12:31 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Alan Jenkins 2021-05-15 20:50:08 UTC
Description of problem:

If I log out/crash gnome-shell and log back in, I have no sound and no volume controls.

Currently gnome-shell seems to crashi every time I log out (bug #1944152).  But don't worry about that.  I should be able to choose to kill or crash gnome-shell, then log back in, and my sound should work.

Version-Release number of selected component (if applicable):
pipewire-0.3.27-2.fc34.x86_64

How reproducible: always

Steps to Reproduce:
1. boot/reboot Fedora Workstation
2. log in to gnome
3. click on the gnome top bar on the right. Notice I have a brightness slider, and a volume slider.
4. killall -9 gnome-shell
5. log in to gnome again
6. click on the gnome top bar on the right and look for the volume slider

Actual results:
There is no volume slider and I cannot play sound e.g. Youtube.

Expected results:
There is a volume slider and I can play sound.

Additional info:
"pactl list" still seems able to connect to pipewire-pulseaudio.

You might see some errors in the log if you try to use sound:

May 15 21:30:20 alan-laptop pipewire-pulse[2114]: pulse-server 0x563578f444a0: [PulseAudio Volume Control] ERROR command:87 (EXTENSION) tag:12 error:19 (Operation not supported)
May 15 21:30:20 alan-laptop pipewire-pulse[2114]: pulse-server 0x563578f444a0: [PulseAudio Volume Control] ERROR command:87 (EXTENSION) tag:13 error:19 (Operation not supported)
May 15 21:30:20 alan-laptop pipewire-pulse[2114]: pulse-server 0x563578f444a0: [PulseAudio Volume Control] ERROR command:87 (EXTENSION) tag:14 error:19 (Operation not supported)
May 15 21:30:20 alan-laptop pipewire-pulse[2114]: pulse-server 0x563578f444a0: [PulseAudio Volume Control] ERROR command:87 (EXTENSION) tag:15 error:19 (Operation not supported)
May 15 21:30:50 alan-laptop pipewire-pulse[2114]: stream 0x563578ff41c0: error no node available
May 15 21:30:50 alan-laptop pipewire-pulse[2114]: pulse-server 0x563578f448a0: [Mutter] ERROR command:-1 (invalid) tag:10 error:25 (Input/output error)
May 15 21:30:59 alan-laptop pipewire-pulse[2114]: stream 0x563578fa3fc0: error no node available
May 15 21:30:59 alan-laptop pipewire-pulse[2114]: pulse-server 0x563578f448a0: [Mutter] ERROR command:-1 (invalid) tag:18 error:25 (Input/output error)


It seems a bit weird that pipewire stayed alive even after logging out of gnome-shell.  That is, after performing the above steps, I notice the pipewire instance was started long before the current gnome-shell instance:


$ systemctl status --user pipewire org.gnome.Shell@wayland -n0
● pipewire.service - Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; disabled; vendor preset: disabled)
     Active: active (running) since Sat 2021-05-15 21:23:57 BST; 16min ago
TriggeredBy: ● pipewire.socket
   Main PID: 2113 (pipewire)
      Tasks: 4 (limit: 9290)
     Memory: 6.7M
        CPU: 199ms
     CGroup: /user.slice/user-1000.slice/user/session.slice/pipewire.service
             ├─2113 /usr/bin/pipewire
             └─2119 /usr/bin/pipewire-media-session

● org.gnome.Shell - GNOME Shell on Wayland
     Loaded: loaded (/usr/lib/systemd/user/org.gnome.Shell; static)
     Active: active (running) since Sat 2021-05-15 21:24:42 BST; 15min ago
    Process: 3491 ExecCondition=/bin/sh -c test "$XDG_SESSION_TYPE" = "wayland" || exit 2 (code=exited, status=0/SUCCESS)
   Main PID: 3493 (gnome-shell)
      Tasks: 32 (limit: 9290)
     Memory: 225.7M
        CPU: 1min 12.530s
     CGroup: /user.slice/user-1000.slice/user/session.slice/org.gnome.Shell
             ├─3493 /usr/bin/gnome-shell
             ├─3573 ibus-daemon --panel disable
             ├─3584 /usr/libexec/ibus-dconf
             ├─3585 /usr/libexec/ibus-extension-gtk3
             └─3890 /usr/libexec/ibus-engine-simple

Comment 1 Alan Jenkins 2021-05-16 13:20:20 UTC
Sound starts working again if I run the command:

    systemctl --user restart pipewire pipewire-pulse

I checked, and I have to restart both services in order to fix sound fully:

* If I only restart pipewire, it lets me go to the Sound section in gnome Settings app and play test sounds etc.
* If I restart pipewire-pulse as well, that's what gets the volume control back in gnome-shell.

Restarting pipewire gives a huge diff in the output of "pactl list".  Before the restart, no lines contain "alsa".  After the restart, I can see alsa objects.  (I think this happened after just restarting pipewire? Don't think I needed to restart pipewire-pulse for this to happen).

Comment 2 Fedora Update System 2021-05-19 08:48:28 UTC
FEDORA-2021-28d7b1f215 has been submitted as an update to Fedora 34. https://bodhi.fedoraproject.org/updates/FEDORA-2021-28d7b1f215

Comment 3 Fedora Update System 2021-05-20 01:12:31 UTC
FEDORA-2021-28d7b1f215 has been pushed to the Fedora 34 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.