Can’t install plugins for movies and music from RPM Fusion free repository. Installed gstreamer and lame packages but after using ‘sudo dnf group upgrade --with-optional Multimedia’ to install codecs conflicts arise.
james@fedora:~$ sudo dnf group upgrade --with-optional Multimedia
[sudo] password for james:
Last metadata expiration check: 3:30:52 ago on Sat 30 Sep 2023 21:37:26 BST.
No match for group package “gimp-heif-plugin”
Problem 1: problem with installed package libswscale-free-6.0-11.fc39.x86_64
- package ffmpeg-libs-6.0-16.fc39.x86_64 from rpmfusion-free conflicts with libswscale-free provided by libswscale-free-6.0-11.fc39.x86_64 from @System
- package ffmpeg-libs-6.0-16.fc39.x86_64 from rpmfusion-free conflicts with libswscale-free provided by libswscale-free-6.0-11.fc39.x86_64 from fedora
- package ffmpeg-6.0-16.fc39.x86_64 from rpmfusion-free requires ffmpeg-libs(x86-64) = 6.0-16.fc39, but none of the providers can be installed
- conflicting requests
Problem 2: ffmpeg-libs-6.0-16.fc39.i686 from rpmfusion-free does not belong to a distupgrade repository
- conflicting requests
- problem with installed package libswresample-free-6.0-11.fc39.x86_64
- package ffmpeg-libs-6.0-16.fc39.x86_64 from rpmfusion-free conflicts with libswresample-free provided by libswresample-free-6.0-11.fc39.x86_64 from @System
- package ffmpeg-libs-6.0-16.fc39.x86_64 from rpmfusion-free conflicts with libswresample-free provided by libswresample-free-6.0-11.fc39.x86_64 from fedora
- problem with installed package firefox-118.0-1.fc39.x86_64
- package ffmpeg-libs-6.0-16.fc39.i686 from rpmfusion-free conflicts with libavcodec-free provided by libavcodec-free-6.0-11.fc39.x86_64 from fedora
- package ffmpeg-libs-6.0-16.fc39.x86_64 from rpmfusion-free conflicts with libavcodec-free provided by libavcodec-free-6.0-11.fc39.x86_64 from fedora
- problem with installed package libavcodec-free-6.0-11.fc39.x86_64
- package ffmpeg-libs-6.0-16.fc39.i686 from rpmfusion-free conflicts with libavcodec-free provided by libavcodec-free-6.0-11.fc39.x86_64 from @System
- package ffmpeg-libs-6.0-16.fc39.x86_64 from rpmfusion-free conflicts with libavcodec-free provided by libavcodec-free-6.0-11.fc39.x86_64 from @System
(try to add ‘–allowerasing’ to command line to replace conflicting packages or ‘–skip-broken’ to skip uninstallable packages)
Not yet known.
Bugzilla report: #NNNN
Here is one link for doing just that.
In general, I use the rpmfusion repo and install everything available there, including lame, the gstreamer1 packages, vlc, mplayer, and more. Especially ffmpeg (the version from rpmfusion), and libavcodec-freeworld, You have to remove the libavcodec-free package from fedora and install the freeworld one from rpmfusion
sudo dnf swap libavcodec-free libavcodec-freeworld
Fedora is required to limit the codecs they provide due to copyright, licensing, etc. The packages from rpmfusion fill that gap.
I do not use the group install for the exact reason you see. The group is dependent upon the fedora repo and some things from rpmfusion might conflict.
In fact I just installed most of the needed packages with
sudo dnf install ffmpeg libavcodec-freeworld --best --allowerasing and it worked for me on F39. Dnf is smart enough to figure it out if allowed to do so with the proper options. This even took care of the swap that I described above.
I’ve been running Fedora WS for 5 years now and never seen this conflict issue following the documentation to install codecs. I’ve done fresh installs of almost every new version too. I’ll wait until the stable release comes out and retry it I think but maybe the documentation should be updated if this is a common problem for others - searching doesn’t seem to suggest it’s a common problem though.
I agree with the fact this seems changed.
I think it has to do with the fact that fedora is trying to include everything they can, even to the point that they are stripping codecs out and providing packages without specific codecs but the main package is there.
An example is ffmpeg. Fedora now provides ffmpeg-free which seems most of the package, but without certain codecs. Rpmfusion used to be the best place to get ffmpeg and fedora had no part of it. Now a user can install ffmpeg from rpmfusion which also pulls in ffmpeg-libs to include the removed codecs from ffmpeg-free . Note from the below that installing ffmpeg from rpmfusion does not conflict with ffmpeg-free from fedora. One complements the other.
Libavcodec-freeworld from rpmfusion removes several libav… smaller packages from fedora that conflict.
On a newly installed F39 system I used
dnf install ffmpeg libavcodec-freeworld lame --allowerasing and the result was
ffmpeg-6.0-16.fc39.x86_64 ffmpeg-libs-6.0-16.fc39.x86_64 lame-3.100-15.fc39.x86_64
libavcodec-freeworld-6.0-16.fc39.x86_64 libavdevice-6.0-16.fc39.x86_64 mozilla-openh264-2.3.1-2.fc39.x86_64
openal-soft-1.23.1-2.fc39.x86_64 openh264-2.3.1-2.fc39.x86_64 vmaf-models-2.3.0-6.fc39.noarch
libavcodec-free-6.0-11.fc39.x86_64 libavfilter-free-6.0-11.fc39.x86_64 libavformat-free-6.0-11.fc39.x86_64
libavutil-free-6.0-11.fc39.x86_64 libpostproc-free-6.0-11.fc39.x86_64 libswresample-free-6.0-11.fc39.x86_64
It is not, in my mind, enough to be documented as a common problem since resolving conflicts is something users must face as a standard practice when using dnf and installing software from a 3rd party repo such as rpmfusion. Packages change frequently and thus conflicts change as well.
The documentation is correct even though there are conflicts occurring that are caused by fedora splitting out various parts of the codec packages and tagging them with the
-free part of the name to denote they do not contain copyright, license, or proprietary pieces and can be distributed by fedora.
I am currently rewriting/updating a postinstall script I made for an older version of Fedora.
Would there be any harm in including that command you wrote to run on every new Fedora install?
Yes, No, Maybe.
It totally depends upon conditions. Those packages come from the rpmfusion-free repo and that is not installed/enabled on a default fedora installation. You would need to do some tweaking to manage that.
I do not speak as any part of fedora management, (I am only a user), but as long as your package or script is not distributed by fedora themselves then it would seem that you may be able to do what is necessary to make it work, including pulling in the necessary dependencies. Users are allowed to make whatever changes they wish.
This is just a nitpick, but there’s no reason to install both
libavcodec-freeworld. The latter is meant to be used alongside Fedora’s ffmpeg-free packages, whereas the former replaces them wholesale.
After enabling rpm fusion
And then installing the multimedia group, gstreamer and lame
I could simply do
sudo dnf install -y libavcodec-freeworld to finish the process?
That is a valid option in isolation, but probably not when combined with RPM Fusion’s other recommendations. RPM Fusion adds their ffmpeg to the multimedia group, so if you run their
dnf groupupdate command (which is really
dnf group install), it may fail unless you’ve switched to their ffmpeg (or you add
--allowerasing so dnf can do that for you).
I found this message from GloriousEggroll’s Discord (he maintains a Fedora based distro)
typically keeping all ffmpeg-free packages and just installing libavcodec-freeworld alongside them is enough
no need for full ffmpeg swap
libavcodec is the audio/video codecs from ffmpeg full, custom-built to work alongside the free version from fedora, it’s meant to give the codec functionality without requiring a full swap
Unless there’s actually something incorrect here, I assume I can trust this statement.
libavcodec-freeworld should work and would probably be my preference if I weren’t on Silverblue and relying on flatpaks. I was just pointing out that installing the multimedia group will try to swap to ffmpeg from RPM Fusion.
If this old comment is still accurate, then it seems ffmpeg isn’t a mandatory package within the Multimedia group.
My bad, I think I completely misunderstood this. So because
--with-optional is included in this command
sudo dnf group upgrade -y --with-optional Multimedia it will install
So that means if I used that command
ffmpeg-libs would already be available, making
It does not swap anything directly.
ffmpeg from rpmfusion also pulls in ffmpeg-libs which replaces (removes) libswscale-free. Ffmpeg-free from fedora remains and they work together.
I don’t know how that works with Silverblue, but this is what happens for me with Workstation. (I just tested that)
Installing libavcodec-freeworld used to require removal of several different “*-free” packages (on F38) that conflicted and are part of the fedora attempt to better support multimedia. I just tested that on F39 and now note that it only pulls in 3 packages as dependencies (x264-libs, x265-libs, & openh264) but no longer removes the “*-free” packages.
This appears to mean libavcodec-freeworld may be required to use any multimedia that are encoded with the h264 or h265 codecs.
In a F38 VM with RPM Fusion installed,
dnf groupinfo multimedia shows
ffmpeg as mandatory. F39 appears to be the same.
Note that there’s a difference between upgrading and installing a group. RPM Fusion suggests running
dnf groupupdate (a deprecated alias for
dnf group install) which installs all (mandatory) packages in the group.
dnf group upgrade will only install packages new to a group, and in my testing, the ones RPM Fusion adds don’t seem to qualify.
I feel like that page should probably be updated with a bunch of notes and clarifications.
Is pagure the place where feedback about the docs should be sent? Does it share the same account database as this forum or do I need to make a new account again?
I just tested on a vanilla, new F39 VM as shown below. The only change I did was to enable the rpmfusion-free and nonfree repos before running this command.
$ sudo dnf group install multimedia --allowerasing
Last metadata expiration check: 0:00:17 ago on Thu 14 Dec 2023 03:33:00 PM CST.
No match for group package "gimp-heif-plugin"
Package Arch Version Repository Size
Installing group/module packages:
ffmpeg x86_64 6.0.1-3.fc39 rpmfusion-free-updates 1.7 M
gstreamer1-plugin-openh264 x86_64 1.22.1-1.fc39 fedora-cisco-openh264 24 k
gstreamer1-plugins-bad-freeworld x86_64 1:1.22.7-1.fc39 rpmfusion-free-updates 229 k
gstreamer1-plugins-ugly x86_64 1:1.22.7-1.fc39 rpmfusion-free-updates 213 k
libheif-freeworld x86_64 1.16.2-2.fc39 rpmfusion-free 51 k
faad2-libs x86_64 1:2.11.1-1.fc39 rpmfusion-free-updates 217 k
ffmpeg-libs x86_64 6.0.1-3.fc39 rpmfusion-free-updates 8.0 M
libavdevice x86_64 6.0.1-3.fc39 rpmfusion-free-updates 72 k
libdca x86_64 0.0.7-9.fc39 fedora 114 k
libde265 x86_64 1.0.13-1.fc39 rpmfusion-free-updates 235 k
libfreeaptx x86_64 0.1.1-5.fc39 rpmfusion-free 30 k
librtmp x86_64 2.4-23.20210219.gitf1b83c1.fc39 rpmfusion-free 77 k
mjpegtools-libs x86_64 2.2.1-4.fc39 rpmfusion-free 169 k
mozilla-openh264 x86_64 2.3.1-2.fc39 fedora-cisco-openh264 427 k
openal-soft x86_64 1.23.1-2.fc39 fedora 586 k
openh264 x86_64 2.3.1-2.fc39 fedora-cisco-openh264 420 k
pipewire-codec-aptx x86_64 1.0.0-1.fc39 rpmfusion-free-updates 26 k
svt-hevc-libs x86_64 1.5.1-5.fc39 rpmfusion-free 528 k
x264-libs x86_64 0.164-10.20231001git31e19f92.fc39 rpmfusion-free 701 k
x265-libs x86_64 3.5-6.fc39 rpmfusion-free 1.3 M
Installing weak dependencies:
vmaf-models noarch 2.3.0-6.fc39 fedora 259 k
Removing dependent packages:
libavcodec-free x86_64 6.0.1-2.fc39 @updates 9.5 M
libavfilter-free x86_64 6.0.1-2.fc39 @updates 4.4 M
libavformat-free x86_64 6.0.1-2.fc39 @updates 2.6 M
libavutil-free x86_64 6.0.1-2.fc39 @updates 926 k
libpostproc-free x86_64 6.0.1-2.fc39 @updates 90 k
libswresample-free x86_64 6.0.1-2.fc39 @updates 151 k
libswscale-free x86_64 6.0.1-2.fc39 @updates 571 k
Note that a great majority of the packages installed come from rpmfusion-free.
Do you mean the Quick Docs page linked in the second post? It uses the same account (FAS). There are buttons in the top right corner for history/edit/bug report, and contribution instructions at the bottom of the page.
That page could use some cleanup. If Fedora Docs is going to recommend installing codecs from RPM Fusion, it probably should be something like:
sudo dnf install libavcodec-freeworld
# Hardware accel for Intel
sudo dnf install intel-media-driver
# Hardware accel for AMD
sudo dnf swap mesa-va-drivers mesa-va-drivers-freeworld
Anything more than that should be left to RPM Fusion’s Multimedia page, even if that has gotten too complicated (IMHO).
P.S. It appears that RPM Fusion’s comps is being adjusted to not pull in
ffmpeg, at least for F40+: Commits · rpmfusion-infra/rpmfusion-free-comps · GitHub
I mean the domain below. I also found an older post questioning the clarity of the multimedia section of the official docs.
I’ve opened this now, does that help improve the steps?
(The primary issue is that as packages are moved to Fedora, they may conflict with bits from RPM Fusion. So the docs need to be updated when this does happen.)