Hi Fellow Arch Fans,
Like many of you I am straddling the fence as I work my way from the Manjaro distribution back to my first Arch love of Antergos (Now even fresher as Endeavor OS). Like one of my mentors @jonathon I like to write documentation to help people get it right the first time. Poor Jonathan and @dalto often provided feedback about Optimus and Nvidia and various questions which built my understanding of how the architecture worked.
That being said and wanting to play my experience forward I drafted the below HOWTO Replace Pulseaudio with Pipewire, knowing it has Manjaro elements. I would like to get the communities help in making it EndeavorOS focused.
FYI, I have tested this setup on a Thinkpad T450:
- Laptop LCD and 1 external monitors
- Audio being sent to built in speakers, through HDMI, Analogue headphones, Bluetooth headphones
- Steam Native
- Pulseeffects
- MPV Video Player
- Tizonia audio streaming from terminal.
Installing Pipewire on Arch Linux
(1) Uninstall pulseaudio:
sudo pacman -R pipewire-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 pipewire pipewire-pulse
(3) ** Optional ** Install Pulseeffects.
sudo pacman -S gst-plugin-pipewire pulseeffects
(4) 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
(5) Reboot your operating system.
(6) Check if Pipewire can translate sound for Pulse Audio applications:
Run âpactl infoâ from terminal.
Example of the output:
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
Packages to install:
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/