Linux

Set up RPM Fusion with Fedora to shore up multimedia support

Vincent Danen shows you how to get improved support for MP3s, videos, and games in Fedora Core 10 with RPM Fusion.

With the proliferation of music services and downloads, it's easy to forget that many Linux distributions don't provide support for MP3 and other restrictive codecs. These file types are generally encumbered by patents or non-free licenses and, because of this, a number of distributions will not ship these packages. As a result, users end up being unable to do things that they could otherwise do on Windows or Mac OS X. For those "in the know," they turn to alternative third-party repositories.

For Fedora, RPM Fusion is one such third-party repository. This repository supplies packages that provide support for listening to MP3 files and watching DVDs or other video types: programs such as MPlayer, Xine, and others. It also includes closed source drivers for NVidia and ATI video cards.

RPM Fusion provides two repositories: free and non-free. The free repository contains open source software that cannot be included in Fedora due to potential patent issues. The non-free repository contains non-free software: software that is closed source or has publicly available source code with "no commercial use" and similar restrictions.

To set up these two repositories, install the appropriate RPM packages from rpmfusion.org:

# rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
Retrieving http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
Preparing...                ########################################### [100%]
   1:rpmfusion-free-release ########################################### [100%]
# rpm -ivh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
Retrieving http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
Preparing...                ########################################### [100%]
   1:rpmfusion-nonfree-relea########################################### [100%]
# yum update

You may notice warnings of unknown GPG signatures on these packages. For now it is safe to ignore them as they will be imported later.

When you run yum update, you will be prompted to install new versions of the package that are specific to your Fedora version (in this case version 10-1). It will also import the required GPG keys for each repository, which are used to verify the authenticity of packages that are subsequently downloaded from the repositories.

Once this is done, you can begin installing packages using yum. A GUI tool would make it easier to browse the packages, but you can do the same with yum:

# yum list | grep rpmfusion-free

This will list all packages known to yum in every repository, and filter on those with the name "rpmfusion-free." Once you know the package name you are interested in, install it like you would any official package:

# yum install mplayer

Setting up RPM Fusion may sound like a hassle, but it can be done in minutes, and once it is set up, you can install a number of packages that give you proprietary graphics drivers, DVD and MP3 players and codecs, and even some games (such as various game emulators). RPM Fusion doesn't provide a ridiculous number of packages as Fedora is quite complete, but it definitely complements what you get out of a Fedora install quite nicely.

Get the PDF version of this tip here.

Delivered each Tuesday, TechRepublic's free Linux and Open Source newsletter provides tips, articles, and other resources to help you hone your Linux skills. Automatically sign up today!

About

Vincent Danen works on the Red Hat Security Response Team and lives in Canada. He has been writing about and developing on Linux for over 10 years and is a veteran Mac user.

12 comments
Photogenic Memory
Photogenic Memory

