Problem
I wanna use aptX with my Bluetooth headset. The reason for aptX is, that obviously due to better compression and two-way communcation in a low-bandwidth medium as Bluetooth.
So Iβve installed pipewire-codec-aptx
from rpmfusion. This solves it for input. However, when wanting to use it for input too, it switches back to an ugly codec. After all, aptX was invented for the fact to use it together with input/output however!
As such, I cannot use the headet as an input device at the same time, as the codec then automatically switches to HSP/HFP/mSBC. AptX can only be used in input here as it seems.
In the end, this makes the whole headset unusable for audio input, as obviously that other codec is pure noise and one cannot hear anything or so.
Note this is a summary of a longer painful background story of getting aptX to work in general. Especially I had the same (or at least very similar) issue on Fedora 34, where I had to use pulseaudio-module-bluetooth-freeworld
from rpmfsion for this still, i.e. with Pulseaudio, I guess. But I had hoped this has changed with Wireplumber.
Also I donβt know all the technical details here please let me where there is a better place to report this.
Screencast / STR
What happens
Codec switches back to HSP/HFP/mSBC.
What should happen
Also use aptX for audio input.
Log
$ journalctl --since="-30 min" --no-hostname | grep --context=1 -i -E "wireplumber|bluetooth|codec|audio|headset|Bower|input|apt|gnome-control-center|bluez" | tee ~/Downloads/Fedora-36/new-bluetooth-inputisssue.txt
Mai 15 21:53:21 systemd[2088]: app-gnome-gnome\x2dbluetooth\x2dpanel-3665.scope: Consumed 13min 17.429s CPU time.
Mai 15 21:53:23 nautilus[88451]: Connecting to org.freedesktop.Tracker3.Miner.Files
--
Mai 15 21:54:38 rpm-ostree[88914]: In idle state; will auto-exit in 62 seconds
Mai 15 21:55:22 kernel: Bluetooth: hci0: SCO packet for unknown connection handle 257
Mai 15 21:55:22 kernel: Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
--
Mai 15 22:03:41 systemd[2088]: Started vte-spawn-3d07b8c8-a1a8-4b6f-b3f1-f8a7e6118d8b.scope - VTE child process 91159 launched by gnome-terminal-server process 88814.
Mai 15 22:03:48 wireplumber[2212]: sbc_decode failed: -3
Mai 15 22:05:26 wpa_supplicant[1548]: wlp1s0: WPA: Group rekeying completed with 94:83:c4:04:dc:f8 [GTK=TKIP]
--
Mai 15 22:11:11 polkitd[1308]: Unregistered Authentication Agent for unix-process:93325:12272016 (system bus name :1.2224, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale de_DE.UTF-8) (disconnected from bus)
Mai 15 22:11:35 kernel: Bluetooth: hci0: SCO packet for unknown connection handle 257
Mai 15 22:11:35 kernel: Lockdown: systemd-logind: hibernation is restricted; see man kernel_lockdown.7
System
Bluetoth device: PX7 Bowers & Wilkins
Fedora Linux 36.20220514.0 (Silverblue)
$ uname -i -s -r -v -o -p
Linux 5.17.6-300.fc36.x86_64 #1 SMP PREEMPT Mon May 9 15:47:11 UTC 2022 x86_64 x86_64 GNU/Linux
$ pipewire --version
pipewire
Compiled with libpipewire 0.3.51
Linked with libpipewire 0.3.51
$ bluetoothctl -v
bluetoothctl: 5.64
$ gnome-control-center --version
gnome-control-center 42.1
$ rpm-ostree status -v
State: idle
AutomaticUpdates: stage; rpm-ostreed-automatic.timer: last run 23h ago
Deployments:
β fedora:fedora/36/x86_64/silverblue
Version: 36.20220514.0 (2022-05-14T00:45:42Z)
BaseCommit: 37a03048e5cebd64eb20ad9ff42ad4b7672a7722e9d1f3a6705927c64bb8bbfa
ββ repo-0 (2022-05-04T21:16:11Z)
ββ repo-1 (2022-05-14T00:18:44Z)
ββ repo-2 (2022-05-14T00:22:04Z)
Commit: 548dcced972cb1b647655b5c2f5ed7950ffc1e21b9ec57575e5ac8de9eb220a1
ββ fedora-modular (2022-05-04T21:12:01Z)
ββ fedora (2022-05-04T21:16:11Z)
ββ rpmfusion-free (2022-05-04T04:48:11Z)
ββ fedora-cisco-openh264 (2022-04-07T16:52:38Z)
ββ updates (2022-05-13T01:50:57Z)
ββ rpmfusion-free-updates (2022-05-13T10:06:59Z)
ββ updates-modular (2022-05-08T01:14:17Z)
ββ updates-archive (2022-05-14T03:31:43Z)
Staged: no
StateRoot: fedora
GPGSignature: 1 signature
Signature made Sa 14 Mai 2022 02:45:45 CEST using RSA key ID 999F7CBF38AB71F4
Good signature from "Fedora <fedora-36-primary@fedoraproject.org>"
LayeredPackages: adb compat-ffmpeg28 dconf-editor firewall-config git git-credential-libsecret git-subtree
gnome-tweaks gstreamer1-plugin-openh264 gtkhash-nautilus heimdall htop httpie keepassxc kid3
lshw mozilla-openh264 nautilus-image-converter nextcloud-client nextcloud-client-nautilus
nvme-cli openssl pipewire-codec-aptx podman-compose rpmfusion-free-release simple-scan
smartmontools sushi tldr zsh
Questions
- With old pulseaudio (where it also did not work) I had
pactl
to debug such issues. Is there something like this for Wireplumber, too?