UbuntuのBluetooth音響がA2DPに切り替わらないときの対処法

Linux IP Tips

えー、2024年6月半ば現在、Wireplumberよりpipewire-media-sessionのがBluetoothの扱いラクなのでソッチに切り替えますた。

1.まずipewire-media-sessionの設定直しから。

# sudo vim /etc/pipewire/media-session.d/bluez-monitor.conf
※人によってはローカルかもしれないけど、それでもOK

# コンフィグを下記の通り変更
bluez5.enable-sbc-xq = false
bluez5.enable-msbc = false
bluez5.hfphsp-backend = none
bluez5.autoswitch-profile = false
bluez5.default.profile = "a2dp_sink"
bluez5.auto-connect = [ a2dp ]
bluez5.hfphsp-backend = "none"

# systemctl --user --now daemon-reload
# systemctl --user restart pipewire-media-session

2.SystemdのBluetoothサービスコンフィグを変更

# sudo vim /etc/systemd/system/bluetooth.target.wants/bluetooth.service

# 下記設定通りに変更。その下記をコピペしてテキストファイルにしてーの、現ナマとdiffるとわかりやすいかも。
[Unit]
Description=Bluetooth service
Documentation=man:bluetoothd(8)
ConditionPathIsDirectory=/sys/class/bluetooth

[Service]
Type=dbus
BusName=org.bluez
ExecStart=/usr/lib/bluetooth/bluetoothd
NotifyAccess=main
#WatchdogSec=10
Restart=on-failure
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
LimitNPROC=1

# Filesystem lockdown
ProtectHome=true
ProtectSystem=false
PrivateTmp=false
ProtectKernelTunables=false
ProtectControlGroups=false
ReadWritePaths=/var/lib/bluetooth
ReadOnlyPaths=/etc/bluetooth

# Execute Mappings
MemoryDenyWriteExecute=false

# Privilege escalation
NoNewPrivileges=false

# Real-time
RestrictRealtime=false

[Install]
WantedBy=bluetooth.target
Alias=dbus-org.bluez.service

3.Bluetoothデバイス接続情報ディレクトリの初期化
# sudo rm -rf /var/lib/bluetooth
# sudo mkdir /var/lib/bluetooth

4.Bluetoothサービス再起動
# sudo systemctl daemon-reload
# sudo systemctl stop bluetooth && sudo systemctl start bluetooth
※ restartだとウチではコケました;;

コメント

タイトルとURLをコピーしました
~