Заставляем работать наушники Pioneer SE-MS7BT-S в Debian на все 100%.
Из коробки эти наушники работать с кодеком aptX не будут, хотя они его знают и с ним работают просто великолепно.
Итак, чтобы добавить в вашу систему поддержку aptX потребуется модуль pulseaudio-modules-bt, который расположен по адресу https://github.com/EHfive/pulseaudio-modules-bt. Инструкция там есть, по ней можно собрать этот модуль, но я всё же приведу последовательность действий, которые сделал я, чтобы модуль собрался и заработал.
Предполагается, что у вас в системе установлен и настроен bluetooth, pulseaudio, а также gcc, cmake и git. Если нет — нужно поставить:
apt install pulseaudio pulseaudio-module-bluetooth pavucontrol bluez-firmware gcc cmake git
Поставим необходимые зависимости:
apt-get install libfdk-aac-dev libavcodec-dev libpulse-dev libdbus-1-dev libsbc-dev libldacbt-abr-dev libldacbt-enc-dev libltdl-dev libbluetooth-dev
Дальше идём по инструкции модуля:
MODDIR=`pkg-config --variable=modlibexecdir libpulse` sudo find $MODDIR -regex ".*\(bluez5\|bluetooth\).*\.so" -exec cp {} {}.bak \; git clone https://github.com/EHfive/pulseaudio-modules-bt.git cd pulseaudio-modules-bt git submodule update --init git -C pa/ checkout v`pkg-config libpulse --modversion|sed 's/[^0-9.]*\([0-9.]*\).*/\1/'` mkdir build && cd build cmake -DFORCE_LARGEST_PA_VERSION=ON .. make
Результат работы команды make в итоге будет примерно такой:
[ 5%] Building C object CMakeFiles/bluez5-util.dir/src/modules/bluetooth/backend-native.c.o [ 11%] Building C object CMakeFiles/bluez5-util.dir/src/modules/bluetooth/a2dp/a2dp_aptx.c.o [ 17%] Building C object CMakeFiles/bluez5-util.dir/src/modules/bluetooth/a2dp/ffmpeg_libs.c.o [ 23%] Building C object CMakeFiles/bluez5-util.dir/src/modules/bluetooth/a2dp/a2dp_aac.c.o [ 29%] Linking C shared library libbluez5-util.so [ 52%] Built target bluez5-util Scanning dependencies of target module-bluez5-discover [ 58%] Building C object CMakeFiles/module-bluez5-discover.dir/src/modules/bluetooth/module-bluez5-discover.c.o [ 64%] Linking C shared module module-bluez5-discover.so [ 64%] Built target module-bluez5-discover Scanning dependencies of target module-bluetooth-policy [ 70%] Building C object CMakeFiles/module-bluetooth-policy.dir/src/modules/bluetooth/module-bluetooth-policy.c.o [ 76%] Linking C shared module module-bluetooth-policy.so [ 76%] Built target module-bluetooth-policy Scanning dependencies of target module-bluez5-device [ 82%] Building C object CMakeFiles/module-bluez5-device.dir/src/modules/bluetooth/module-bluez5-device.c.o [ 88%] Linking C shared module module-bluez5-device.so [ 88%] Built target module-bluez5-device Scanning dependencies of target module-bluetooth-discover [ 94%] Building C object CMakeFiles/module-bluetooth-discover.dir/src/modules/bluetooth/module-bluetooth-discover.c.o [100%] Linking C shared module module-bluetooth-discover.so [100%] Built target module-bluetooth-discover
Остаётся установить собранные модули:
make install
Следуя инструкции, нужно отредактировать файл /etc/pulse/default.pa. Найти строку:
load-module module-bluetooth-discoverИ дополнить её вот так:
load-module module-bluetooth-discover a2dp_config="ldac_eqmid=hq ldac_fmt=f32"
Перезапустим pulseaudio:
killall pulseaudio
Конфигурируем bluetooth, находим наушники и коннектимся к ним:
Когда наушники успешно найдены и подключены, в аудионастройках выбираем профиль aptX:
И наслаждаемся качественным звучанием. 🙂