diff options
author | Juha Vuolle <juha.vuolle@qt.io> | 2023-08-20 10:09:03 +0300 |
---|---|---|
committer | Juha Vuolle <juha.vuolle@qt.io> | 2023-08-23 08:30:25 +0300 |
commit | 9db4dd9fff0b4befeb16e7fc1ca80f82a4f6c245 (patch) | |
tree | 8b29ec47098912c031c1df66f78da08c48682b1c /src/bluetooth/doc | |
parent | 2e97ed63a7800ce818b6852ff176a85e24eb145f (diff) |
Make BlueZ DBus peripheral the default backend on Linux
The DBus backend was introduced in Qt 6.5, and is intended as
the eventual successor of the kernel backend. Users can opt-out
and use the older kernel backend by setting the
QT_BLUETOOTH_USE_KERNEL_PERIPHERAL environment variable.
[ChangeLog][QtBluetooth] The default Linux peripheral implementation
was changed from the kernel interface to the BlueZ DBus interface.
The old implementation remains available by defining
QT_BLUETOOTH_USE_KERNEL_PERIPHERAL as environment variable.
Fixes: QTBUG-115925
Change-Id: I27d60e410c02d0435c7dce81e5c06448a89bcc65
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/bluetooth/doc')
-rw-r--r-- | src/bluetooth/doc/src/bluetooth-index.qdoc | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/bluetooth/doc/src/bluetooth-index.qdoc b/src/bluetooth/doc/src/bluetooth-index.qdoc index 1a275a17..ff6bf037 100644 --- a/src/bluetooth/doc/src/bluetooth-index.qdoc +++ b/src/bluetooth/doc/src/bluetooth-index.qdoc @@ -93,19 +93,21 @@ The usage of the dummy backend is highlighted via an appropriate warning while b \section3 Linux Specific Since Qt 6.5 the Linux peripheral support has two backend alternatives: -BlueZ DBus and Bluetooth kernel API. The Bluez DBus backend introduced in Qt 6.5 is -intended as the eventual successor of the lower abstraction level kernel backend. +BlueZ DBus and Bluetooth Kernel API. The DBus backend is the default +backend since Qt 6.7. -The BlueZ DBus API is more limited in terms of features and is therefore not -the default backend for compatibility reasons. +BlueZ DBus is the newer BlueZ stack and possibly the eventual successor of the +older Kernel API. It is a bit more limited in terms of features, but in a +typical usage this should not matter. One notable benefit of using the DBus +backend is that the user process no longer needs to have the +\e CAP_NET_ADMIN capability (for example by running as \c root user). -The BlueZ DBus backend can be configured to use by setting -the \e QT_BLUETOOTH_USE_DBUS_PERIPHERAL environment variable. The QLowEnergyController -peripheral instantiation then introspects the presence of BlueZ DBus peripheral APIs -on the local bluetooth adapter. The minimum version requirement for BlueZ is 5.56. +The DBus backend requires BlueZ version 5.56 or higher, and that it provides +the needed DBus APIs. If these requirements are not met, Qt automatically +falls back to the Bluetooth Kernel API backend. -One noteworthy difference is that with BlueZ DBus peripheral backend the user process no longer -needs to have the \e CAP_NET_ADMIN capability (eg. run as root). +The older kernel backend can also be selected manually by setting the +\e QT_BLUETOOTH_USE_KERNEL_PERIPHERAL environment variable. \section3 \macos Specific The Bluetooth API on \macos requires a certain type of event dispatcher |