HOW TO: Bluetooth on Arch Linux
Aron Schüler Published
As some may struggle to get their bluetooth connections up and running under Arch Linux (and I have to google this each time I install as well) I decided to write a post on it. Hope you benefit from it!
Installation
The installation process for bluetooth is quite simple. We need a package that
provides the protocol, the generic bluetooth driver as a kernel module and a way
to control your bluetooth connections. If you want to use a bluetooth audio
unit, e.g. a headset, you must also install pulseaudio-bluetooth
for extension
of the pulseaudio audio server.
Installing the package
We want to install the install the bluez package, which provides the
Bluetooth protocol stack to our system.
So go ahead and do a quick sudo pacman -S bluez
.
This package also comes with a service. The service is required for bluetooth to
work, so we need to start it with sudo systemctl start bluetooth.service
.
If you do not want to start this service everytime, we can enable it by running
sudo systemctl enable bluetooth.service
– you can also combine both
steps with sudo systemctl enable --now bluetooth.service
.
Check for kernel module
The btusb
kernel module provides the generic Bluetooth driver to our system.
You can check whether it is loaded by running sudo lsmod | grep btusb
,
which will show btusb if the module has been loaded.
If that is not the case, we can load the module by running
sudo modprobe btusb
.
Install a tool to control bluetooth
Now, you can either install a command line tool to interact with your bluetooth capabilities or you can install a graphical utility for this. I always use Blueman for this, which is a GUI to control everything you’ll need when dealing with bluetooth.
Install the blueman package with sudo pacman -S blueman
. Now, blueman provides
two binaries that can be used:
- First is the blueman-applet, which will start in the background and provide a
traybar icon. You can connect to recent devices, launch the manager and more
over that tray icon, so I recommend to use this and enable its autostart,
which should automatically happen due to the
.desktop
file in the/etc/xdg/autostart
folder. - Second binary is the
blueman-manager
, which is the main GUI of blueman and allows you to manage lots of different bluetooth settings. It also allows the most basic functionality, connecting to other bluetooth devices. It can be started directly by executing said binary or by double-clicking the tray icon.
Be sure to have a succeful running bluetooth.service
before starting blueman,
otherwise it won’t find any devices!
Optional: Install bluetooth interface for pulseaudio
If you want to use bluetooth for audio input and/or output, you need to install
the pulseaudio-bluetooth
package as well. Do so with
sudo pacman -S pulseaudio-bluetooth
. Blueman will then in turn automatically
activate the installed socket when connecting to a bluetooth audio unit.
Optional: Configure bluetooth pairing keys for dual boot
If you run a dual-boot system, you need to adapt your pairing keys. Otherwise, sharing a bluetooth dongle or built-in card will be very annoying. Resulting in the pairing key mismatch, each system will have to pair again after the other system connected to a device.
You can resolve this behavior by adapting your bluetooth pairing key, so that it matches the other system’s key. As this is a quite lengthy process, I won’t describe it here, but link to the great walkthrough in the arch wiki: https://wiki.archlinux.org/title/Bluetooth#Dual_boot_pairing
Done!
Now you’re able to receive files or connect to a headset via bluetooth on arch linux! If you need help with blueman, you should look into the Blueman wiki page or into their GitHub repository.
If you want to read more of my tipps and tricks under arch linux, I collect them under the Arch Linux tag here: https://lakur.tech/tags/arch-linux/