Arch Linux does not enable Bluetooth out of the box. You need to install the protocol stack, start the daemon, and pair your device. Wireless audio needs additional packages on top of that.
If you haven’t installed Arch yet, check the complete Arch Linux installation walkthrough first.
Grabbing the Required Packages for Arch Bluetooth
Three packages handle Arch Bluetooth. Install them with pacman:
sudo pacman -S bluez bluez-utils blueman
| Package | Purpose |
|---|---|
| bluez | Core Arch Bluetooth protocol stack |
| bluez-utils | Command-line tools for managing devices |
| blueman | Graphical manager with a system tray applet |
Confirm the btusb kernel module is loaded:
lsmod | grep btusb
Set AutoEnable=true in /etc/bluetooth/main.conf so your adapter powers on at boot. The KDE desktop setup guide covers getting a graphical environment running with Arch Bluetooth.
Activating the Arch Bluetooth Daemon
Arch Bluetooth won’t work until the daemon runs:
sudo systemctl start bluetooth.service
To auto-start on reboot:
sudo systemctl enable bluetooth.service
Open Blueman from your application menu, power on your adapter, and your machine starts scanning for devices.
Linking Your Devices
Blueman simplifies pairing. Click “Search,” pick your device, hit “Pair,” and confirm. That handles peripherals like keyboards and mice. Audio devices need a few more steps.
Routing Audio Over Arch Bluetooth
Wireless audio needs PulseAudio and its Bluetooth module:
sudo pacman -S pulseaudio pulseaudio-bluetooth
Restart PulseAudio to load the new module:
pulseaudio -k
PulseAudio restarts on its own. Your Arch Bluetooth audio device should appear as an output. For switching devices, install Pavucontrol:
sudo pacman -S pavucontrol
Open pavucontrol and pick your output from the “Output Devices” tab. Wondering why experienced users prefer Arch? Rolling releases mean you always run the latest Bluetooth stack.
Fixing a2dp Connection Failures
Some wireless audio devices use a2dp (Advanced Audio Distribution Profile). A “Protocol not available” error means PulseAudio needs a module. Check /etc/pulse/default.pa for this line:
load-module module-switch-on-connect
Uncomment it if needed, save, and run pulseaudio -k. If the a2dp problem persists, clear cached pairing data:
| Step | Command |
|---|---|
| Stop the daemon | sudo systemctl stop bluetooth.service |
| Wipe cached pairings | sudo rm -r /var/lib/bluetooth |
| Restart the daemon | sudo systemctl start bluetooth.service |
This rebuilds the cache and resolves stubborn a2dp failures. Pair your device again through Blueman.
If you used archinstall for setup, these Arch Bluetooth steps apply equally.
FAQs
Does Arch Linux have Bluetooth enabled by default?
No. Install bluez and bluez-utils, then start the bluetooth.service daemon manually before Arch Bluetooth will work.
How do I make Arch Bluetooth turn on at boot?
Run sudo systemctl enable bluetooth.service and set AutoEnable=true in /etc/bluetooth/main.conf.
Why is there no sound from my Bluetooth headphones?
Install pulseaudio and pulseaudio-bluetooth. Run pulseaudio -k after installing to restart the audio server.
What causes the “Protocol not available” a2dp error?
PulseAudio is missing the switch-on-connect module. Uncomment load-module module-switch-on-connect in /etc/pulse/default.pa and restart PulseAudio.
Can I use Arch Bluetooth without a graphical manager?
Yes. The bluetoothctl tool from bluez-utils lets you scan, pair, and connect devices from the terminal.