I thought this article was interesting and really want to do more media-wise with my current Linux distro. Lo and behold in Linux fashion; nothing is easy and the click and install option or a simple package manager/dependency resolver won't work outright with a simple one-liner command. Typical. It gets kinda old but this is Linux so let's take off the gloves and get to work, right? Right. As in the article I copied and pasted the below to see if installing this was possible right off the bat! rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm ]# rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm Retrieving http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm warning: /var/tmp/rpm-xfer.PmlQl3: Header V3 DSA signature: NOKEY, key ID 49c8885a error: Failed dependencies: system-release >= 8 is needed by rpmfusion-free-release-8-6.noarch I failed. In my ignorance and tired mind here at 1am in the morning; I thought ?system-release? was something to install and attempted to yum it like so: yum install system-release LOL! No go! Fail! Die! I'm dead tired. Arrrrrrrrrrrggggghhh( bangs head on work desk)! That's when I started reading. This is confusing. So I went here to try to figure it out: http://rpmfusion.org/ And then I clicked on the link under ?For users? to enable RPM Fusion on your system. http://rpmfusion.org/Configuration It's asking me to enable EPEL for compatible OS's. No wonder Winblows wins everytime! You don't have to do crap like this but how else to you learn? Oh well. So I went here next: http://fedoraproject.org/wiki/EPEL/FAQ#howtouse And then copied and pasted the link like so: su -c 'rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm' ... su -c 'yum -y install foo' And this was the result: ]# su -c 'rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm' Retrieving http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm warning: /var/tmp/rpm-xfer.GC5Pb2: Header V3 DSA signature: NOKEY, key ID 217521f6 Preparing... ########################################### [100%] 1:epel-release ########################################### [100%] ]# ... bash: ...: command not found [root@Spookers adam]# su -c 'yum -y install foo' Loading "fastestmirror" plugin Loading "priorities" plugin Loading mirror speeds from cached hostfile * epel: mirror.hmc.edu * base: mirror.dhsrv.com * updates: mirrors.versaweb.com * addons: mirrors.easynews.com * extras: mirror.raystedman.net epel 100% |=========================| 2.1 kB 00:00 primary.sqlite.bz2 100% |=========================| 2.3 MB 00:01 0 packages excluded due to repository priority protections Setting up Install Process Parsing package install arguments No package foo available. Nothing to do A good sign I'm on my way! After that monkey business; I copied and pasted this link back from this page: http://rpmfusion.org/Configuration And this was the result: ]# su -c 'rpm -Uvh http://download1.rpmfusion.org/free/el/updates/testing/5/i386/rpmfusion-free-release-5-0.1.noarch.rpm http://download1.rpmfusion.org/nonfree/el/updates/testing/5/i386/rpmfusion-nonfree-release-5-0.1.noarch.rpm' Retrieving http://download1.rpmfusion.org/free/el/updates/testing/5/i386/rpmfusion-free-release-5-0.1.noarch.rpm Retrieving http://download1.rpmfusion.org/nonfree/el/updates/testing/5/i386/rpmfusion-nonfree-release-5-0.1.noarch.rpm warning: /var/tmp/rpm-xfer.uk9ygZ: Header V3 DSA signature: NOKEY, key ID e74f0522 warning: /var/tmp/rpm-xfer.bZdxX6: Header V3 DSA signature: NOKEY, key ID ab194290 Preparing... ########################################### [100%] 1:rpmfusion-free-release ########################################### [ 50%] 2:rpmfusion-nonfree-relea########################################### [100%] Another good sign! After that; I attempted to see what libraries went under the rpmfusion-free title as in the article Like this: yum list | grep rpmfusion-free And this was the result: ]# yum list | grep rpmfusion-free * rpmfusion-free-updates-testing: lordmorgul.net * rpmfusion-free-updates: lordmorgul.net rpmfusion-free-release.noarch 5-0.1 installed DVDRipOMatic.noarch 0.95-5.el5 rpmfusion-free-u a52dec.i386 0.7.4-13.el5 rpmfusion-free-u a52dec-devel.i386 0.7.4-13.el5 rpmfusion-free-u akode-extras.i386 2.0.2-3.el5 rpmfusion-free-u dvbcut.i386 0.5.4-7.20090101svn138 rpmfusion-free-u faac.i386 1.25-7.el5 rpmfusion-free-u faac-devel.i386 1.25-7.el5 rpmfusion-free-u faad2.i386 1:2.6.1-5.el5 rpmfusion-free-u faad2-devel.i386 1:2.6.1-5.el5 rpmfusion-free-u faad2-libs.i386 1:2.6.1-5.el5 rpmfusion-free-u ffmpeg.i386 0.4.9-0.52.20080908.el rpmfusion-free-u ffmpeg-devel.i386 0.4.9-0.52.20080908.el rpmfusion-free-u ffmpeg-libs.i386 0.4.9-0.52.20080908.el rpmfusion-free-u gpac.i386 0.4.5-0.7.20080217cvs. rpmfusion-free-u gpac-devel.i386 0.4.5-0.7.20080217cvs. rpmfusion-free-u gpac-devel-static.i386 0.4.5-0.7.20080217cvs. rpmfusion-free-u gpac-libs.i386 0.4.5-0.7.20080217cvs. rpmfusion-free-u kino.i386 1.3.3-1.el5 rpmfusion-free-u kino-devel.i386 1.3.3-1.el5 rpmfusion-free-u lame.i386 3.97-7.el5 rpmfusion-free-u lame-devel.i386 3.97-7.el5 rpmfusion-free-u lame-libs.i386 3.97-7.el5 rpmfusion-free-u lame-mp3x.i386 3.97-7.el5 rpmfusion-free-u libdca.i386 0.0.5-3.el5 rpmfusion-free-u libdca-devel.i386 0.0.5-3.el5 rpmfusion-free-u libdca-tools.i386 0.0.5-3.el5 rpmfusion-free-u libdvbpsi.i386 0.1.6-3.el5.1 rpmfusion-free-u libdvbpsi-devel.i386 0.1.6-3.el5.1 rpmfusion-free-u libmad.i386 0.15.1b-8.el5 rpmfusion-free-u libmad-devel.i386 0.15.1b-8.el5 rpmfusion-free-u libmms.i386 0.4-3.el5 rpmfusion-free-u libmms-devel.i386 0.4-3.el5 rpmfusion-free-u libmpeg2.i386 0.5.1-3.el5 rpmfusion-free-u libmpeg2-devel.i386 0.5.1-3.el5 rpmfusion-free-u libmpeg3.i386 1.7-6.el5 rpmfusion-free-u libmpeg3-devel.i386 1.7-6.el5 rpmfusion-free-u libmpeg3-utils.i386 1.7-6.el5 rpmfusion-free-u libquicktime.i386 1.0.3-3.el5 rpmfusion-free-u libquicktime-devel.i386 1.0.3-3.el5 rpmfusion-free-u libquicktime-utils.i386 1.0.3-3.el5 rpmfusion-free-u libtunepimp-extras-freeworld.i386 0.5.3-5.el5 rpmfusion-free-u live555.i386 0-0.20.2008.07.25.el5 rpmfusion-free-u live555-devel.i386 0-0.20.2008.07.25.el5 rpmfusion-free-u live555-static.i386 0-0.20.2008.07.25.el5 rpmfusion-free-u live555-tools.i386 0-0.20.2008.07.25.el5 rpmfusion-free-u madplay.i386 0.15.2b-5.el5 rpmfusion-free-u mamory.i386 0.2.25-3.el5 rpmfusion-free-u mamory-devel.i386 0.2.25-3.el5 rpmfusion-free-u mencoder.i386 1.0-0.101.20080903svn. rpmfusion-free-u mjpegtools.i386 1.9.0-0.6.rc3.el5 rpmfusion-free-u mjpegtools-devel.i386 1.9.0-0.6.rc3.el5 rpmfusion-free-u mjpegtools-gui.i386 1.9.0-0.6.rc3.el5 rpmfusion-free-u mjpegtools-libs.i386 1.9.0-0.6.rc3.el5 rpmfusion-free-u mpeg2dec.i386 0.5.1-3.el5 rpmfusion-free-u mplayer.i386 1.0-0.101.20080903svn. rpmfusion-free-u mplayer-doc.i386 1.0-0.101.20080903svn. rpmfusion-free-u mplayer-gui.i386 1.0-0.101.20080903svn. rpmfusion-free-u perl-Crypt-IDEA.i386 1.08-2.el5 rpmfusion-free-u qmmp-plugins-freeworld.i386 0.2.3-3.el5 rpmfusion-free-u smpeg.i386 0.4.5-0.2.el5 rpmfusion-free-u smpeg-devel.i386 0.4.5-0.2.el5 rpmfusion-free-u smpeg-libs.i386 0.4.5-0.2.el5 rpmfusion-free-u transcode.i386 1.0.7-1.el5 rpmfusion-free-u twolame.i386 0.3.12-3.el5 rpmfusion-free-u twolame-devel.i386 0.3.12-3.el5 rpmfusion-free-u twolame-libs.i386 0.3.12-3.el5 rpmfusion-free-u vcdimager.i386 0.7.23-8.el5 rpmfusion-free-u vcdimager-devel.i386 0.7.23-8.el5 rpmfusion-free-u vcdimager-libs.i386 0.7.23-8.el5 rpmfusion-free-u x264.i386 0.0.0-0.15.20080613.el rpmfusion-free-u x264-devel.i386 0.0.0-0.15.20080613.el rpmfusion-free-u x264-gui.i386 0.0.0-0.15.20080613.el rpmfusion-free-u x264-gui-devel.i386 0.0.0-0.15.20080613.el rpmfusion-free-u x264-libs.i386 0.0.0-0.15.20080613.el rpmfusion-free-u xine.i386 0.99.5-6.el5 rpmfusion-free-u xine-lib-extras-freeworld.i386 1.1.16.2-1.el5 rpmfusion-free-u xvidcore.i386 1.1.3-4.el5 rpmfusion-free-u xvidcore-devel.i386 1.1.3-4.el5 rpmfusion-free-u ]# I'm done at this point and will attempt to install Mplayer later which should be a snap. However, as stated in the article, it did take minutes( more like 20 because I wanted to know what the hell I was doing and read ). For others it's going to take longer if they don't get too discouraged. Don't ya just love/hate Linux?! Thanks to the poster. I hope this works out!

