How to Install RPM Fusion on Rocky Linux

RPM Fusion extends Rocky Linux with software that Red Hat cannot ship due to licensing restrictions or patent concerns. This includes multimedia codecs for video playback, graphics drivers like NVIDIA proprietary drivers, streaming tools, and applications such as VLC, OBS Studio, and Steam. If you need to play MP4 files, enable hardware video acceleration, or install software outside the default repositories, RPM Fusion provides a trusted source maintained by Fedora community volunteers.

This guide walks through installing RPM Fusion repositories on Rocky Linux 8, 9, and 10. You will enable the required prerequisite repositories, add both the free and non-free RPM Fusion branches, and verify everything works correctly. By the end, your system will have access to thousands of additional packages that integrate seamlessly with DNF.

Step 1: Update Rocky Linux Before RPM Fusion Installation

Before adding new repositories, first update your existing packages to avoid version conflicts. This step ensures your package cache reflects the latest available software and typically takes only a few seconds.

sudo dnf upgrade --refresh

Step 2: Enable CRB or PowerTools Repository

Many RPM Fusion packages depend on development libraries that live in the CodeReady Builder (CRB) or PowerTools repository. However, these repositories are disabled by default on Rocky Linux, so you must enable them before proceeding. The repository name also differs between versions.

Rocky Linux 9 and 10:

sudo dnf config-manager --set-enabled crb

Rocky Linux 8:

sudo dnf config-manager --set-enabled powertools

After running the enable command, verify the repository is now active:

dnf repolist --all | grep -E 'crb|powertools'

Expected output on Rocky Linux 10:

crb                                         Rocky Linux 10 - CRB        enabled

On Rocky Linux 8, look for powertools showing enabled instead.

Step 3: Install the EPEL Repository

RPM Fusion requires Extra Packages for Enterprise Linux (EPEL) as a dependency. Specifically, EPEL provides additional open-source packages that complement the base Rocky Linux repositories. Fortunately, the EPEL release package is available directly from the extras repository on all Rocky versions:

sudo dnf install epel-release -y

Rocky Linux does not use EPEL Next. That repository exists only for CentOS Stream to provide packages tracking the next RHEL minor release. If you see older guides mentioning epel-next-release for Rocky Linux, ignore that instruction.

Once installed, verify EPEL is active:

dnf repolist | grep epel

Expected output on Rocky Linux 10:

epel                         Extra Packages for Enterprise Linux 10 - x86_64

If you already have a dedicated EPEL installation on Rocky Linux, you can skip this step and proceed directly to adding RPM Fusion.

Step 4: Install RPM Fusion Repositories

With EPEL in place, you can now add the RPM Fusion repositories. Notably, RPM Fusion provides two repository branches with different licensing characteristics:

Free Repository

  • First, it contains open-source software under GPL, BSD, or similar licenses
  • Additionally, packages can be freely modified and redistributed
  • Furthermore, it includes VLC media player, FFmpeg, and many multimedia libraries

Non-Free Repository

  • First, it contains software with restrictive licenses or patent encumbrances
  • Consequently, it may have redistribution limitations
  • However, it includes NVIDIA drivers, Steam, and proprietary codecs

Most users install both repositories. The commands below use $(rpm -E %rhel) to automatically detect your Rocky Linux major version, which ensures you download the correct package for your system.

Install the Free Repository:

sudo dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm -y

Then install the Non-Free Repository:

sudo dnf install --nogpgcheck https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm -y

The --nogpgcheck flag skips GPG verification during the initial package download. However, after installation, the RPM Fusion GPG keys are imported and all future package installations are signed and verified normally.

Next, verify both repositories are active:

dnf repolist | grep rpmfusion

Expected output on Rocky Linux 10:

rpmfusion-free-updates       RPM Fusion for EL 10 - Free - Updates
rpmfusion-nonfree-updates    RPM Fusion for EL 10 - Nonfree - Updates

Step 5: Enable RPM Fusion Testing Repositories (Optional)

In addition to the stable repositories, RPM Fusion also maintains testing repositories that contain newer package versions before they reach the stable branch. However, enable these only if you need the latest features and understand that testing packages may occasionally have bugs.

Enable Free Testing Updates:

sudo dnf config-manager --set-enabled rpmfusion-free-updates-testing

Then enable Non-Free Testing Updates:

sudo dnf config-manager --set-enabled rpmfusion-nonfree-updates-testing

After enabling the testing repositories, verify all RPM Fusion repositories are now active:

dnf repolist | grep rpmfusion

Expected output with testing enabled:

rpmfusion-free-updates            RPM Fusion for EL 10 - Free - Updates
rpmfusion-free-updates-testing    RPM Fusion for EL 10 - Free - Test Updates
rpmfusion-nonfree-updates         RPM Fusion for EL 10 - Nonfree - Updates
rpmfusion-nonfree-updates-testing RPM Fusion for EL 10 - Nonfree - Test Updates

Step 6: Install AppStream Metadata and Multimedia Codecs

RPM Fusion provides package groups that simplify installing common software collections. Specifically, these group installations add metadata for GNOME Software and KDE Discover, plus multimedia codecs for video and audio playback.

Install AppStream Metadata

This command adds RPM Fusion package information to graphical software centers, which allows applications like GNOME Software to display and install RPM Fusion packages:

sudo dnf groupupdate core

Install Multimedia Codecs

For applications that use GStreamer (such as GNOME Videos, Rhythmbox, and many others), install the multimedia group:

sudo dnf groupupdate multimedia --setopt="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin

The --setopt="install_weak_deps=False" flag prevents installing optional dependencies, which consequently keeps the installation minimal. Additionally, the PackageKit plugin is excluded because it can cause issues with automatic codec installation prompts.

Similarly, for additional sound and video support used by some applications:

sudo dnf groupupdate sound-and-video

Step 7: Install Tainted Repositories (Optional)

RPM Fusion also provides “tainted” repositories containing software that may have legal restrictions in some countries due to patents or licensing. Notably, these are separate from the main free and non-free repositories.

Before installing packages from RPM Fusion, ensure you have already enabled the EPEL repository on Rocky Linux. RPM Fusion requires EPEL as a dependency for many packages. The tainted repositories are fully supported on Rocky Linux 8, 9, and 10.

Install Free Tainted Repository:

Contains FLOSS packages with potential patent issues, primarily libdvdcss for DVD playback:

sudo dnf install rpmfusion-free-release-tainted

Similarly, for the Non-Free Tainted Repository:

Contains firmware packages that may have redistribution restrictions:

sudo dnf install rpmfusion-nonfree-release-tainted

After installing the tainted repositories, you can install additional firmware packages:

sudo dnf install \*-firmware

Verify all installed RPM Fusion repositories:

dnf repolist | grep rpmfusion

Searching and Querying RPM Fusion Packages

With RPM Fusion installed, you can now search for available packages and query package information directly from the command line. Consequently, this helps you discover what software is available before installing.

List Available Packages

To see all packages available from RPM Fusion repositories:

dnf --enablerepo=rpmfusion-* list available | grep rpmfusion | head -50

This command enables all RPM Fusion repos temporarily, lists available packages, and then filters to show only those from RPM Fusion sources. Meanwhile, the head -50 limits output to the first 50 results.

Query Package Details

To see detailed information about a specific package, including which repository provides it:

dnf repoquery --info ffmpeg

Example output showing the package comes from RPM Fusion Free:

Name         : ffmpeg
Version      : 7.1.2
Release      : 2.el10
Architecture : x86_64
Size         : 1.9 M
Source       : ffmpeg-7.1.2-2.el10.src.rpm
Repository   : rpmfusion-free-updates
Summary      : Digital VCR and streaming server

The Repository line confirms which source provides the package. Therefore, this helps determine whether a package comes from the base Rocky repositories, EPEL, or RPM Fusion.

Managing RPM Fusion Repositories

Disable Testing Repositories

If you previously enabled testing repositories and want to return to stable packages only, you can disable them:

Disable Free Testing:

sudo dnf config-manager --set-disabled rpmfusion-free-updates-testing

Disable Non-Free Testing:

sudo dnf config-manager --set-disabled rpmfusion-nonfree-updates-testing

Remove RPM Fusion Repositories

To completely remove RPM Fusion from your system, simply uninstall the release packages. However, this removes the repository configuration files but does not uninstall packages you previously installed from RPM Fusion.

First, remove the Free Repository:

sudo dnf remove rpmfusion-free-release -y

Next, remove the Non-Free Repository:

sudo dnf remove rpmfusion-nonfree-release -y

If you installed tainted repositories, remove those as well:

sudo dnf remove rpmfusion-free-release-tainted rpmfusion-nonfree-release-tainted -y

Finally, verify the repositories are removed:

dnf repolist | grep rpmfusion

This command should return no output if all RPM Fusion repositories have been successfully removed.

Packages previously installed from RPM Fusion remain on your system after removing the repositories. To identify these packages, run dnf list installed | grep rpmfusion before removal. You can then decide whether to keep them or uninstall them individually.

Troubleshooting Common Issues

dnf config-manager Command Not Found

On minimal Rocky Linux installations, the config-manager subcommand may be missing. You will see an error like:

dnf: error: No such command: config-manager

Install the required plugin to fix this:

sudo dnf install dnf-plugins-core -y

After installation, the dnf config-manager command becomes available. Notably, desktop installations typically have this package already installed.

Repository Metadata Errors

If you see 404 errors when updating or installing packages, the repository mirrors may be temporarily unavailable or not yet populated for your Rocky Linux version:

Errors during downloading metadata for repository 'rpmfusion-free-tainted':
  - Status code: 404 for https://mirrors.rpmfusion.org/metalink?repo=free-el-tainted-10

Try cleaning the cache and retrying:

sudo dnf clean all
sudo dnf makecache

If errors persist for tainted repositories on Rocky Linux 10, those repositories may not be available yet. In that case, disable the problematic repository and continue using the main free and non-free repositories:

sudo dnf config-manager --set-disabled rpmfusion-free-tainted

GPG Key Import Failures

If DNF prompts you to import GPG keys and the import fails, you may see errors like:

warning: Signature not supported. Hash algorithm SHA1 not available.
error: https://mirrors.rpmfusion.org/...: import read failed.

Manually import the RPM Fusion signing keys to resolve this:

sudo rpm --import https://rpmfusion.org/keys?action=AttachFile&do=get&target=RPM-GPG-KEY-rpmfusion-free-el-$(rpm -E %rhel)
sudo rpm --import https://rpmfusion.org/keys?action=AttachFile&do=get&target=RPM-GPG-KEY-rpmfusion-nonfree-el-$(rpm -E %rhel)

Verify the keys were imported successfully:

rpm -qa gpg-pubkey* | xargs -I {} rpm -qi {} | grep -i "rpmfusion"

This should display the RPM Fusion key information if the import succeeded.

Conclusion

With RPM Fusion configured, your Rocky Linux system now has access to multimedia codecs, proprietary drivers, and thousands of additional packages. For example, use dnf search to find software and dnf repoquery --info to verify which repository provides each package. For the complete package list, visit the RPM Fusion package database. Finally, to speed up package downloads, consider increasing DNF speed on Rocky Linux.

2 thoughts on “How to Install RPM Fusion on Rocky Linux”

Leave a Comment

Let us know you are human: