Bug 2019339

Summary: No sound, no video playback after upgrade to Fedora 35
Product: [Fedora] Fedora Reporter: Jens Reimann <jreimann>
Component: pipewire-media-sessionAssignee: Peter Hutterer <peter.hutterer>
Status: CLOSED EOL QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 35CC: peter.hutterer, pmarciniak, prl-bugzilla.redhat.com, wtaymans
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-12-13 15:44:27 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jens Reimann 2021-11-02 09:53:01 UTC
Description of problem:

After upgrading to Fedora 35, no audio or video playback was possible. Including, but no limited to, browser (youtube, vimeo), Spotify client, …

Version-Release number of selected component (if applicable):

35

How reproducible:

Always.

Steps to Reproduce:
1. Use Fedora 34
2. Upgrade to 35
3. BOOM

Actual results:

Does not play back

Expected results:

Plays back as with 35.

Additional info:

Can be restored with:

~~~
sudo dnf swap wireplumber pipewire-media-session
~~~

Comment 1 Peter Lister 2021-11-05 14:26:56 UTC
I updated from FC33->34 with no sound problems, but lost sound yesterday after update FC34->35.

Noting the workround above and this discussion: https://ask.fedoraproject.org/t/no-sound-after-upgrade-install-of-fedora-35-rawhide/16302

It seems that "dnf swap wireplumber pipewire-media-session" immediately followed by "dnf swap pipewire-media-session wireplumber" (i.e. reversing the dnf swap args) will get wireplumber working and restore sound.

-------------------------------------------------------------------------------

I attempted a reinstall (dnf erase wireplumber; dnf install wireplumber), and saw an error message:

  Installing       : wireplumber-libs-0.4.4-3.fc35.x86_64                   1/2 
  Installing       : wireplumber-0.4.4-3.fc35.x86_64                        2/2 
  Running scriptlet: wireplumber-0.4.4-3.fc35.x86_64                        2/2 
Created symlink /etc/systemd/user/pipewire-session-manager.service → /usr/lib/systemd/user/wireplumber.service.
Created symlink /etc/systemd/user/pipewire.service.wants/wireplumber.service → /usr/lib/systemd/user/wireplumber.service.
Unit /usr/lib/systemd/user/wireplumber.service is added as a dependency to a non-existent unit pipewire.service.

  Verifying        : wireplumber-0.4.4-3.fc35.x86_64                        1/2 
  Verifying        : wireplumber-libs-0.4.4-3.fc35.x86_64                   2/2 

-------------------------------------------------------------------------------

dnf swap wireplumber pipewire-media-session emits the following errors:

  Installing       : pipewire-media-session-0.3.39-1.fc35.x86_64            1/4 
  Running scriptlet: pipewire-media-session-0.3.39-1.fc35.x86_64            1/4 
Failed to preset unit, file /etc/systemd/user/pipewire-session-manager.service already exists and is a symlink to /usr/lib/systemd/user/wireplumber.service.
Unit /usr/lib/systemd/user/pipewire-media-session.service is added as a dependency to a non-existent unit pipewire.service.

  Running scriptlet: pipewire-0.3.39-1.fc35.x86_64                          2/4 
  Installing       : pipewire-0.3.39-1.fc35.x86_64                          2/4 
  Running scriptlet: pipewire-0.3.39-1.fc35.x86_64                          2/4 
  Running scriptlet: wireplumber-0.4.4-3.fc35.x86_64                        3/4 
Removed /etc/systemd/user/pipewire-session-manager.service.
Removed /etc/systemd/user/pipewire.service.wants/wireplumber.service.
Failed to connect to bus: Invalid argument
Failed to connect to bus: Invalid argument

  Erasing          : wireplumber-0.4.4-3.fc35.x86_64                        3/4 
  Erasing          : wireplumber-libs-0.4.4-3.fc35.x86_64                   4/4 
  Running scriptlet: wireplumber-libs-0.4.4-3.fc35.x86_64                   4/4 
  Verifying        : pipewire-0.3.39-1.fc35.x86_64                          1/4 
  Verifying        : pipewire-media-session-0.3.39-1.fc35.x86_64            2/4 
  Verifying        : wireplumber-0.4.4-3.fc35.x86_64                        3/4 
  Verifying        : wireplumber-libs-0.4.4-3.fc35.x86_64                   4/4 

