Estou com um problema chato de acontece no Ubuntu 25.04 (ocorreu também no Fedora 42), quando utilizo um fone através do bluetooth LDAC ou SBC, ele funciona perfeitamente (sem o microfone, claro). Porém, quando mudo para mSBC para fazer uma chamada ou algo do tipo, o fone fica mudo e o microfone também não funciona.
Eu vi que não existia de fato e que de fato não estava nem instalado o pacote pipewire-media-session… Bom, eu instalei, ele removeu o wireplumber e o pipewire-audio.
Eu prossegui e agora nem o som do pc funciona mais.
Eu estava olhando a configuração do pipewire e tinha até algumas opções relacionadas ao media-session, eu cheguei a ativar elas mas mesmo assim nada, vou desfazer tudo e reinstalar o wireplumber.
To enable mSBC (Wideband Speech) for Bluetooth headsets in WirePlumber on Arch Linux, you need to configure WirePlumber to use the correct profile. This involves creating or modifying a WirePlumber configuration file to enable the mSBC codec.
Steps:
1.Ensure WirePlumber is installed and running:
WirePlumber is the recommended session manager for PipeWire, which is the multimedia framework often used for audio and video on Linux.
Install wireplumber if you haven’t already.
Verify that WirePlumber is running as a systemd user unit.
2.Locate or create the configuration file:
WirePlumber configuration files are typically located in /usr/share/wireplumber.
To customize settings, create a directory wireplumber.conf.d inside /etc/wireplumber or ~/.config/wireplumber.
For example, create the file /etc/wireplumber/wireplumber.conf.d/50-bluez-config.lua (or ~/.config/wireplumber/wireplumber.conf.d/50-bluez-config.lua for user-specific settings).
3.Configure WirePlumber for mSBC:
The 50-bluez-config.lua file (or similar) should contain Lua code that defines the BlueZ properties. Here’s an example:
This configuration snippet ensures that the headset-head-unit-msbc profile is enabled for Bluetooth devices.
1.Restart WirePlumber:
After modifying the configuration, restart WirePlumber to apply the changes. You can do this by restarting the systemd user unit, or by using systemctl --user restart wireplumber.service.
2.Select the mSBC profile:
Open your audio settings (e.g., in GNOME Settings, KDE Plasma settings, or using pactl list to list available profiles).
Select the Bluetooth headset and choose the “Headset Head Unit (HSP/HFP, codec mSBC)” profile.
Example using pactl:
If you want to verify the current configuration and available profiles using the command line, you can use pactl list. Look for your Bluetooth device under “Card” and check the “Profiles” section. If the headset-head-unit-msbc profile is available, you can then select it using pactl set-card-profile <card_number> headset-head-unit-msbc.
Important notes:
Ensure that you have the correct paths and filenames when creating or modifying configuration files.
Double-check that the profile name headset-head-unit-msbc is correct for your specific device and configuration.
Some devices may require additional configuration steps or have limitations regarding supported codecs.
By following these steps, you should be able to enable mSBC for your Bluetooth headset in WirePlumber on Arch Linux.
Em paralelo a isso, eu estava dando uma lida na documentação do Wireplumber na parte de bluetooth e parece que nas versões mais atualizadas, o padrão de construção desses arquivos está um pouco diferente do indicado.
Em todo caso, eu segui conforme a documentação e mesmo assim, também não tive sucesso.
Edit: esqueci de colocar aqui a doc do Wireplumber
São esses três, o aúdio funciona ok (apesar de que desconfio que o LDAC do AilyBuds não está ok) mas ainda assim, quando preciso para fazer alguma chamada de aúdio onde usa os perfis “handsfree”, não vai.
Because if I remove/reset the overrides (of pipewire-pulseaudiowireplumber), it works. I only have A2DP/AAC codec then, which makes it impossible to use for input and output of audio (as the bandwidth is way too small).
After you have added rpmfusion as usual, it is as easy as doing:
rpm-ostree install pipewire-codec-aptx
That’s it! Now you can use aptX.
(That said, I can still not use the headet as an input device at the same time, as the codec then automatically switches to very ugly HSP/HFP/mSBC but at least it works as it worked in F35, great!)
To get aptX codec support with PipeWire on Ubuntu, you’ll need to install a specific PPA that provides the necessary packages. Ubuntu 22.04 and later include PipeWire, but it might not have aptX enabled by default. The pipewire-extra-bt-codecs PPA adds support for aptX, LDAC, and AAC codecs.