What is the correct way to install package “manjaro-pipewire”?

What is the correct way to install package “manjaro-pipewire”

yay -S manjaro-pipewire

resolving dependencies...
looking for conflicting packages...
:: pipewire-pulse and pulseaudio are in conflict. Remove pulseaudio? [y/N] y
:: pipewire-pulse and pulseaudio-bluetooth are in conflict. Remove pulseaudio-bluetooth? [y/N] y
:: manjaro-pipewire and manjaro-pulse are in conflict. Remove manjaro-pulse? [y/N] y
error: failed to prepare transaction (could not satisfy dependencies)
:: removing pulseaudio breaks dependency 'pulseaudio=14.2-1' required by pulseaudio-equalizer
:: removing pulseaudio breaks dependency 'pulseaudio=14.2-1' required by pulseaudio-jack
:: removing pulseaudio breaks dependency 'pulseaudio=14.2-1' required by pulseaudio-lirc
:: removing pulseaudio breaks dependency 'pulseaudio=14.2-1' required by pulseaudio-rtp
:: removing pulseaudio breaks dependency 'pulseaudio=14.2-1' required by pulseaudio-zeroconf
error installing repo packages
2 Likes

You’ll need to remove those packages that are listed first. Since you’ll be replacing pulseaudio stuff with pipewire anyway.

I’ve done that, but then a system upgrade cannot happen because of the dependency conflict. what is the right way to install manjaro-pipewire and keep pipewire through updates?

 extra is up to date
 community is up to date
 multilib is up to date
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
:: pulseaudio and pipewire-pulse are in conflict. Remove pipewire-pulse? [y/N] n
error: unresolvable package conflicts detected
error: failed to prepare transaction (conflicting dependencies)
:: pulseaudio and pipewire-pulse are in conflict
mactan@mactan-desktop ~ $ pacman -Qi pipewire-pulse
Name            : pipewire-pulse
Version         : 0.3.19-1
Description     : Server and user space API to deal with multimedia pipelines (PulseAudio replacement)
Architecture    : x86_64
URL             : https://pipewire.org
Licenses        : LGPL2.1
Groups          : None
Provides        : pulseaudio  pulseaudio-bluetooth
Depends On      : pipewire  libpulse
Optional Deps   : None
Required By     : manjaro-pipewire  paprefs  plasma-pa  pulseaudio-alsa  pulseaudio-ctl
Optional For    : bluedevil  firefox  lib32-fluidsynth  pavucontrol  phonon-qt5  phonon-qt5-gstreamer  pipewire
Conflicts With  : pulseaudio  pulseaudio-bluetooth

You need to remove pulseaudio

I removed pulseaudio with pacman -Rdd, i want to keep the things that depend on pulseaudio. However, its still detected as a dependency conflict

mactan@mactan-desktop ~ $ pacman -Qi pulseaudio
Name            : pipewire-pulse
Version         : 0.3.19-1
Description     : Server and user space API to deal with multimedia pipelines (PulseAudio replacement)
Architecture    : x86_64

mactan@mactan-desktop ~ $ pulseaudio --version
bash: pulseaudio: command not found

mactan@mactan-desktop ~ $ pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 34
Server Protocol Version: 34
Is Local: yes
Client Index: 48
Tile Size: 65472
User Name: mactan
Host Name: mactan-desktop
Server Name: PulseAudio (on PipeWire 0.3.19)
Server Version: 14.0.0

That’s what pipewire-pulse is for though
https://wiki.archlinux.org/index.php/PipeWire#PulseAudio_clients
That makes regular pulseaudio compatible applications work with pipewire

@realmain

Hi,

I was reading through the thread in the process of removing pulseaudio and changing to Pipewire. If I read everything correctly can you confirm these steps are correct:

Installing Pipewire on Arch Linux

(1) Uninstall pulseaudio:

sudo pacman -R pipewire-pulse
sudo pacman -R manjaro-pulse
sudo pacman -R pulseaudio

