In this brief guide, we will explore what the RPM Fusion repository is, understand why we should install RPM Fusion Repository, and finally learn how to enable the RPM Fusion repository in Fedora, RHEL, and its clones such as CentOS, AlmaLinux, and Rocky Linux distributions.
Table of Contents
What is RPM Fusion Repository?
Fedora project strictly adheres the Fedora licensing policies. It excludes some packages from the official repositories for the following reasons:
- If a package is propriety, it can't be included in Fedora;
- If a package is closed-source, it can't be included in Fedora;
- If a package is legally encumbered, it cannot be included in Fedora;
- If package violates United States laws (specifically, Federal or applicable state laws), it cannot be included in Fedora.
Any package that fails to meet the aforementioned policies will not be included in the official repositories of Fedora and RHEL. This is why some third party repositories, which have liberal licensing policies, are created. One such repository is RPM Fusion.
RPM Fusion is a community-maintained, third-party software repository that provides packages that the Fedora project and Red Hat can't ship due to legal and various other reasons as stated earlier.
The RPM Fusion repository is a must have to install the necessary multimedia codecs, proprietary software and drivers in Fedora, RHEL and its clones like CentOS, AlmaLinux and Rocky Linux etc.
RPM Fusion Free and Non-free Repositories
RPM Fusion has two repositories namely "free"
and "nonfree"
. The free
repository contains the packages that are Open Source as defined by Fedora licensing guidelines. The nonfree
repository contains redistributable packages that are not Open Source and packages that are not free for commercial purpose.
You can add both repos and use them simultaneously on your personal system. There won't be any conflicts between the packages in the free
and nonfree
repos. If you're interested in running only free packages, just add the free
repo and install the nonfree
repo later.
1. Enable RPM Fusion Repository in Fedora Linux 39 / 38
To enable both the free
and the nonfree
RPM Fusion repositories on your Fedora system, run:
$ sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
Sample output:
Last metadata expiration check: 0:01:32 ago on Friday 10 November 2023 06:19:38 PM. rpmfusion-free-release-39.noarch.rpm 2.2 kB/s | 11 kB 00:05 rpmfusion-nonfree-release-39.noarch.rpm 6.4 kB/s | 11 kB 00:01 Dependencies resolved. ================================================================================================================================================== Package Architecture Version Repository Size ================================================================================================================================================== Installing: rpmfusion-free-release noarch 39-1 @commandline 11 k rpmfusion-nonfree-release noarch 39-1 @commandline 11 k Transaction Summary ================================================================================================================================================== Install 2 Packages Total size: 22 k Installed size: 11 k Is this ok [y/N]: y Downloading Packages: Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : rpmfusion-nonfree-release-39-1.noarch 1/2 Installing : rpmfusion-free-release-39-1.noarch 2/2 Verifying : rpmfusion-free-release-39-1.noarch 1/2 Verifying : rpmfusion-nonfree-release-39-1.noarch 2/2 Installed: rpmfusion-free-release-39-1.noarch rpmfusion-nonfree-release-39-1.noarch Complete!
Like I already mentioned, you can install only the free
repo like below:
$ sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
To enable only the non-free RPM Fusion repository, do:
$ sudo dnf install https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
On Fedora Silverblue:
To add and enable free
and nonfree
RPM Fusion repositories on a Fedora Silverblue machine, run:
$ sudo rpm-ostree install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
Well, RPM Fusion repository is installed and enabled. Let us go ahead and see if RPM Fusion is enabled or not.
1.1. List Repositories in Fedora
To find the list of installed repositories in Fedora, run:
$ dnf repolist
Sample output:
repo id repo name copr:copr.fedorainfracloud.org:phracek:PyCharm Copr repo for PyCharm owned by phracek fedora Fedora 39 - x86_64 fedora-cisco-openh264 Fedora 39 openh264 (From Cisco) - x86_64 google-chrome google-chrome rpmfusion-free RPM Fusion for Fedora 39 - Free rpmfusion-free-updates RPM Fusion for Fedora 39 - Free - Updates rpmfusion-nonfree RPM Fusion for Fedora 39 - Nonfree rpmfusion-nonfree-nvidia-driver RPM Fusion for Fedora 39 - Nonfree - NVIDIA Driver rpmfusion-nonfree-steam RPM Fusion for Fedora 39 - Nonfree - Steam rpmfusion-nonfree-updates RPM Fusion for Fedora 39 - Nonfree - Updates updates Fedora 39 - x86_64 - Updates
If you want to list only the enabled repositories, the command would be:
$ dnf repolist enabled
The first time you attempt to install packages from the RPM Fusion repositories, the dnf
utility prompts you to confirm the signature of the repositories. Type y
and hit ENTER to confirm it.
RPM Fusion for Fedora 39 - Free 1.6 MB/s | 1.7 kB 00:00 Importing GPG key 0xD651FF2E: Userid : "RPM Fusion free repository for Fedora (2020) <rpmfusion-buildsys@lists.rpmfusion.org>" Fingerprint: E9A4 91A3 DE24 7814 E7E0 67EA E06F 8ECD D651 FF2E From : /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-39 Is this ok [y/N]: y
2. Enable RPM Fusion Repository in RHEL 8, CentOS 8, AlmaLinux 8, Rocky Linux 8
In RHEL and its clones like CentOS, AlmaLinux, Rocky Linux etc., you must enable [EPEL] repository before enabling RPM Fusion repository.
To install EPEL repository in Red Hat Enterprise Linux system, run:
$ sudo dnf install --nogpgcheck https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E %rhel).noarch.rpm
After enabling the EPEL repository, run the following command to enable RPM Fusion repository in RHEL and its compatible clones CentOS, AlmaLinux and Rocky Linux:
$ sudo dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm
Sample output:
Last metadata expiration check: 0:09:07 ago on Friday 23 September 2022 11:41:49 AM UTC. rpmfusion-free-release-8.noarch.rpm 861 B/s | 11 kB 00:12 rpmfusion-nonfree-release-8.noarch.rpm 877 B/s | 11 kB 00:12 Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: rpmfusion-free-release noarch 8-0.1 @commandline 11 k rpmfusion-nonfree-release noarch 8-0.1 @commandline 11 k Transaction Summary ================================================================================ Install 2 Packages Total size: 22 k Installed size: 7.6 k Is this ok [y/N]: y Downloading Packages: Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : rpmfusion-free-release-8-0.1.noarch 1/2 Installing : rpmfusion-nonfree-release-8-0.1.noarch 2/2 Verifying : rpmfusion-free-release-8-0.1.noarch 1/2 Verifying : rpmfusion-nonfree-release-8-0.1.noarch 2/2 Installed: rpmfusion-free-release-8-0.1.noarch rpmfusion-nonfree-release-8-0.1.noarch Complete!
If you are using CentOS Steam 8, you need to enable [PowerTools] repository as well.
$ sudo dnf config-manager --enable powertools
CentOS 8 (older version) used a case sensitive name for the PowerTools repository:
$ sudo dnf config-manager --enable PowerTools
On RHEL 8, you should enable subscription:
$ sudo subscription-manager repos --enable "codeready-builder-for-rhel-8-$(uname -m)-rpms"
In RHEL 7 and its compatible clones like CentOS 7, run the following command to enable EPEL and RPM Fusion repositories:
$ sudo yum localinstall --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
2.1. List Installed Repositories in RHEL-based Systems
You can view the list of the installed repositories at any time using the following commands:
$ dnf repolist
Or,
$ yum repolist
Sample output:
repo id repo name appstream AlmaLinux 8 - AppStream baseos AlmaLinux 8 - BaseOS docker-ce-stable Docker CE Stable - x86_64 epel Extra Packages for Enterprise Linux 8 - x86_64 epel-modular Extra Packages for Enterprise Linux Modular 8 - x86_64 extras AlmaLinux 8 - Extras rpmfusion-free-updates RPM Fusion for EL 8 - Free - Updates rpmfusion-nonfree-updates RPM Fusion for EL 8 - Nonfree - Updates
3. Install Tainted RPM Fusion Repositories
RPM Fusion provides two additional repositories namely Free Tainted and Nonfree Tainted.
Before tainted repositories were created, the redistributable status of software was only analyzed for copyright compliance, not for reverse engineering rights. Tainted repositories were added to address this gap.
Let's explore what they are and also learn how to enable them.
3.1. Enable Free Tainted Repository
The Free Tainted repository in RPM Fusion contains software that is under a free license but may have usage restrictions in certain countries. This is primarily due to legal or patent issues related to the software's functionality.
A notable example is libdvdcss
, a library used for playing DVDs, which might be subject to legal restrictions in some jurisdictions.
Users can enable this repository by installing the rpmfusion-free-release-tainted
package.
$ sudo dnf install rpmfusion-free-release-tainted
This process integrates the Free Tainted repository into the system's package manager, allowing for easy installation and updates of its software.
3.2. Enable Nonfree Tainted Repository
The Nonfree Tainted repository includes software that is not freely licensed (nonfree) and is not explicitly redistributable. Despite this, it is allowed for interoperability purposes in some countries. This includes firmware and drivers necessary for the operation of certain hardware components.
Examples:
b43-firmware
: Firmware for Broadcom wireless network chips.nouveau-firmware
: Firmware for certain NVIDIA graphics cards.dvb-firmware
: Firmware for Digital Video Broadcasting hardware.
Similar to the Free Tainted repository, the Nonfree Tainted repository can be enabled by installing the rpmfusion-nonfree-release-tainted
package.
$ sudo dnf install rpmfusion-nonfree-release-tainted
Both these repositories extend the range of available software in Fedora and RHEL systems, particularly for users who need access to software that falls outside the scope of standard free and open-source software due to licensing or legal reasons. However, users should be aware of the legal implications of using such software in their respective countries.
4. Disable RPM Fusion Repositories
If you don't want RPM Fusion repositories anymore, you can disable RPM Fusion repository using yum-config-manager
as shown below.
To disable both free and non-free RPM Fusion repositories, run:
$ sudo yum-config-manager --disable rpmfusion-free-updates
$ sudo yum-config-manager --disable rpmfusion-nonfree-updates
To enable free and non-free repositories, run:
$ sudo yum-config-manager --enable rpmfusion-free-updates
$ sudo yum-config-manager --enable rpmfusion-nonfree-updates
Frequently Asked Questions
Here are a few FAQs about RPM Fusion repositories.
A: RPM Fusion is a software repository that provides additional packages for Fedora, RHEL, and their clones like CentOS, AlmaLinux, and Rocky Linux. These packages are not available in the default repositories due to various reasons, such as licensing issues or policy restrictions.
A: RPM Fusion offers access to a wider range of software, including multimedia applications, drivers, and software that might not be included in the default repositories.
A: RPM Fusion is generally considered safe and reliable. However, as with any third-party repository, there's always a slight risk. The RPM Fusion team works to ensure the safety and compatibility of packages, but it's always a good idea to exercise caution when installing third-party software.
A: You can enable RPM Fusion by downloading and installing the repository configuration packages from the RPM Fusion website. Instructions are provided for Fedora, RHEL, and their respective clones in this tutorial itself. It involves executing a few commands in the terminal.
A: Yes, RPM Fusion is available for both Fedora and RHEL, as well as for RHEL clones like CentOS, AlmaLinux, and Rocky Linux. Each distribution has specific instructions for enabling the repository.
RPM Fusion has two main repositories: Free and Nonfree. The Free repository contains open-source software, while the Nonfree repository includes software that is proprietary or has certain restrictions on redistribution. It also provides two more repositories namely Free Tainted and Nonfree Tainted.
A: Free Tainted: Contains software under a free license but with usage restrictions in some countries, like 'libdvdcss'. You can enable it by installing the rpmfusion-free-release-tainted
package.
Nonfree Tainted: Includes nonfree software, essential for interoperability but with distribution limitations. Examples are b43-firmware
and nouveau-firmware
. Enabled by the rpmfusion-nonfree-release-tainted
package.
A: RPM Fusion hosts a variety of packages, including multimedia players and codecs, graphics drivers, and software that may not meet the licensing criteria of the official Fedora or RHEL repositories.
A: RPM Fusion is regularly updated by its maintainers. The frequency of updates may vary, but it generally aligns with updates in Fedora and RHEL to ensure compatibility.
A: While there is no official support for RPM Fusion, community forums and resources are available where users can seek help and share information.
A: Yes, RPM Fusion welcomes contributions from the community. This can include packaging software, testing, and providing feedback or documentation. Details on how to contribute are available on the RPM Fusion website.
Conclusion
That's it. You know now how to enable RPM Fusion repository RPM-based systems such as Fedora, RHEL, CentOS, AlmaLinux, and Rocky Linux.
Enabling RPM Fusion in a newly installed system is mandatory as it provides a lots of unofficial packages that are not included in the official repositories.
Resource:
2 comments
Hello SK, I am new to Linux and was wondering if there is a well built app for me to use like the inbuilt software installer I get with fedora? Thank you
Please elaborate your question.