DVD players on Linux

Linux never got a licensed DVD-Video player, and the reason is famous: the CSS encryption on retail discs is patented, and the code everyone actually uses to decrypt it (libdvdcss) sits in a legal grey area popular enough to be printed on T-shirts. An XDA piece this month walked through the history, which is a good excuse to update our short list of DVD player apps for Linux that still work in 2026. Every pick below reads a physical disc when libdvdcss is installed from your distribution’s community repository.

If your distro is Fedora, Debian, or a derivative, install libdvdcss from RPM Fusion or deb-multimedia before you try any of these. On Ubuntu it is one command from the terminal.

What to look for in a Linux DVD player

Quick comparison

App Best for Blu-ray Menu support Cost
VLC media player Any disc, any codec, one install Yes Yes Free
mpv Keyboard-driven and scriptable Yes Partial Free
SMPlayer mpv power with a proper front-end Yes Yes Free
Kodi HTPC and remote control on the couch Yes Yes Free
Celluloid GTK desktop that fits GNOME No Yes Free
Xine Old-school player that still plays anything Yes Yes Free
Ogle The original open-source DVD navigator No Yes Free

The apps

1. VLC media player — best for any disc, any codec, one install

VLC is the default answer for a reason. It reads DVD-Video, Blu-ray (with the AACS/BD+ keys installed), Video CDs, and every codec people still hand each other over USB. Menus, chapter navigation, subtitle streams, and audio track switching all work out of the box once libdvdcss is on the system.

Where it falls short: The GTK/Qt interface is dated, and hardware acceleration on newer AV1 rips still lags behind mpv.

Pricing:

Platforms: Linux (all major distros), Windows, macOS.

Download: videolan.org · Flathub: flatpak install flathub org.videolan.VLC

Bottom line: Install VLC first. If it does not play a specific disc, the problem is the disc, not Linux.

2. mpv — best for keyboard-driven and scriptable playback

mpv is a lean fork of MPlayer with modern video output, first-class scripting in Lua, and the sharpest hardware acceleration on Intel and AMD GPUs. It plays DVD ISOs and folder rips out of the box with mpv dvd:// and takes almost no memory when doing it.

Where it falls short: Menu navigation is limited. Best for main-title playback rather than clicking around a DVD-Video menu.

Pricing:

Platforms: Linux, Windows, macOS.

Download: mpv.io · Flathub: flatpak install flathub io.mpv.Mpv

Bottom line: The right pick for someone who lives in a terminal and wants a player that respects a config file.

3. SMPlayer — best for mpv power with a proper front-end

SMPlayer wraps mpv (or MPlayer) with a Qt interface, a proper playlist, a YouTube front-end, and remembered playback positions per file. Disc playback flows through the underlying mpv, so hardware decode and codec support match, while menus and settings behave like a normal desktop app.

Where it falls short: DVD menu navigation depends on the mpv version underneath. Qt look feels less native on GNOME.

Pricing:

Platforms: Linux, Windows.

Download: smplayer.info · Flathub: flatpak install flathub info.smplayer.SMPlayer

Bottom line: The friendliest way to use mpv without giving up a real UI.

4. Kodi — best for HTPC and couch remote control

Kodi is the media-center front-end that turns a spare PC or a Raspberry Pi into a Blu-ray and DVD player you can drive from a remote. Disc playback is a first-class feature with menu support, and add-ons cover library management, subtitles, and lyrics for CD audio.

Where it falls short: Overkill for a single disc on a laptop. First-run setup takes an evening.

Pricing:

Platforms: Linux, Windows, macOS, LibreELEC (dedicated distro).

Download: kodi.tv · Flathub: flatpak install flathub tv.kodi.Kodi

Bottom line: The right choice if your DVD player sits under a TV and shares a room with a couch.

5. Celluloid — best GTK desktop fit for GNOME

Celluloid (previously GNOME MPV) is an mpv wrapper that behaves like a native GNOME app. Drop a disc, open the DVD folder from the sidebar, and the player picks up chapters and titles. The UI is minimal by design, which fits alongside Files and GNOME’s own media apps.

Where it falls short: No Blu-ray support out of the box. Playlist tools are basic.

Pricing:

Platforms: Linux (GTK).

Download: celluloid-player.github.io · Flathub: flatpak install flathub io.github.celluloid_player.Celluloid

Bottom line: The right pick if you use GNOME and you want a player that does not look pasted in from Windows.

6. Xine — best old-school player that still plays anything

Xine predates VLC. It reads DVDs (including menus), Video CDs, and most niche formats that get lost in modern players, and it still ships in most distro repos. The reference front-end is dated, but xine-lib is the engine behind several other players.

Where it falls short: UI shows its age. Slower release cadence than VLC and mpv.

Pricing:

Platforms: Linux, BSD.

Download: Distro package xine-ui, or xine.sourceforge.net

Bottom line: Reach for Xine when a weird old disc refuses to play in anything else.

7. Ogle — best original open-source DVD navigator

Ogle is the historical answer, the first open-source player to implement DVD-Video navigation correctly, and it still works. It targets pure DVD playback rather than a modern all-format library, so it stays small and predictable.

Where it falls short: No Blu-ray. No streaming. Interface is minimal and does not pretend otherwise.

Pricing:

Platforms: Linux, BSD.

Download: Distro package ogle, or dtek.chalmers.se/groups/dvd

Bottom line: A useful backup when a stubborn menu-heavy disc trips up newer players.

How to pick the right one

If you want one install that plays every disc you will ever hand a Linux box: VLC.

If you would rather script and hotkey your way through playback: mpv, or SMPlayer if you want a UI on top.

If the DVD lives under a TV: Kodi, or LibreELEC on a Raspberry Pi.

If you use GNOME and want a native-looking desktop player: Celluloid.

If a specific disc will not play anywhere else: try Xine or Ogle before giving up.

FAQ

Why does Linux need libdvdcss to play DVDs?

Retail DVD-Video discs are encrypted with CSS. Playing them requires decrypting each sector on read, and no distro can legally ship the decryption code in the default repositories in most jurisdictions. libdvdcss implements that decryption and lives in community repositories like RPM Fusion and deb-multimedia. Installing it is a one-line command.

Can Linux play Blu-ray discs?

Yes, but only with libaacs and libbdplus installed alongside the AACS decryption keys (which you have to supply yourself). VLC, mpv, and Kodi all read a decrypted Blu-ray once the keys are in place.

What is the best free DVD player for Ubuntu?

VLC. Install it from the archive or Flathub, add libdvdcss from Ubuntu’s restricted-extras package, and every retail disc plays with menus.

Does the GNOME Videos app play DVDs?

Not reliably, and menu support is limited. Use VLC, Celluloid, or SMPlayer for anything with a menu system.

Do these apps work on the Steam Deck’s desktop mode?

Yes. VLC, Kodi, mpv, and Celluloid all install from Flathub on SteamOS’s desktop mode and will read a USB DVD drive with libdvdcss in place.