If the previous not works then:

sudo pacman -Rdd pulseaudio pulseaudio-alsa pulseaudio-bluetooth pulseaudio-ctl pulseaudio-equalizer pulseaudio-jack pulseaudio-lirc pulseaudio-rtp pulseaudio-zeroconf pulseaudio-equalizer-ladspa

Note:

  • I removed pipewire-pulse because it was already installed on the system from a previous update when I was only using pulseaudio.

(2) Install pipewire

sudo pacman -S manjaro-pipewire gst-plugin-pipewire pulseeffects

(3) WebRTC screen sharing

Most browsers used to rely on X11 for capturing the desktop (or individual applications) when using WebRTC (e.g. on Google Hangouts). On Wayland, the sharing mechanism is handled differently for security reasons. PipeWire enables sharing content under Wayland with fine-grained access controls.

This requires xdg-desktop-portal and one of its backends to be installed. The available backends are:

-xdg-desktop-portal-gtk for GNOME
-xdg-desktop-portal-kde for KDE

sudo pacman -S xdg-desktop-portal xdg-desktop-portal-gtk

(4) Reboot your operating system.

(5) Check if Pipewire can translate sound for Pulse Audio applications:

pactl info

Server String: /run/user/1000/pulse/native
Library Protocol Version: 34
Server Protocol Version: 34
Is Local: yes
Client Index: 156
Tile Size: 65472
User Name: rsruser
Host Name: sol
Server Name: PulseAudio (on PipeWire 0.3.22)
Server Version: 14.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_00_1b.0.analog-stereo
Default Source: alsa_input.pci-0000_00_1b.0.analog-stereo
Cookie: 1cad:8cc2
  1. To switch back to Pulseaudio

sudo pacman -R manjaro-pipewire

sudo pacman -Rdd gst-plugin-pipewire pipewire-pulse pipewire-alsa pipewire-jack pulseeffects wireplumber pipewire

(7) Install Pulse Audio back:

sudo pacman -S manjaro-pulse pipewire gst-plugin-pipewire

Packages to install:

manjaro-pipewire
gst-plugin-pipewire
pipewire-pulse
pipewire-alsa
pipewire-jack
pulseeffects

Source:

https://wiki.archlinux.org/index.php/PipeWire

https://archlinux.org/packages/community/x86_64/pulseeffects/

17 Likes

On my side, I went thru a simple method when I’ve read pulseefects was giving trouble to a lot of people:

  1. Uninstall pulseeffects;
  2. Apply feb.28th Stable update;
  3. Install manjaro-pipewire: pamac install manjaro-pipewire
  4. Install pulseeffects.

And pulseeffects is working fine on gnome desktop :slightly_smiling_face:

1 Like

Step 1 is incorrect

pipewire-pulse is a PipeWire package to replace PulseAudio
pamac info pipewire-pulse confirms that this package is marked as conflicting with pulseaudio

    Description           : Low-latency audio/video router and processor -
                            PulseAudio replacement

    Conflicts With        : pulseaudio pulseaudio-bluetooth

And pamac install pipewire-pulse requests removal of 2 packages from my system

To remove (2):
  pulseaudio-jack     14.2-2      (Depends On: pulseaudio)          extra
  pulseaudio          14.2-2      (Conflicts With: pipewire-pulse)  extra

Both packages pipewire-pulse and pulseaudio could not be installed because of the conflicts

It is good to see that pulseeffects v5.0.1 in Arch now has an accurate description because the misleading description in v5.0.0 created some confusion

Description           : Audio Effects for Pulseaudio Applications

But the misleading package name is likely to continue to confuse some users

I would not recommend Manjaro users switch from PulseAudio to PipeWire because there appears to be no support available on this forum

But if users want to replace PipeWire with Pulseaudio, all that should be needed is to install the metapackage manjaro-pipewire

There is also a metapackage manjaro-pulse to get back to PulseAudio if needed

1 Like

