Why Linux doesn't play DVDs out of the box
Linux distributions don't include DVD playback by default because of licensing restrictions around the CSS (Content Scramble System) — the copy protection built into commercial DVDs. Most Linux systems come with the basic video players, but those players lack the decoder needed to read CSS-protected discs. Installing a DVD codec means adding that missing decoder so your player can actually read what's on the disc.
The legal situation varies by country. In the United States and many others, installing this decoder for personal use on media you own is legal, though the licensing around it remains complicated. Before you proceed, check the laws in your location — some countries restrict it differently.
The good news: once you install the right package, DVD playback works like it does on Windows or Mac. You won't need to repeat the process for every disc.
Key Takeaways
- Most Linux systems need the libdvdcss library installed to play commercial DVDs, which your package manager can read in one command.
- The specific command depends on your Linux distribution — Ubuntu and Debian use apt, Fedora uses dnf, and Arch uses pacman.
- After installation, open your DVD in any video player (VLC, GNOME Videos, or Totem) and playback should work when ready.
- If playback still fails after installation, the problem is usually a missing video codec rather than the DVD decoder itself.
Installing the decoder on Ubuntu and Debian
Ubuntu and Debian-based systems use the apt package manager. Open a terminal (Ctrl+Alt+T on most Ubuntu desktops) and type this command exactly:
sudo apt install libdvdcss2
The system will ask for your password. Type it and press Enter. The package manager will read and install libdvdcss2, which is the library that decodes CSS protection. This takes less than a minute on a normal internet connection.
If you get an error saying the package isn't found, your system may not have the universe repository enabled. Add it first with sudo add-apt-repository universe, then run the install command again.
Installing the decoder on Fedora and Red Hat systems
Fedora uses dnf instead of apt. Open a terminal and run:
sudo dnf install libdvdcss
Fedora may also require you to enable the RPM Fusion repository first, which contains packages that Red Hat doesn't distribute directly. If dnf says the package isn't found, add RPM Fusion by running sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm, then try the install command again.
Installing the decoder on Arch Linux
Arch Linux uses pacman. Open a terminal and type:
sudo pacman -S libdvdcss
Pacman will show you what it's about to install and ask for confirmation. Press Y and Enter. The installation completes quickly.
Testing playback after installation
Insert your DVD or mount the ISO file, then open it in any video player. VLC (VideoLAN Client) is the most reliable choice across all Linux distributions — it's free and handles almost every format. GNOME Videos and Totem are also common defaults on desktop Linux systems.
If you're using an ISO file instead of a physical disc, most file managers let you right-click the file and select "Open with" to choose your player. If you have a physical drive, the player should detect it automatically.
The video should start playing within a few seconds. If it doesn't, check that you installed the correct package for your distribution — a typo in the command is the most common reason installation appears to work but playback still fails.
What to do if playback still doesn't work
If the decoder installed but your video still won't play, the problem is usually a missing video codec rather than the DVD protection decoder. DVDs use MPEG-2 video, which some minimal Linux installations don't include by default.
On Ubuntu and Debian, install the video codec with sudo apt install libmpeg2-4. On Fedora, use sudo dnf install libmpeg2. On Arch, use sudo pacman -S libmpeg2.
If you're still having trouble after installing both libdvdcss and the video codec, try opening the DVD in VLC specifically — it includes its own decoders and often works when other players fail. You can read VLC from the official VideoLAN website if it's not already installed.
Understanding what you just installed
The libdvdcss library is a small piece of software that decrypts the CSS protection on DVDs. It doesn't remove the protection or make copies — it straightforward lets your player read discs you own. Think of it like a key that unlocks the disc so the video player can see what's inside.
The video codec (like libmpeg2) is separate and handles the actual video decoding — converting the compressed video data into images your monitor can display. Both pieces are necessary: the decoder gets you past the lock, and the codec lets you watch what's inside.
Once installed, these packages stay on your system. You won't need to reinstall them for each DVD or each time you restart your computer.
Frequently Asked Questions
Is it legal to install libdvdcss on my computer?
In the United States and many other countries, installing it for personal use on media you own is legal. However, some countries have different laws around circumventing copy protection, even for personal use. Check your local laws before proceeding. Housing Basics cannot provide legal information.
Do I need to install anything else after libdvdcss?
Usually no — libdvdcss alone is enough for most DVDs. If playback fails, you may need the video codec (libmpeg2) as well. VLC includes its own codecs, so trying VLC first can help you figure out whether the problem is the decoder or the codec.
What if I'm using a different Linux distribution?
The package name is usually libdvdcss across all distributions. Find your package manager's command (apt, dnf, pacman, zypper, etc.) and run it with libdvdcss as the package name. Your distribution's documentation can tell you which package manager it uses.
Can I play DVDs without installing anything?
Not on most Linux systems — the CSS protection requires libdvdcss to decrypt. Some commercial media players like PowerDVD have their own decoders built in, but they're not free and not commonly used on Linux.
Will this let me copy DVDs?
No. Libdvdcss only decrypts the disc so you can watch it. Copying requires separate software and has its own legal restrictions depending on your location.