How to install closed drivers, media codecs, and other forbidden stuff on Linux PCs

Linux is famous for its open-source nature, but sometimes you just need to use proprietary drivers or codecs. Here's how to do so on many of the top Linux distros.

angry linux penguin
Sunny Ripert (CC BY-SA 2.0)

Today's Best Tech Deals

Picked by PCWorld's Editors

Top Deals On Great Products

Picked by Techconnect's Editors

A typical Linux system is largely comprised of unrestricted, open-source software. But some of the most popular software around is either closed-source or open-source, but restricted by patents. Depending on your Linux distribution, this forbidden software may be easy to install—or require jumping through some hoops.

This stuff is roped off for several reasons. Many Linux distributions don’t want to distribute closed-source software, so the AMD and Nvidia graphics drivers you’ll need to play 3D games with maximum performance aren’t easily available, and neither is software like the Flash plug-in. Other Linux distributions don’t want to violate software patents in their home countries, so they don’t distribute open-source multimedia codecs that allow you to listen to MP3s or watch MP4 videos.

Regardless of the reasons, here’s how to install those forbidden, proprietary programs on your Linux PC.

Want to stay up to date on Linux, BSD, Chrome OS, and the rest of the World Beyond Windows? Bookmark the World Beyond Windows column page or follow our RSS feed.


ubuntu install forbidden stuff

Ubuntu makes this nice and easy. When installing Ubuntu, you’ll see a checkbox reading “Install this third-party software.” Activate this checkbox and Ubuntu will automatically install support for various multimedia codecs, Adobe Flash content, and closed-source wireless support. Even better, if you don’t install this stuff during the installation process and try to play a multimedia file that needs the correct codecs later, you’ll be prompted to install them automatically.

After installing Ubuntu, you’ll be notified if your system needs proprietary, closed-source hardware drivers to function. Ubuntu will guide you through installing them with the Additional Drivers tool.

Linux Mint

linux mint driver manager

Linux Mint includes support for various multimedia codecs and Adobe Flash out of the box. This was Linux Mint’s original reason for existing, and was especially useful before Ubuntu made it so easy to install all this extra stuff.

Mint also includes a Driver Manager tool that works similarly to Ubuntu’s for installing these extra drivers. This is one reason why Ubuntu and Mint are some of the best Linux distributions for beginners.

Fedora and Red Hat

fedora install rpm fusion

Fedora is committed to open-source software that isn’t encumbered by patents, so the Fedora project doesn’t host restricted software in its official repositories. Instead, the third-party RPM Fusion project hosts these packages for both Fedora and Red Hat Enterprise Linux systems. You’ll need to visit RPM Fusion after installing Fedora and install the RPM Fusion repositories.

After doing so, you can use Fedora’s standard software-installing utilities to install multimedia codecs or applications such as VLC, or install the Nvidia or AMD graphics drivers. Fedora still won’t hold your hand—you’ll need to search for and install the appropriate packages, but you can do it with a few clicks.


debian enable contrib and non free

The Debian project hosts restricted software in its own “contrib” and “non-free” repositories. These aren’t enabled by default because they don’t fit with the Debian project’s free software guidelines. However, the Debian project hosts these packages so users can make their own decisions.

On Debian, you’ll either have to edit your /etc/apt/sources.list file by hand or use a tool like the Repositories window in the Synaptic package manager. Add the “contrib non-free” repositories after the “main” line and this extra software will appear in Debian’s package manager.


opensuse add community repositories

Like Fedora, the openSUSE project depends on community-provided repositories to fill this need. To install them, open the YaST tool and navigate toSoftware > Software Repositories > Add > Community Repositories. You’ll see a list of community-provided repositories. The Packman repository contains a lot of multimedia-focused packages, and there are also repositories for the AMD/ATI graphics drivers and Nvidia drivers.

The rest

Other Linux distributions work similarly. For example, Arch Linux offers these packages in the Arch User Repository. Mageia offers non-free repositories that aren’t enabled by default—you’ll have to activate them first.

You can generally find instructions for your Linux distribution of choice by searching for its name and “install codecs”, “install nvidia drivers”, or whatever else you want to do.

Note: When you purchase something after clicking links in our articles, we may earn a small commission. Read our affiliate link policy for more details.
Shop Tech Products at Amazon