media-session: add bluez hw database conf files

This commit is contained in:
Pauli Virtanen 2021-01-23 16:30:23 +02:00
parent 2c9764da1d
commit 88077a29db
3 changed files with 74 additions and 6 deletions

View file

@ -0,0 +1,66 @@
# List of hardware/kernel features, which cannot be detected generically.
#
# The `feature` is enabled only if all three of adapter, device, and
# kernel have it.
#
# For each of the adapter/device/kernel, the match rules are processed
# one at a time, and the first one that matches is used.
#
# Features and tags:
# msbc "standard" mSBC (60 byte tx packet)
# msbc-alt1 USB adapters with mSBC in ALT1 setting (24 byte tx packet)
# msbc-alt1-rtl Realtek USB adapters with mSBC in ALT1 setting (24 byte tx packet)
# hw-volume AVRCP absolute volume support
# sbc-xq "nonstandard" SBC codec setting with better sound quality
# (XXX: the SBC-XQ per-device setting doesn't have effect yet)
#
# Features are disabled with the key "no-features" whose value is an
# array of strings in the match rule.
bluez5.features.device = [
# properties:
# - name
# - address ("ff:ff:ff:ff:ff:ff")
# - vendor-id
# - product-id
# - version-id
{ name = "Air 1 Plus" },
{ name = "AirPods", no-features = [ msbc-alt1, msbc-alt1-rtl ] },
{ name = "AirPods Pro", no-features = [ msbc-alt1, msbc-alt1-rtl ] },
{ name = "AXLOIE Goin", no-features = [ msbc-alt1, msbc-alt1-rtl ] },
{ name = "JBL Endurance RUN BT", no-features = [ msbc-alt1, msbc-alt1-rtl, sbc-xq ] },
{ name = "JBL LIVE650BTNC" },
{ name = "Soundcore Life P2-L", no-features = [ msbc-alt1, msbc-alt1-rtl ] },
{ name = "Urbanista Stockholm Plus", no-features = [ msbc-alt1, msbc-alt1-rtl ] },
# All features are enabled by default; it's simpler to block non-working devices one by one.
]
bluez5.features.adapter = [
# properties:
# - address ("ff:ff:ff:ff:ff:ff")
# - bus-type ("usb", "other")
# - vendor-id ("usb:ffff")
# - product-id ("ffff")
# Realtek Semiconductor Corp.
{ bus-type = "usb", vendor-id = "usb:0bda" },
# Generic USB adapters
{ bus-type = "usb", no-features = [ msbc-alt1-rtl ] },
# Other adapters
{ no-features = [ msbc-alt1-rtl ] },
]
bluez5.features.kernel = [
# properties (as in uname):
# - sysname
# - release
# - version
{ sysname = "Linux", release = "~^[0-4]\\.", no-features = [ msbc-alt1, msbc-alt1-rtl ] },
{ sysname = "Linux", release = "~^5\\.[1-7]\\.", no-features = [ msbc-alt1, msbc-alt1-rtl ] },
{ sysname = "Linux", release = "~^5\\.(8|9|10)\\.", no-features = [ msbc-alt1 ] },
{ no-features = [] },
]

View file

@ -5,13 +5,14 @@
# ~/.config/pipewire/media-session.d/ for local changes.
properties = {
# Enable mSBC support, disabled by default. Be aware that
# mSBC is not expected to work on all headset + adapter combinations.
# This can be overloaded for a specific device and native backend
# in rules section.
#bluez5.msbc-support = false
# These features do not work on all headsets, so they are enabled
# by default based on the hardware database. They can also be
# forced on/off by the following options:
#bluez5.sbc-xq-support = false
#bluez5.force-sbc-xq = true
#bluez5.force-msbc = true
# See bluez-hardware.conf for the hardware database.
# Enabled headset roles (default: [ hsp_hs hfp_ag ]), this
# property only applies to native backend. Currently some headsets

View file

@ -1,4 +1,5 @@
conf_files = [
[ 'bluez-hardware.conf', 'bluez-hardware.conf' ],
[ 'bluez-monitor.conf', 'bluez-monitor.conf' ],
[ 'v4l2-monitor.conf', 'v4l2-monitor.conf' ],
[ 'media-session.conf', 'media-session.conf' ],