null

Подключение bluetooth гарнитуры к Arch Linux

Прогресс не стоит на месте, и даже у меня в 2021 году появились bluetooth
гарнитура. Сколько раз не пытался запустить bluetooth на Arch Linux
ни разу не получалось, в этот раз решил идти до конца.

Bluez

Сама по себе настройка bluetooth оказалась довольно простой. Для начала нужно
установить pulseaudio-alsa, pulseaudio-bluetooth, bluez-utils пакеты и
запустить bluetooth.service.Теперь используя интерактивную утилиту bluetoothctl можем выполнить pairing и
подключить устройство.

$ bluetoothctl

[bluetooth]# power on
[bluetooth]# agent on
[bluetooth]# default-agent
[bluetooth]# scan on

Теперь, нужно убедиться, что устройство находится в режиме pairing, тогда в выводе
увидим что-то похожее на такое:

[NEW] Device 00:1D:43:6D:03:26 Lasmex LBT10

Выполним pairing с нашим устройством:

[bluetooth]# pair 00:1D:43:6D:03:26

После подключаемся к устройству:

[bluetooth]# connect 00:1D:43:6D:03:26

Если хотите автоматически подключаться к нему в будущем, выполните:

[bluetooth]# trust 00:1D:43:6D:03:26

Если все прошло гладко, Вы увидите отдельное устройство вывода звука в интерфейсе
pulseaudio.

Теперь можно остановить сканирование устройств и завершить программу:

[bluetooth]# scan off
[bluetooth]# exit

Казалось бы все прошло хорошо: гарнитура подключена и появился новый аудиовыход.
Но стоит попробовать воспроизвести свою любимую композицию, как сразу становится понятно, что
звук очень низкого качества. Настолько, что это невозможно слушать.
Немного погуглив, стало понятно, что необходимо поменять используемый профиль в конфигурации pulseaudio
на A2DP. Только из коробки он не работает, хоть и должен. Ссылка на обсуждение проблемы:
https://bbs.archlinux.org/viewtopic.php?id=267219

A2DP sink

Перепробовав несколько способов, первым рабочим оказался следующий.
Нужно удалить содержимое директории `/var/lib/bluetooth` и установить из AUR пакеты `fix-bt-a2dp` и `bluez-git`.

После этого в интерфейсе pulseaudio можно будет выбрать профиль устройства A2DP Sink.

В репозитории bluez проблема (опечатка в коде) уже решена.

Надеюсь, это кому-нибудь поможет, и он потратит лишний вечер на что-то более полезное.

Вперед

Коротко о себе:

Работаю программистом в компании Tune-it.

Занимаюсь какими-то проектами, связанными с чем-то.