Manjaro Linux Bluetooth and Audio Info

Manjaro Linux Bluetooth and Audio Info
Photo by Alexey Ruban / Unsplash

I spent the morning troubleshooting this and I wasn't finding much useful info through searches, so this is just a little info dump post to be helpful for others with similar problems. I briefly explain the Manjaro Linux audio stack, the relevant packages, and how to enable/troubleshoot your bluetooth and audio setup. Good luck!

TL;DR

  • Manjaro uses pipewire to manage audio
  • Pipewire has to simulate pulseaudio for backwards compatability. This is done with pipewire-pulse and controlled with pactl
  • wireplumber is the session and policy manager for pipewire
  • bluez is the official bluetooth stack for linux. You also need bluez-plugins installed. May need bluez-utils - provides utilities like bluetoothctl
  • blueman and blueman-manager is a simple GUI for bluetooth stuff
  • pavucontrol is a simple GTK based volume controller tool that uses pulseaudio sound server.
  • volumeicon is the tray item and volume mixer mixer that comes default with manjaro. I do think that this is causing some problems with pavucontrol which I'm still troubleshooting.

Install/update commands

sudo pacman -Syu bluez bluez-utils bluez-plugins pipewire pipewire-pulse wireplumber pavucontrol

Check, enable, or restart services as necessary

sudo systemctl --user status bluetooth
systemctl --user status wireplumber pipewire pipewire-pulse
sudo systemctl enable bluetooth.service
sudo systemctl start bluetooth.service
sudo systemctl restart bluetooth
systemctl --user restart wireplumber pipewire pipewire-pulse
bluethoothd --version
pipewire --version
pactl --info
ps aux | grep pulseaudio

Enable services if needed

sudo systemctl enable wireplumber pipewire pipewire-pulse

Show pactl cards

pactl --info
pactl list cards

How to use bluetoothctl

bluetoothctl
power on
agent on
discoverable on
default-agent
scan on
pair macaddr
trust macaddr
connect macaddr