Заставляем работать наушники 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_x000D_
Поставим необходимые зависимости:
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_x000D_
Дальше идём по инструкции модуля:
MODDIR=`pkg-config --variable=modlibexecdir libpulse`_x000D_sudo find $MODDIR -regex ".*(bluez5|bluetooth).*.so" -exec cp {} {}.bak ;_x000D_git clone https://github.com/EHfive/pulseaudio-modules-bt.git_x000D_cd pulseaudio-modules-bt_x000D_git submodule update --init_x000D_git -C pa/ checkout v`pkg-config libpulse --modversion|sed 's/[^0-9.]*([0-9.]*).*/1/'`_x000D_mkdir build && cd build_x000D_cmake -DFORCE_LARGEST_PA_VERSION=ON .._x000D_make_x000D_
Результат работы команды make в итоге будет примерно такой:
[ 5%] Building C object CMakeFiles/bluez5-util.dir/src/modules/bluetooth/backend-native.c.o_x000D_[ 11%] Building C object CMakeFiles/bluez5-util.dir/src/modules/bluetooth/a2dp/a2dp_aptx.c.o_x000D_[ 17%] Building C object CMakeFiles/bluez5-util.dir/src/modules/bluetooth/a2dp/ffmpeg_libs.c.o_x000D_[ 23%] Building C object CMakeFiles/bluez5-util.dir/src/modules/bluetooth/a2dp/a2dp_aac.c.o_x000D_[ 29%] Linking C shared library libbluez5-util.so_x000D_[ 52%] Built target bluez5-util_x000D_Scanning dependencies of target module-bluez5-discover_x000D_[ 58%] Building C object CMakeFiles/module-bluez5-discover.dir/src/modules/bluetooth/module-bluez5-discover.c.o_x000D_[ 64%] Linking C shared module module-bluez5-discover.so_x000D_[ 64%] Built target module-bluez5-discover_x000D_Scanning dependencies of target module-bluetooth-policy_x000D_[ 70%] Building C object CMakeFiles/module-bluetooth-policy.dir/src/modules/bluetooth/module-bluetooth-policy.c.o_x000D_[ 76%] Linking C shared module module-bluetooth-policy.so_x000D_[ 76%] Built target module-bluetooth-policy_x000D_Scanning dependencies of target module-bluez5-device_x000D_[ 82%] Building C object CMakeFiles/module-bluez5-device.dir/src/modules/bluetooth/module-bluez5-device.c.o_x000D_[ 88%] Linking C shared module module-bluez5-device.so_x000D_[ 88%] Built target module-bluez5-device_x000D_Scanning dependencies of target module-bluetooth-discover_x000D_[ 94%] Building C object CMakeFiles/module-bluetooth-discover.dir/src/modules/bluetooth/module-bluetooth-discover.c.o_x000D_[100%] Linking C shared module module-bluetooth-discover.so_x000D_[100%] Built target module-bluetooth-discover_x000D_
Остаётся установить собранные модули:
make install_x000D_
Следуя инструкции, нужно отредактировать файл /etc/pulse/default.pa . Найти строку:
load-module module-bluetooth-discover _x000D_
И дополнить её вот так:
load-module module-bluetooth-discover a2dp_config="ldac_eqmid=hq ldac_fmt=f32"_x000D_
Перезапустим pulseaudio:
killall pulseaudio_x000D_
Конфигурируем bluetooth, находим наушники и коннектимся к ним:
Когда наушники успешно найдены и подключены, в аудионастройках выбираем профиль aptX:
И наслаждаемся качественным звучанием.