RPM Fusion is a repository of add-on packages for Rhel-type distributions and EL+EPEL that a group of community volunteers maintains. RPM Fusion is not a standalone repository but an extension of CentOS’s default packages that could not be included due to CentOS being bound by the same legal restrictions as Red Hat.
The RPM Fusion repository comes in two flavors, Free and Non-Free. The free repository contains a free version of the software that is open source and non-free, which have mostly almost all free software but are closed source and mainly proprietary.
In the following tutorial, you will learn how to install RPM Fusion on your CentOS 8 distribution.
Table of Contents
Prerequisites
- Recommended OS: Any current CentOS 8 Stream.
- User account: root access
Updating Operating System
Update your CentOS Stream operating system to make sure all existing packages are up to date:
sudo dnf upgrade --refresh -y
The tutorial will be using the sudo command and assuming you have sudo status.
To verify sudo status on your account:
sudo whoami
Example output showing sudo status:
[joshua@centos-stream ~]$ sudo whoami
root
To set up an existing or new sudo account, visit our tutorial on adding a User to Sudoers on CentOS Stream.
To use the root account, use the following command with the root password to log in.
su
The tutorial will utilize the terminal, which can be found in your show applications menu.
Example:
Check for RPM Fusion
The first task is to check if RPM Fusion repositories are already enabled. When installing CentOS, you did have the option to set up third-party repositories.
Open your terminal, and use the following grep command, which will print out any hits from your dnf repo list.
dnf repolist | grep rpmfusion
If you do not have any RPM Fusion repositories in your dnf repo list, the result will come back with nothing. If this is the case, proceed to the next part of the tutorial.
Install & Enable RPM Fusion Repositories
To install the RPM Fusion repo’s in your terminal, you will execute the following commands.
Note, if you an open-source fan, only install the free repository. For all other users, install both.
To enable the Free repository, use:
sudo dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm -y
To enable the Non-Free repository:
sudo dnf install --nogpgcheck https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm -y
Alternatively, with the EPEL repository installed, use the following commands.
To enable the Free repository, use:
sudo dnf install rpmfusion-free-release
To enable the Non-Free repository:
sudo dnf install rpmfusion-nonfree-release
Next, verify the installation.
dnf repolist | grep rpmfusion
Example output:
This has shown the repository is actively imported. Proceed further to learn some examples of using RPM Fusion.
RPM Fusion Examples
Install & Search for Packages
Many popular applications that do not come in CentOS’s default repository, such as Steam, can now be installed.
Install Steam Example:
sudo dnf install steam
Example output:
Type Y and then press the ENTER KEY to proceed with the installation.
To search for packages to see if they are available using the DNF package manager, which RPM Fusion is now a part of, use the dnf search command.
sudo dnf search steam
Example output:
Additionally, installing the dnf-utilities package can yield better results.
sudo dnf install dnf-utils -y
Then use the repo query command. The example will continue to use the gaming client Steam.
sudo repoquery -i steam
Example output:
As you can see, the Steam package is coming from the RPM Fusion Non-Free repository. Ideally, you can use the dnf search and check with the dnf repoquery command to investigate any package that utilizes the dnf package manager.
Lastly, to print out a list of all available packages from each free and non-free repositories, use the following terminal command.
All RPM Fusion Free packages printout:
sudo dnf repository-packages rpmfusion-free-updates list
All RPM Fusion Non-Free packages printout:
sudo dnf repository-packages rpmfusion-nonfree-updates list
Install RPM Fusion AppStream Meta Data
The RPM Fusion repository provides packages for GNOME and KDE Discover.
sudo dnf groupupdate core
Example output:
Type Y and then press the ENTER KEY to proceed with the installation.
Install RPM Fusion Multimedia
RPM Fusion repositories also provide packages and updates to play multimedia files and GStreamer compatibility.
Install multimedia packages for GStreamer Enabled Applications:
sudo dnf groupupdate multimedia --setop="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin
Example output:
Type Y and then press the ENTER KEY to proceed with the installation.
Install sound and video packages required by some applications:
sudo dnf groupupdate sound-and-video
Example output:
Type Y and then press the ENTER KEY to proceed with the installation.
Tainted RPM Fusion Repos
RPM Fusion has what is known as “tainted” repositories for free and non-free. To sum it up, these repositories contain software that is illegal in certain countries, such as playing DVDs with libdvdcss.
Install Taint RPM Fusion Free support (For Floss Packages) and libdvdcss:
sudo dnf install rpmfusion-free-release-tainted
Example output:
Type Y and then press the ENTER KEY to proceed with the installation.
Next, you can optionally install libdvdcss as follows.
sudo dnf install libdvdcss -y
Install Taint RPM Fusion Non-Free support (For Non-Floss Packages):
sudo dnf install rpmfusion-nonfree-release-tainted
Example output:
Type Y and then press the ENTER KEY to proceed with the installation.
Next, install additional firmware.
sudo dnf install \*-firmware
Once done, use the grep command to check the dnf repolist of all the installed RPM Fusions packages.
dnf repolist | grep rpmfusion
Example output:
How to Remove (Uninstall) RPM Fusion Repo
To remove the repositories from your CentOS system is relatively easy. To remove repositories, you need to find the name and use the dnf remove command, but first, make sure to have the full name. This can be done using the following command.
rpm -qa 'rpmfusion*'
Example output:
Now open your terminal and use the following.
To remove the Free repository, use:
sudo dnf remove rpmfusion-free-release -y
To remove the Non-Free repository, use:
sudo dnf remove rpmfusion-nonfree-release -y
To remove the Free (Tainted) repository, use:
sudo dnf remove rpmfusion-free-release-tainted -y
To remove the Non-Free (Tainted) repository, use:
sudo dnf remove rpmfusion-nonfree-release-tainted -y
To re-install the Fusion drive, repeat the process at the start of the tutorial.
Comments and Conclusion
In the tutorial, you have learned how to install the RPM Fusion repository free and non-free and the tainted repositories on your CentOS 8 Stream distribution.
Overall, RPM Fusion is also used on RHEL type distributions, and it’s a well-respected option for getting packages that are not available by default while still utilizing the dnf package manager and not manually installing or using a third-party service like flatpak or snap.
To search the RPM Fusion repository database for packages, visit here.