Switching from PipeWire to PulseAudio

Updated -

RHEL 9 introduces PipeWire as the default audio service. PulseAudio, which was the default audio service in previous releases, is still available in RHEL 9, and you can switch your system back to using PulseAudio.

Procedure

  1. Replace the pipewire-pulseaudio package with pulseaudio:

    # dnf swap --allowerasing pipewire-pulseaudio pulseaudio
    
  2. Remove PipeWire packages:

    # dnf remove pipewire-alsa pipewire-jack-audio-connection-kit
    
  3. Install an ALSA compatibility layer for PulseAudio:

    # dnf install alsa-plugins-pulseaudio
    
  4. Reboot the system.

  5. Manually start the PulseAudio service and socket:

    # systemctl --user start pulseaudio.socket 
    # systemctl --user enable --now pulseaudio.service
    

Your system is now configured to manage sound using PulseAudio.

7 Comments

For this step, would you please let us know which repos provide this rpm (alsa-plugins-pulseaudio) in RHEL9 ? Thanks in advance.

Install an ALSA compatibility layer for PulseAudio:

dnf install alsa-plugins-pulseaudio

Good catch, thanks. That package is currently missing in RHEL 9, but we're working on reintroducing it. See https://bugzilla.redhat.com/show_bug.cgi?id=2065167.

The starting point is here while we installed ZOOM in RHEL9.

"[root@foundation0 ~]# zoom ZoomLauncher started. Zoom path is: /opt/zoom cmd line: Start subprocess: /opt/zoom/zoom sucessfully, process pid: 3936 No PulseAudio daemon running, or not running as session daemon. Class App Lib Possible Culprit Flags resip::Connection 648 648 resip::Data 36 36 resip::DnsResult 1080 1080 resip::Headers 1 1 resip::MsgHeaderScanner 40 40 resip::SipMessage 5208 5208 resip::TransportSelector 864 864 resip::Tuple 128 128 resip::UdpTransport 1144 1144 resip::GenericIPAddress 28 28

zoom started. No PulseAudio daemon running, or not running as session daemon. Something went wrong while running zoom, exit code is 1. ZoomLauncher exit."

Then we tried to get the PulseAudio working back: Still no positive result.

"1. [root@foundation0 ~]# dnf swap --allowerasing pipewire-pulseaudio pulseaudio Updating Subscription Management repositories. Last metadata expiration check: 0:50:43 ago on Wed 27 Jul 2022 12:14:55 PM +06. No match for argument: pipewire-pulseaudio No packages marked for removal. Package pulseaudio-15.0-2.el9.x86_64 is already installed. Dependencies resolved. Nothing to do. Complete!"

  1. [root@foundation0 ~]# dnf remove pipewire-alsa pipewire-jack-audio-connection-kit Updating Subscription Management repositories. No match for argument: pipewire-alsa No match for argument: pipewire-jack-audio-connection-kit No packages marked for removal. Dependencies resolved. Nothing to do. Complete!

  2. [root@foundation0 ~]# dnf install alsa-plugins-pulseaudio Updating Subscription Management repositories. Last metadata expiration check: 0:52:19 ago on Wed 27 Jul 2022 12:14:55 PM +06. No match for argument: alsa-plugins-pulseaudio Error: Unable to find a match: alsa-plugins-pulseaudio

  3. [root@foundation0 ~]# systemctl --user start pulseaudio.socket Failed to connect to bus: No medium found // [root@foundation0 ~]# systemctl start pulseaudio.socket Failed to start pulseaudio.socket: Unit pulseaudio.socket not found.

  4. [root@foundation0 ~]# systemctl --user start pulseaudio.service Failed to connect to bus: No medium found // [root@foundation0 ~]# systemctl start pulseaudio.service Failed to start pulseaudio.service: Unit pulseaudio.service not found.

It is so much frustrating!! We are an Enterprise Business Training partner of Red Hat. The issue is causing damage to our business as we are not able to provide training smoothly. We request you to provide proper solution asap.

Thanks for letting us know about the problem.

I'm relaying this to engineering and support, and we'll get back to you shortly.

Apologies for the confusion here. The alsa-plugins-pulseaudio package is missing from RHEL 9.0 and we have a bug open against that here https://bugzilla.redhat.com/show_bug.cgi?id=2065167 . We are requesting this in 9.0 as well so today these instructions will not work. I will update the kbase above warning others that this functionality will be available at a later date.

I believe alsa-plugins-pulseaudio-1.2.2-8.el9_0.ARCH.rpm has been available since late July/early August (it's in the repos at the moment). Should these instructions be made public?

For the final steps of enabling the PulseAudio socket and service, would it be better to use the --global flag for this before the reboot?

# dnf swap ...
# dnf remove ...
# dnf install ...
# systemctl --global enable pulseaudio.socket
# reboot

This would enable the user socket (which would launch the service) for all future users of the system, rather than just the one calling it.