summaryrefslogtreecommitdiffstats
path: root/src/bluetooth/doc
diff options
context:
space:
mode:
authorJuha Vuolle <juha.vuolle@qt.io>2023-08-20 10:09:03 +0300
committerJuha Vuolle <juha.vuolle@qt.io>2023-08-23 08:30:25 +0300
commit9db4dd9fff0b4befeb16e7fc1ca80f82a4f6c245 (patch)
tree8b29ec47098912c031c1df66f78da08c48682b1c /src/bluetooth/doc
parent2e97ed63a7800ce818b6852ff176a85e24eb145f (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.qdoc22
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