The Thunderbolt hardware interface is a relatively new technology launched in 2011 by Apple and Intel. It’s an external hardware interface to connect your external peripheral devices to your laptop/ Desktop. Thunderbolt 1 and 2 used a Mini DisplayPort (MDP) connector, illustrated in the image below. However, only a few laptop models and Macbooks shipped their products with the Thunderbolt 1/ 2 interface by this time. The main reason was that for laptop brands to use the interface on their products, they had to pay high copyright fees to Intel.
Note: Even though Intel and Apple developed the Thunderbolt technology, Intel still owns the copyright to the product, and even Apple had to pay licensing fees to use the Thunderbolt 1/2 interface on their products.
In 2015, Thunderbolt 3 was released. It came with improved features and ditched the MDP (Mini DisplayPort) used by Thunderbolt 1 and 2 for USB-C. Intel also dropped the licensing fees to make matters even better, allowing brands to use the interface freely. Thunderbolt 4 was later released in 2020 and came with several features that were an improvement of the Thunderbolt 3 port, and it also made use of the USB-C interface, as illustrated in the image below.
Some of the reasons why Thunderbolt 3 and 4 have gained a lot of popularity in the tech market include the following:
- Hight transfer speeds: Both Thunderbolt 3 and 4 can transfer data at 40 GB/s, which is high compared to USB-C, which transfers data at 20 GB/s.
- High power output: Thunderbolt 3 can transfer up to 100W of power (bi-directional). That’s enough power to charge your device. Unfortunately, not all PC manufacturers will include this high-power delivery of 100W.
- Support for high-resolution displays. Thunderbolt 3 can support 2-4K displays, while Thunderbolt 4 can support up to 2-4K displays or 1-8K display.
- Support multiple protocols: With Thunderbolt 3/4, you can connect different peripheral devices to your laptop. You can use it for data transfer, video transmission, and charging.
- Daisy-chaining: Thunderbolt 3/4 lets you connect up to six Thunderbolt devices, which is made possible by using a Thunderbolt docking station.
Table of Contents
- How to Use Thunderbolt 3/4 on CentOS
- Troubleshooting Issues with Thunderbolt 3/4 on CentOS
- Solution 1: Confirm that Your PC has a Thunderbolt 3/4 Port and Not USB-C
- Solution 2: Install Bolt (Thunderbolt Device Manager)
- Solution 3: Install Plasma-Thunderbolt (KDE Plasma Desktop)
- Solution 4: Upgrade the Kernel Release
- Conclusion
How to Use Thunderbolt 3/4 on CentOS
This post will look at using Thunderbolt 3/4 with CentOS. Our CentOS release of choice for this post is CentOS 8. If you are an Ubuntu user, please look at our post on How to use Thunderbolt 3/4 on Ubuntu.
To test CentOS with Thunderbolt 3/4, we will connect our PC to the Lenovo ThinkPad Thunderbolt 3 Dock via a Thunderbolt 3 cable, then connect to an external monitor via HDMI. The image below illustrates the connection design.
Even though Thunderbolt 3/4 can be used for other activities like transferring data from a Thunderbolt storage device or charging, we decided to use an external monitor since that’s the ultimate way to confirm the port is working. Alternatively, you can drop the docking station and use a Thunderbolt Monitor as a dock.
Note: We will not install any drivers at first. We will leverage the native support for Thunderbolt that comes with CentOS 8.
After a few minutes of switching between the different ports on the Lenovo docking station, we were able to get an external display through both the HDMI port and the MDP (Mini DisplayPort). Remember, we did not install any additional drivers on our CentOS system.
Another feature we found out during the testing, if you are running the GNOME Desktop Environment, you will always get a notification whenever you connect a Thunderbolt device to your laptop. After a quick lookup on the internet, we found out this is an Extended Device support feature introduced by GNOME to help you manage and monitor your connected Thunderbolt devices and mitigate any data security issues.
Troubleshooting Issues with Thunderbolt 3/4 on CentOS
Unfortunately, not all users will get Thunderbolt 3/ 4 working straightway on CentOS. You may connect your Thunderbolt monitor but still not get any display. You may see the GNOME notification that you have successfully connected a Thunderbolt device, but you still get no display on the external monitor. This section will look at all the solutions you can apply to get Thunderbolt working on your CentOS system.
Solution 1: Confirm that Your PC has a Thunderbolt 3/4 Port and Not USB-C
These four technologies can be pretty confusing to the end-user – Thunderbolt 3, Thunderbolt 4, USB-C, and USB-4. That’s because they all use the USB-C hardware interface.
Note: If you have a USB-C port on your PC, that doesn’t necessarily mean it is a Thunderbolt 3/ Thunderbolt 4/ USB-C or USB-4. These four technologies use the USB-C interface design for connection; however, the underlying protocol differs.
One trick you can use to differentiate a Thunderbolt 3/4 port from a USB-C port is to check whether there is a lightning symbol next to the port. Most laptop brands always include a lightning symbol next to Thunderbolt 3/4 ports, as shown below.
Solution 2: Install Bolt (Thunderbolt Device Manager)
If you are running an earlier version of CentOS, such as CentOS 7 or 6, and still experiencing issues with Thunderbolt, try installing Bolt on your system. Bolt is a system daemon that uses the D-BUS API to manage Thunderbolt devices. When Thunderbolt 3 was introduced, connected Thunderbolt devices required authorization before being used. With the Bolt package, you can list connected devices, authorize them and forget them once they are disconnected. Bolt comes with a command-line tool known as boltctl
, which you can use to control the daemon.
There are two ways you can use to install bolt
on your system:
- Install Bolt with
yum
- Install Bolt with
dnf
Install Bolt on CentOS Using yum
To get started, update the yum database by executing the command below.
sudo yum makecache
When done, run the command below to install Bolt on your system.
sudo yum -y install bolt
Install Bolt on CentOS Using dnf
If you don’t have dnf
installed, install it first by executing the commands below.
sudo yum makecache sudo yum -y install dnf
After successfully installing dnf
, execute the command below to install bolt
on your system.
sudo dnf makecache sudo dnf -y install bolt
Execute the command below if you ever want to uninstall/ remove Bolt from your system.
sudo dnf remove bolt
Solution 3: Install Plasma-Thunderbolt (KDE Plasma Desktop)
If you are running the KDE Plasma Desktop, you will need to install the plasma thunderbolt package to handle the authorization of connected Thunderbolt devices. However, you will also need to install the Bolt package discussed in Solution 2. Execute the command below to install the plasma-thunderbolt package.
sudo dnf install plasma-thunderbolt.x86_64
Solution 4: Upgrade the Kernel Release
Thunderbolt technology works perfectly with the latest Kernel releases. Since Kernel 4.13 release, Linux has included Thunderbolt 3 security as well. Follow the steps below to upgrade the Kernel on CentOS 8.
To check the Kernel version currently running on your system, execute the command below:
uname -msr
From the image below, you can see we are running Kernel 4.18
Next, update all the system packages with the command below.
sudo yum -y update
To update to a later Kernel release, you need to enable the ELRepo repository. Execute the command below on the Terminal to install the GPG key for the ELRepo repository. That allows CentOS to install unsigned software.
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
To install the ELRepo repository, run the command below:
sudo dnf install https://www.elrepo.org/elrepo-release-8.0-2.el8.elrepo.noarch.rpm
Up to this point, you are all set. Now, execute the command below to install a newer Kernel release.
sudo dnf --enablerepo=elrepo-kernel install kernel-ml
To start using the new Kernel, reboot/ restart your PC and select it from the boot menu as shown in the image below.
Conclusion
This post has given a step-by-step guide on using Thunderbolt 3/4 on CentOS 8 and the different solutions you can apply in case you encounter any connection issues. A small tip, when working with the latest technologies like Thunderbolt on a Linux system, always ensure you are running a newer kernel release. Earlier Kernel versions don’t include support for newer technologies, and you might need to recompile the Kernel to get some devices working. Do you have any questions regarding this topic? Please, feel free to hit the comments below.