Skip to content

Instantly share code, notes, and snippets.

@klingtnet
Last active September 11, 2022 18:35
Show Gist options
  • Save klingtnet/b94b2ea933bdfaefc3dfa161dadee697 to your computer and use it in GitHub Desktop.
Save klingtnet/b94b2ea933bdfaefc3dfa161dadee697 to your computer and use it in GitHub Desktop.
Pipewire on Arch Linux (Gnome)

Those are the only instructions I need to run to have a fully working Pipewire setup that is compatible with PulseAudio, Jack and ALSA:

$ yay -Rcns pulseaudio-jack
# note that pipewire-jack-dropin is an AUR package
$ yay -S pipewire-{jack,jack-dropin,alsa,pulse}
$ systemctl --user enable pipewire pipewire-pulse pipewire-media-session
$ systemctl reboot
# done

If you had told me a day ago that replacing pulseaudio and jack would be that smooth I would have never believed you.

Jack

Bitwig 3.3 will not work out of the box with pipewire-jack-dropin, except I manually set a buffer size like this PIPEWIRE_LATENCY="256/48000" pw-jack bitwig-studio.

2021-04-03

To get reasonably good call quality:

$ rg -i msbc /etc/pipewire/media-session.d/bluez-monitor.conf
36:                # MSBC is not expected to work on all headset + adapter combinations.
37:                bluez5.msbc-support   = true
@peter-lyons-kehl
Copy link

Thank you Andreas and contributors.

Would you like to add a comment/clarification as not to run systemctl --user enable ... (or systemctl --user start ...) as root, but as the normal user? Otherwise the user (running it via su) gets a confusing error Failed to connect to bus: Operation not permitted. As per https://bbs.archlinux.org/viewtopic.php?id=223737: "Don't run systemd services as root, run them as a regular user."

@klingtnet
Copy link
Author

klingtnet commented Feb 13, 2022

@peter-kehl Thank you for the suggestion but I think the instructions are clear, since commands should always assumed to be run as a regular user unless otherwise noted.

@mathstylish
Copy link

When i try to enable the services i get this error message: Failed to connect to bus: No medium found. I try to install pipewire-media-session but it conflicts with wireplumbler and if i try to replace it, i get:

:: pipewire-media-session and wireplumber are in conflict. Remove wireplumber? [y/N] y
error: failed to prepare transaction (could not satisfy dependencies)
:: removing wireplumber breaks dependency 'wireplumber' required by pipewire-alsa
:: removing wireplumber breaks dependency 'wireplumber' required by pipewire-pulse

Can anyone help me?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment