Я пытаюсь использоватьBluetooth-аудиодинамики, так как встроенные динамики моего ноутбука просто ужасны... Динамик - Bose Soundlink mini, и он прекрасно работает с моим смартфоном, например.
Когда я пытаюсь использовать его с моим ноутбуком (Ubuntu 14.04), он работает нормально, пока я не начинаю работать. Затем звук начинает заикаться, с такими логами:
Sep 3 17:29:38 franck-ThinkPad-T430s pulseaudio[3673]: [bluetooth] module-bluetooth-device.c: Skipping 30147 us (= 5316 bytes) in audio stream
Sep 3 17:29:38 franck-ThinkPad-T430s pulseaudio[3673]: [bluetooth] module-bluetooth-device.c: Skipping 79152 us (= 13960 bytes) in audio stream
Sep 3 17:29:41 franck-ThinkPad-T430s pulseaudio[3673]: [bluetooth] module-bluetooth-device.c: Skipping 3467134 us (= 611600 bytes) in audio stream
Это происходит, как только янаберите на клавиатуре(будь то в libreoffice или в терминале, или где-то еще). Клавиатура не является bluetooth-клавиатурой, если вы спросите.
При использовании внутренних динамиков такая проблема не возникает.
Итак, есть ли способ придать всему аудиостеку Bluetooth более высокий приоритет и получить последовательную передачу звука? (bluetoothd ? pulseaudio ? низкоуровневые прерывания ? ???)
ОБНОВЛЯТЬ: мой контроллер Bluetooth подключен к (внутреннему) USB.
$ lsusb -v -s 001:004
Bus 001 Device 004: ID 0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad]
решение1
Я наконец нашел решение (на самом деле их несколько):
- Добавить threadirqs в параметры ядра
- стало лучше, но этого было недостаточно, мне также пришлось установить rtirq-init (вам следует проверить, поддерживает ли это ваше ядро, см.https://unix.stackexchange.com/a/55001/61603)
После этого у меня было (почти) идеальное воспроизведение звука Bluetooth.
Другой вариант, похоже, использует ядро linux-lowlatency. Мне еще предстоит это проверить, но должно работать. Неясно, что такое drackbacks (потребление энергии?).