Вопрос или проблема
Я столкнулся с той же проблемой, что и описано в этом комментарии на реддит r/linuxquestions, но для pipewire.
Вкратце: по умолчанию аудиоконтроллеры и система позволяют приложениям переключаться с высококачественного профиля A2DP на HSP/HFP, поскольку приложения заставляют использовать микрофон Bluetooth-гарнитуры, который требует низкокачественного профиля HSP, насколько мне известно. Это происходит, например, в MS Teams, GMeet и других.
Решение описано здесь: https://wiki.archlinux.org/title/PipeWire#Automatic_profile_selection
Необходимо создать глобальный файл конфигурации для wireplumber: /etc/wireplumber/policy.lua.d/11-bluetooth-policy.lua
(или пользовательский в ~/.config/wireplumber/
)
и добавить следующую опцию:
bluetooth_policy.policy["media-role.use-headset-profile"] = false
Перезапустите pipewire или ваш компьютер, и теперь профили не должны меняться автоматически, что позволит сохранить ручной контроль над настройками ввода/микрофона в приложениях!
Для Ubuntu 24.10 это новый ответ, поскольку теперь используется Wireplumber, а не сырая Pulse Audio:
https://wiki.archlinux.org/title/Bluetooth_headset#Switch_between_HSP/HFP_and_A2DP_setting
По сути, создайте следующий файл:
~/.config/wireplumber/wireplumber.conf.d/51-stop-swapping-profiles.conf
:
## В WirePlumber есть ошибка, из-за которой некоторые приложения переключаются на профиль гарнитуры
## --
## См. проблемы №634, №645, №630, №629, №613
## --
## Эта конфигурация смягчает проблему, полностью отключая переключение и поддержку профиля гарнитуры (HFP)
## Использовать это будет иметь смысл, только если вы никогда не планируете использовать микрофон вашей гарнитуры.
wireplumber.settings = {
## Использовать ли профиль гарнитуры при наличии входящего потока.
## --
## Отключить на данный момент, так как это вызывает проблемы. См. примечание вверху, чтобы узнать, почему.
bluetooth.autoswitch-to-headset-profile = false
}
monitor.bluez.properties = {
## Включенные роли (по умолчанию: [ a2dp_sink a2dp_source bap_sink bap_source hfp_hf hfp_ag ])
##
## В настоящее время некоторые гарнитуры (Sony WH-1000XM3) не работают с
## включенными hsp_ag и hfp_ag, поэтому по умолчанию мы включаем только HFP.
##
## Поддерживаемые роли: hsp_hs (HSP Headset),
## hsp_ag (HSP Audio Gateway),
## hfp_hf (HFP Hands-Free),
## hfp_ag (HFP Audio Gateway)
## a2dp_sink (A2DP Audio Sink)
## a2dp_source (A2DP Audio Source)
## bap_sink (LE Audio Basic Audio Profile Sink)
## bap_source (LE Audio Basic Audio Profile Source)
## --
## Включите здесь только A2DP и отключите HFP. См. примечание вверху, чтобы узнать, почему.
bluez5.roles = [ a2dp_sink a2dp_source ]
}
Затем перезагрузите ПК.
Ответ или решение
Если вы столкнулись с проблемой, когда приложения автоматически переключаются с высококачественного профиля A2DP на HSP/HFP при использовании Bluetooth-гарнитуры в Ubuntu 23.04, то решить ее можно, изменив настройки PipeWire и WirePlumber.
Вам необходимо создать файл конфигурации для WirePlumber, который позволит контролировать автоматическое переключение профилей Bluetooth-устройств. Это особенно актуально для приложений, таких как Microsoft Teams и Google Meet, которые переключают профили для использования микрофона и тем самым ухудшают качество звука.
Как отключить автоматическое переключение профилей Bluetooth в Ubuntu 23.04
-
Измените конфигурацию WirePlumber.
Для глобальных изменений создайте файл конфигурации
/etc/wireplumber/policy.lua.d/11-bluetooth-policy.lua
. Для пользовательских изменений используйте директорию~/.config/wireplumber/
. В этот файл добавьте:bluetooth_policy.policy["media-role.use-headset-profile"] = false
-
Создайте файл для настройки WirePlumber.
Создайте конфигурационный файл
~/.config/wireplumber/wireplumber.conf.d/51-stop-swapping-profiles.conf
и добавьте в него следующее содержимое:wireplumber.settings = { bluetooth.autoswitch-to-headset-profile = false } monitor.bluez.properties = { bluez5.roles = [ a2dp_sink a2dp_source ] }
Этот файл отключает автоматическое переключение на профиль гарнитуры и ограничивает использование профилей только для A2DP, что гарантирует сохранение высокого качества звука.
-
Перезагрузите компьютер.
После внесения изменений, перезапустите систему, чтобы конфигурации вступили в силу.
Заключение
Следуя вышеописанным шагам, вы сможете отключить автоматическое переключение профилей Bluetooth-устройств в Ubuntu 23.04, что позволит вам сохранить высокое качество звука даже при использовании приложений, требующих микрофон. Эта настройка также улучшает общее управление профилями и делает взаимодействие с Bluetooth-устройствами более гибким и контролируемым.