Fedora has it’s own flatpak repository that is subject to the same legal wrangles as their other software, so for example, their own Firefox flatpak does not contain the same codecs that would be available from Flathub.
During my own install of Fedora, one of the first things I do is install all the RPM Fusion repositories and then delete Fedora’s own flatpak repository and add Flathub by itself, to avoid any cross contamination of Fedora and Flathub flatpaks.
I don’t use Discover, in fact I delete it as it just gets in the way. I do all my package management via the command line. Below is how I deal with the Flatpak issue.
# SHOW FLATPAK REPOSITORIES.
sudo flatpak remotes --show-details --show-disabled
# DELETE FEDORA FLATPAK REPOSITORIES.
sudo flatpak remote-delete fedora && sudo flatpak remote-delete fedora-testing
# ADD FLATHUB FLATPAK REPOSITORY.
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
The following is one of the first things I do on a new install for RPM Fusion;
# INSTALL DISTRIBUTION AND GPG KEYS.
sudo dnf install distribution-gpg-keys && \
sudo dnf updateinfo list && sudo dnf upgrade && \
sudo dnf install fedora-gpg-keys && \
sudo dnf updateinfo list && sudo dnf upgrade
# IMPORT RPM FUSION GPG KEYS.
sudo rpmkeys --import /usr/share/distribution-gpg-keys/rpmfusion/RPM-GPG-KEY-rpmfusion-free-fedora-$(rpm -E %fedora) && \
sudo rpmkeys --import /usr/share/distribution-gpg-keys/rpmfusion/RPM-GPG-KEY-rpmfusion-nonfree-fedora-$(rpm -E %fedora)
# INSTALL RPM FUSION REPOSITORIES.
sudo dnf --setopt=localpkg_gpgcheck=1 install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm && \
sudo dnf updateinfo list && sudo dnf upgrade && \
sudo dnf --setopt=localpkg_gpgcheck=1 install https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm && \
sudo dnf updateinfo list && sudo dnf upgrade && \
sudo dnf --setopt=localpkg_gpgcheck=1 install rpmfusion-free-release-tainted
sudo dnf updateinfo list && sudo dnf upgrade && \
sudo dnf --setopt=localpkg_gpgcheck=1 install rpmfusion-nonfree-release-tainted
sudo dnf updateinfo list && sudo dnf upgrade
The first block installs GPG keys for a whole bunch of products and packages. The second block imports the GPG keys for RPM Fusion. The third block installs the RPM Fusion repositories, including the “tainted” repositories and carries out a GPG check for them.
Later on in my install process I will add the hardware accelerated codecs from RPM Fusion for my hardware (which is all AMD) doing the following;
# SWAP AMD HARDWARE ACCELERATED CODECS.
sudo dnf swap mesa-va-drivers mesa-va-drivers-freeworld && \
sudo dnf swap mesa-vdpau-drivers mesa-vdpau-drivers-freeworld
If you’re on Intel hardware you can do the following.
sudo dnf install intel-media-driver
The following will add the 32 bit and 64 bit hardware codecs for NVIDIA.
sudo dnf install libva-nvidia-driver.{i686,x86_64}
Then I swap the crippled Fedora ffmpeg
packages, for the full fat ffmpeg
package from RPM Fusion with;
# SWAP FFMPEG PACKAGES.
sudo dnf swap ffmpeg-free ffmpeg --allowerasing
And then I install ALL THE CODECS! so that there’s pretty much nothing I can’t play.
# INSTALL EXTRA MULTIMEDIA CODECS, LIBRARIES AND TOOLS.
sudo dnf install dvd+rw-tools dvdauthor dvdbackup flac \
ffmpeg ffmpegthumbnailer ffmpegthumbs \
gstreamer-plugin-crystalhd gstreamer-plugins-espeak \
gstreamer1 gstreamer1-plugin-dav1d gstreamer1-plugin-fallbackswitch \
gstreamer1-plugin-fmp4 gstreamer1-plugin-gif gstreamer1-plugin-gtk4 \
gstreamer1-plugin-hsv gstreamer1-plugin-json gstreamer1-plugin-libav \
gstreamer1-plugin-livesync gstreamer1-plugin-mp4 gstreamer1-plugin-openh264 \
gstreamer1-plugin-reqwest gstreamer1-plugins-bad-free \
gstreamer1-plugins-bad-free-extras gstreamer1-plugins-bad-free-fluidsynth \
gstreamer1-plugins-bad-free-libs gstreamer1-plugins-bad-free-lv2 \
gstreamer1-plugins-bad-free-wildmidi gstreamer1-plugins-bad-free-zbar \
gstreamer1-plugins-bad-freeworld gstreamer1-plugins-base \
gstreamer1-plugins-fc gstreamer1-plugins-good gstreamer1-plugins-good-extras \
gstreamer1-plugins-good-gtk gstreamer1-plugins-good-qt \
gstreamer1-plugins-good-qt6 gstreamer1-plugins-ugly \
gstreamer1-plugins-ugly-free gstreamer1-rtsp-server \
gstreamer1-svt-vp9 gstreamer1-vaapi \
libdvdcss libbluray sidplayfp xmp
Do I need all those codecs? No. But I haven’t come across anything I can’t play yet. You can probably skip sidplayfp
and xmp
as I use them for playback of tracker/chiptune/old computer formats.