Red Hat released its latest 10.0 operating system this year. And they finally use an LTS kernel (6.12). This is the tutorial for beginners that guarantees successful driver installations on Red Hat Enterprise Linux, AlmaLinux and Rocky Linux 10.0.
There are some general considerations when using TBS drivers on a Linux PC:
1. UEFI secure boot must be turned off. This is because when UEFI secure boot is on, the Linux kernel verifies driver signatures that are absolutely not present in the TBS drivers source code.
2. Do not attempt to use official online repositories for your RHEL 10. Their kernel version is too new. You need to download the RHEL 10.0 Binary DVD image "rhel-10.0-x86_64-dvd.iso" and use the packages within it to set up a local (or LAN) repository for the operating system installation. If you are unsure how to do that, ask ChatGPT, it is your good friend. (e.g. "Hey ChatGPT, how do I set up a LAN repository using the files inside rhel-10.0-x86_64-dvd.iso on Windows?")
3. You need to stick to the initial kernel version of RHEL 10, which is "6.12.0-55.9.1", when using the drivers. Do not upgrade the kernel/OS as you will lose your driver access.
4. You may want to keep everything available offline for future OS and driver installations. (i.e. RHEL 10.0 ISO, the perl-Proc-ProcessTable RPM package, and the TBS offline drivers archive.)
5. SELinux may have unpredictable effects on TBS applications, and it is recommended that you turn it off.
To install the drivers, do the following steps as the root user.
Step 1, install the tools and packages required to compile the TBS drivers.
dnf install bzip2 curl gcc kernel-devel kernel-headers patch patchutils perl perl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker tar zip
dnf install https://dl.fedoraproject.org/pub/epel/10/Everything/x86_64/Packages/p/perl-Proc-ProcessTable-0.636-5.el10_0.x86_64.rpm
Step 2, download the latest version of the driver package from the TBS official website. Do not attempt to use other driver versions, please use version V20250428.
curl -O https://www.tbsdtv.com/download/document/linux/media_build-2025-04-28.tar.bz2
tar jxvf media_build-2025-04-28.tar.bz2
Step 3, compile the drivers with the given commands. Do not attempt to use "install.sh", it does not work properly on RHEL.
cd media_build
./patch-kernel.sh
make -j8
make install
This is it. Very simple. Thanks to Davin for updating the driver package as per request, it really makes our life easier.
During the "make install" process, you will see many filenames with ".ko" extension taking up the screen/shell. If not, your compilation is failed and you need to start from scratch. Unexpected failure at any stage will require deletion of all files and to start the installation process over. (You need to delete the entire "media_build" folder and re-decompress the driver package from Step 2 and proceed downward.)
Finally, you will find your device in the "/dev/dvb" directory after restarting the PC.
This time I want to show you how to install some popular applications. But make sure you have added the EPEL repository. (If you are unsure how to do that, ask ChatGPT.)
(Optional) How to install Tvheadend?
dnf install avahi-libs bzip2 uriparser
dnf install https://download1.rpmfusion.org/free/el/updates/10/x86_64/l/libdvbcsa-1.1.0-20.el10.x86_64.rpm
dnf install https://dl.cloudsmith.io/public/tvheadend/tvheadend/rpm/fedora/41/x86_64/tvheadend-4.3-2425~gd431956cc.fc41.x86_64.rpm
While I strongly recommend you to find a latest Tvheadend package at its official repository when you are doing this. Only tested "fc41" releases.
https://cloudsmith.io/~tvheadend/repos/tvheadend/packages/?q=format%3Arpm
After install, edit "/etc/sysconfig/tvheadend" and add "-C" in OPTIONS for the first run.
Then you can use systemctl to control service "tvheadend".
Add user "tvheadend" to group "video" to allow DVB device access:
usermod -aG video tvheadend
(Optional) How to install TSDuck?
dnf install pcsc-lite srt-libs libatomic librist
dnf install https://tsduck.io/download/prerelease/tsduck-3.42-4315.el10.x86_64.rpm
While I strongly recommend you to find a latest TSDuck package at its official repository when you are doing this.
https://tsduck.io/download/tsduck
(Extra note) Command to disable SELinux:
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
(Extra note) Command to uninstall/remove TBS drivers:
rm -rf /lib/modules/$(uname -r)/updates/extra