Photogenic Memory
Photogenic Memory

Even though it's a close build; I hope I can get it to work. Stay tuned.........

csmith.kaze
csmith.kaze

Is it just me, or does tech rep only have articles about Red Hat / Fedora ? I know they are big, but I am sure Debian, SUSE, and even Ubuntu have large chunks of real estate in server rooms and workstations. Maybe some discussions on non-Red Hat Distro's is in order, ya think? Just a thought. (full discretion: I have been called a Debian "fanboy" by some people.) but about the actual article :) : Multimedia has always been an issue with open source OS's because of the inherent closed nature of most de facto standards. While there are plenty of open standards (great ones at that), the general populace will use the horrible apple format or the equally bad Ms format, or at the very least use mp3, which is patented by a patent troll who sues everyone who breathes "mp3". until the big media players default to open standards, open standards will only be for the avid linux users that refuse to use close source codecs and formats. I know it was a pain in the ass to rip mp3's on my Deb Squeeze box, but it really shouldn't be. It is a cray, litigation happy world and those of us who prefer freedom are the ones left out in the cold.

ewanluca
ewanluca

It might seem a little fundamentalist to take away things that, let's face it, are almost de facto standards like mp3. But the Fedora message it's clear: "without Open Standards the progress will be confiscate by companies and financial interest". Because people like Fedora, that stick to their principles we have a fighting chance that mp3 might become some day open standard. Therefore I salute both Fedora efforts and those that provide RPM Fusion as an "middle of the way" solution until (soon to be) better times for Open Source. Luca www.opencourse.blogspot.com

ballmerrocks
ballmerrocks

Sheesh! AFedora is a nice hat, that's about it people!

jraz
jraz

I searched Google only to come up a line or two short of what I needed. Your article hit it right on for me. Thanks for filling in the blanks. And yes I love/hate Linux too (still noob) but isn't this release of Fedora 11 simply fantastic?

vdanen
vdanen

... the article *was* about Fedora, not CentOS. =) I suppose you could have made the same argument if you were using Ubuntu. =)

csmith.kaze
csmith.kaze

maybe you need to try to this stuff before midnight. with a gallon of coffee. (or try debian :) )

vdanen
vdanen

.. which is currently Fedora and RHEL. Actually, if you look back at the stuff that I (at least) have written, for years it was pretty much Mandriva-specific but with a career change comes a change in OS. =) Sorry, but unless there's something specific to Ubuntu that isn't available on Fedora/RHEL, you probably will see stuff on Fedora/RHEL that should be applicable to other systems (you'll also note that although I'm specific to one platform, I try to keep installation instructions and such generic enough to work with others)

kmilind
kmilind

and i find it much simpler. in fact, i look forward to more tips for Fedora on TechRepublic. this week was good. i am a beginner.

bblackmoor
bblackmoor

People who use computers to do actual work use Fedora. People who set up servers to do actual work use Fedora.

linux for me
linux for me

I have installed many fedora servers and many more desktops. Although I currently have only 2 systems now, I had as many as 6 and all of them run Fedora Nice try on the FUD though...