Thanks for your good feedback. I have made some updates to the note with my reasoning. As pipeline become more stable and people want to test then atleast they will have the groups here feedback on how to do it.

Additionally the one item I noticed which maybe a bug between Gnome and Pipewire is trying to redirect audio to HDMI. Its a bit finicky when I have my laptop monitor and external monitor running at the same time. What will happen is you won’t see an option to choose HDMI for audio. So I will bug this:

Well, I just test my audio HDMI output, it is just working fine on my laptop ¯\_(ツ)_/¯
Configuration menu can also be set to 5.1 or 7.1 output


Edit : shrug typo corrected, Thanks Yochanan

1 Like

You dropped this \

To prevent anymore lost limbs throughout the forum, correctly escape the arms and shoulders by typing the shrug as ¯\\\_(ツ)_/¯

6 Likes

I ultmately have it running properly, thanks to @kagetora13 @nikgnomic @MajorMayer : PulseEffects issues with Pipewire - #18 by nam1962

@lopasilver

You guys are too funny (made my day).

1 Like

Good point. If I play with the audio settings, unplug and replug the hdmi eventually shows up but is not staying. If I am in single screen mode (make the HDMI display primary) then I am more likely to have HDMI choice for audio.

But this flakiness still makes it a bug for me. I know it will get better with all the people contributing.

OK. I suggest you try with another cable, not to blame the audio system.

Interestingly enough i did try removing manjaro-pipewire and then installed back manjaro-pulse and the GUI loaded with a fatal error after rebooting.

So i went to command line and ran journalctl -r and noticed the error:

org.shell.desktop /usr/bin/gnome-shell: error while loading shared libraries: libpipewire-0.3.so.0 cannot open shared object file: No such file or directory

Looks like something is referencing pipewire.

Any ideas what i might need to do to go back to pulseaudio?

From install:

Preparing…
Synchronizing package databases…
Resolving dependencies…
Checking inter-conflicts…
Checking keyring…
Checking integrity…
Loading packages files…
Checking file conflicts…
Checking available disk space…
Installing pulseaudio (14.2-2)…
Created symlink /etc/systemd/user/sockets.target.wants/pulseaudio.socket
→ /usr/lib/systemd/user/pulseaudio.socket.
Installing pulseaudio-zeroconf (14.2-2)…
Installing pulseaudio-jack (14.2-2)…
Installing pulseaudio-alsa (1:1.2.2-2)…
Installing pulseaudio-lirc (14.2-2)…
Installing pulseaudio-rtp (14.2-2)…
Installing pulseaudio-equalizer (14.2-2)…
Installing pulseaudio-bluetooth (14.2-2)…
Installing manjaro-pulse (20210109-1)…
Running post-transaction hooks…
Reloading device manager configuration…
Arming ConditionNeedsUpdate…
Compiling GSettings XML schema files…
Transaction successfully finished.

gnome-shell depends on gst-plugin-pipewire. You can still use Pulseaudio with Pipewire installed.

Thanks for the feedback. I will use this in the HowTO

  1. To switch back to Pulseaudio

    sudo pacman -R manjaro-pipewire

    sudo pacman -Rdd gst-plugin-pipewire pipewire-pulse pipewire-alsa pipewire-jack pulseeffects wireplumber pipewire

(7) Install Pulse Audio back:

sudo pacman -S manjaro-pulse pipewire gst-plugin-pipewire

(8) Reboot the Operating system.

Any recommendations on what tests to run to verify pulse-audio is full functional?

Thanks for the suggestion. On a technical standpoint if HDMI audio works on pulseaudio but not on pipewire it would be quite an edge test case if it was a bad cable.

That being said (as someone else might read this post) I have a TV and Monitor with different HDMI cables to re-produce the issue. So the missing HDMI audio option is probably a software bug to be fixed in the future.

I can confirm our cousins at Endeavor OS were able to re-produce the audio switching issue where ‘pavucontrol’ is being used to switch settings when gnome audio can’t.