DISCONTINUATION OF PROJECT.
This project will no longer be maintained by Intel.
Intel has ceased development and contributions including, but not limited to, maintenance, bug fixes, new releases, or updates, to this project.
Intel no longer accepts patches to this project.
If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the open source software community, please create your own fork of this project.
These components are distributed under a BSD-style license. See COPYING for the full license.
Thunderbolt™ technology is a transformational high-speed, dual protocol I/O that provides unmatched performance with up to 40Gbps bi-directional transfer speeds. It provides flexibility and simplicity by supporting both data (PCIe, USB3.1) and video (DisplayPort) on a single cable connection that can daisy-chain up to six devices.
The user-space components implement device approval support:
tbtacl is intended to be triggered by udev (see the udev rules in tbtacl.rules). It auto-approves devices that are found in ACL.
tbtadm is a user-facing CLI tool. It provides operations for device approval, handling the ACL and more.
The user-space components operate in coordination with the upstream Thunderbolt kernel driver (found in v4.13) to provide the Thunderbolt functionalities. These components are NOT compatible with the old out-of-tree Thunderbolt kernel module.
Build dependencies are:
You also need a c++ compiler with C++14 support and gzip.
Tested with:
For example, on Ubuntu you can install the dependencies with the following
command:
sudo apt-get install cmake libboost-filesystem-dev txt2tags pkg-config
On Fedora, use this:
dnf install cmake boost-devel txt2tags
Use the CMakeLists.txt file found in the root directory to build the project. For example (run it in the directory holding the code):
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .
On step 3, CMAKE_INSTALL_PREFIX
, UDEV_BIN_DIR
and UDEV_RULES_DIR
variables
can be used for changing the default installation location, e.g. to install
tbtadm
under /usr/bin
instead of the default /usr/local/bin
run:
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr
Installation can be done in one of 2 options:
cmake --build . --target install
.cpack -G RPM
to create an RPM package or
cpack -G DEB
to create a DEB package. Then, use your distro package manager
to install the resulted package.peers
command and XDomain is now shown in the topology outputadd
command for adding to ACL database without approve
commandlibboost-program-options
dependency--once
flag for approve-all
commandapprove
command addedpkg-config udev
tbtadm
actually acceptsThe source for this code:
Mailing list:
For additional information about Thunderbolt technology visit: