问题设备主要参数

PC:Thinkpad E14Gen3 (AMD R5 5600U) 蓝牙与网卡集成在RTL8852AE上。
耳机:KMOUK KM-HTW008 (洛达1562A 蓝牙5.2 支持编码:SBC/ACC)。
操作系统:Linux ThinkPadE14Gen3 6.1.0-13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.55-1 (2023-09-29) x86_64 GNU/Linux

问题特征:

链接耳机能扫描到,但是链接失败,失败后正常出现在配对列表。报错:br-connection-profile-unavailable
另外,我当前使用的PulseAudio有非常致命的声音延迟问题,导致我在CSGO里屡屡被队友当成了聋子。😠

参考文章:

bluetooth-br-connection-profile-unavailable-issue-on-upgrade-to-xubuntu-23-04
https://wiki.debian.org/BluetoothUser/a2dp
https://wiki.debian.org/PipeWire#Bluetooth

问题的大致原因

 由于历史原因Debian默认采用PulseAudio作为音频服务,但是该软件包存在诸多问题,特别是对一些现代化的蓝牙耳机音频编码的支持很差。而Debian12上的PipeWire版本已经非常成熟,特别是编解码器兼容性和稳定性大大超过了Debian的默认音频系统PulseAudio(我猜Debian13大概率会默认启用PipeWire来替换PulseAudio,因为PulseAudio真的糟透了)。

在Debian中,PipeWire支持比PulseAudio更现代的编解码器,而无需安装任何外部模块。特别是,PipeWire 0.3.26支持mSBC、SBC、SBC-XQ、LDAC、AptX和AptX-HD。它还支持HSP_HS、HSP_AG、HFP_HF和HFP_AG耳机角色。正在支持更多的编解码器。 自PipeWire 0.3.19发布以来,已经有许多与蓝牙相关的功能添加和错误修复。Debian 12中的PipeWire版本大大提高了兼容性和可靠性,并且更容易配置为替代品。 ————Debian WIKI

最终解决方案:启用PipeWire替换PulseAudio

如果你不知道我在引导你做什么,建议好好看一看我引用的参考文章。

#安装必须的libspa-0.2-bluetooth
sudo apt remove pulseaudio-module-bluetooth
sudo apt install libspa-0.2-bluetooth

默认情况下拉入的(wireplumber)是pipewire开发人员推荐的。另一个(pipewire-media-session)是原始的,并且在使用PipeWire仅用于其基本功能(如屏幕共享)时最好。当使用PipeWire作为系统的声音服务器时,维护人员建议安装更高级的WirePlumber。

安装wireplumber并卸载pipewire-media-session,然后在Systemd启用前者

sudo apt install wireplumber pipewire-media-session- 
systemctl --user --now enable wireplumber.service #直接使用user执行,不要使用root权限执行!
对于Debian 12和更新版本,pipewire-audio-client-libraries被pipewire-alsa和pipewire-jack取代。建议安装元包pipewire-audio,它依赖于wireplumber(推荐的会话管理器),pipewire-pulse(用于取代PulseAudio),pipewire-alsa(ALSA)和libspa-0.2-bluetooth(用于蓝牙支持)。此外,安装此元包将删除pulseaudio,以防止两个声音服务器之间的任何冲突。 ————Debian WIKI

安装pipewire-audio替换掉pulseaudio

sudo apt install pipewire-audio

最后,彻底重启PC,登入然后享受由PipeWire开发者们不懈努力带给我们的良好体验!

标签: none

添加新评论