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
PackagePurpose
bluezCore Arch Bluetooth protocol stack
bluez-utilsCommand-line tools for managing devices
bluemanGraphical 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:

StepCommand
Stop the daemonsudo systemctl stop bluetooth.service
Wipe cached pairingssudo rm -r /var/lib/bluetooth
Restart the daemonsudo 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.

Image

Willie has over 15 years of experience in Linux system administration and DevOps. After managing infrastructure for startups and enterprises alike, he founded Command Linux to share the practical knowledge he wished he had when starting out. He oversees content strategy and contributes guides on server management, automation, and security.