-------------------------------------------------------------------------------

dnf swap pipewire-media-session wireplumber

  Installing       : wireplumber-libs-0.4.4-3.fc35.x86_64                   1/3 
  Installing       : wireplumber-0.4.4-3.fc35.x86_64                        2/3 
  Running scriptlet: wireplumber-0.4.4-3.fc35.x86_64                        2/3 
Created symlink /etc/systemd/user/pipewire-session-manager.service → /usr/lib/systemd/user/wireplumber.service.
Created symlink /etc/systemd/user/pipewire.service.wants/wireplumber.service → /usr/lib/systemd/user/wireplumber.service.

  Erasing          : pipewire-media-session-0.3.39-1.fc35.x86_64            3/3 
  Running scriptlet: pipewire-media-session-0.3.39-1.fc35.x86_64            3/3 
  Verifying        : wireplumber-0.4.4-3.fc35.x86_64                        1/3 
  Verifying        : wireplumber-libs-0.4.4-3.fc35.x86_64                   2/3 
  Verifying        : pipewire-media-session-0.3.39-1.fc35.x86_64            3/3 

No error messages and after a reboot, pipewire and wireplumber were started and appear to be running OK.

I have working built-in sound (speakers and microphone) and video (web cam) as below.

-------------------------------------------------------------------------------

lspci -s 00:0e.0 -v
00:0e.0 Audio device: Intel Corporation Celeron N3350/Pentium N4200/Atom E3900 Series Audio Cluster (rev 0b) (prog-if 80)
	Subsystem: Acer Incorporated [ALI] Device 1194
	Flags: bus master, fast devsel, latency 0, IRQ 131
	Memory at 91410000 (64-bit, non-prefetchable) [size=16K]
	Memory at 91200000 (64-bit, non-prefetchable) [size=1M]
	Capabilities: [50] Power Management version 3
	Capabilities: [80] Vendor Specific Information: Len=14 <?>
	Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel, snd_soc_skl, snd_sof_pci_intel_apl

lsusb -d 04f2:b5e0
Bus 001 Device 003: ID 04f2:b5e0 Chicony Electronics Co., Ltd VGA WebCam

Comment 2 Peter Hutterer 2021-11-11 06:22:41 UTC
I think there may be two bugs here. One sounds like bug 2012848, the other is the failure to support the dnf swap, caused by the pipewire-session-manager.service file. The later is caused by both packages providing pipewire-session-manager.service but it's not re-linked correctly. Package A gets installed before B gets removed, so enabling A.service fails since B.service still has the symlink in place.

Comment 3 Peter Hutterer 2021-11-12 04:54:50 UTC
I've filed bug 2022584 for the dnf swap issue (the symlink error)

Comment 4 Ben Cotton 2022-11-29 17:12:40 UTC
This message is a reminder that Fedora Linux 35 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 35 on 2022-12-13.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
'version' of '35'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, change the 'version' 
to a later Fedora Linux version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 35 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.

Comment 5 Ben Cotton 2022-12-13 15:44:27 UTC
Fedora Linux 35 entered end-of-life (EOL) status on 2022-12-13.

Fedora Linux 35 is no longer maintained, which means that it
will not receive any further security or bug fix updates. As a result we
are closing this bug.

If you can reproduce this bug against a currently maintained version of Fedora Linux
please feel free to reopen this bug against that version. Note that the version
field may be hidden. Click the "Show advanced fields" button if you do not see
the version field.

If you are unable to reopen this bug, please file a new report against an
active release.

Thank you for reporting this bug and we are sorry it could not be fixed.