libdvdcss: for playing those old DVDs

Tux

When was the last time you had to play a DVD on your Linux desktop? With many streaming services these days, the need to directly use any physical form of media is becoming less frequent. And I forget how complicated it is to play a DRM DVD on Linux!

Today we started binge-watching an old series (Season 1 of ‘White Collar’, 2009). Friends lent it to us – on DVD! As an aside, I remember the days when we would head to the local video store and rent a bunch of DVDs for the weekend. And the frustration of dealing with the inevitable discs in the pack that would be scratched or damaged. I’m fully a fan of streaming services!

I popped the disc into the tray of our only device with a DVD reader – a HP Notebook circa 2016 and now running Fedora 34. It has VLC Player installed (from the good folks at the VideoLAN project), but that by itself doesn’t have the capability to play a DVD that is encrypted by a Digital Rights Management system (DRM). VLC Player sees the disc, allows you to hit Play… and then does nothing.

What is libdvdcss?

Enter libdvdcss, another project from VideoLAN. It’s a library that can access DRM-managed DVDs without the need for decryption. You can read all about that project at www.videolan.org/developers/libdvdcss.html

libdvdcss isn’t available in the official Fedora software repositories. You will need to enable a third-party repository from RPM Fusion to install it on Fedora. It’s FOSS has an excellent set of instructions that worked on my Fedora 34 – please head over there, as it’s really comprehensive.

Important: Enable RPM Fusion’s tainted free repo at your own discretion, as it contains packages whose usage may be restricted in some geographical locations. Please read RPM Fusion‘s documentation for more information.

Sample libdvdcss installation

Here is the transcript of my attempt at installing libdvdcss on Fedora 34.

$ sudo dnf install rpmfusion-free-release-tainted
Last metadata expiration check: 0:01:24 ago on Sat 16 Jul 2022 19:39:43.
Dependencies resolved.
========================================================================================================================================================================
 Package                                                 Architecture                    Version                          Repository                               Size
========================================================================================================================================================================
Installing:
 rpmfusion-free-release-tainted                          noarch                          34-1                             rpmfusion-free                          8.6 k

Transaction Summary
========================================================================================================================================================================
Install  1 Package

Total download size: 8.6 k
Installed size: 1.2 k
Is this ok [y/N]: y
Downloading Packages:
rpmfusion-free-release-tainted-34-1.noarch.rpm                                                                                          7.8 kB/s | 8.6 kB     00:01    
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                   1.4 kB/s | 8.6 kB     00:06     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                1/1 
  Installing       : rpmfusion-free-release-tainted-34-1.noarch                                                                                                     1/1 
  Verifying        : rpmfusion-free-release-tainted-34-1.noarch                                                                                                     1/1 

Installed:
  rpmfusion-free-release-tainted-34-1.noarch                                                                                                                            

Complete!
$ sudo dnf install libdvdcss
RPM Fusion for Fedora 34 - Free tainted                                                                                                 5.8 kB/s |  28 kB     00:04    
Last metadata expiration check: 0:00:01 ago on Sat 16 Jul 2022 19:41:57.
Dependencies resolved.
========================================================================================================================================================================
 Package                              Architecture                      Version                                 Repository                                         Size
========================================================================================================================================================================
Installing:
 libdvdcss                            x86_64                            1.4.3-1.fc34                            rpmfusion-free-tainted                             73 k

Transaction Summary
========================================================================================================================================================================
Install  1 Package

Total download size: 73 k
Installed size: 178 k
Is this ok [y/N]: y
Downloading Packages:
libdvdcss-1.4.3-1.fc34.x86_64.rpm                                                                                                        24 kB/s |  73 kB     00:03    
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                    17 kB/s |  73 kB     00:04     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                1/1 
  Installing       : libdvdcss-1.4.3-1.fc34.x86_64                                                                                                                  1/1 
  Running scriptlet: libdvdcss-1.4.3-1.fc34.x86_64                                                                                                                  1/1 
  Verifying        : libdvdcss-1.4.3-1.fc34.x86_64                                                                                                                  1/1 

Installed:
  libdvdcss-1.4.3-1.fc34.x86_64                                                                                                                                         

Complete!
$ 

And that’s it! VLC Player can now play the DVD without any issues.

References

4 thoughts on “libdvdcss: for playing those old DVDs

  1. Yeah, I have used RPM Fusion free & nonfree repos to install my NVIDIA drivers since Fedora 32 Cinnamon SPIN, and the same method works on my Fedora 36 Cinnamon SPIN also…no “driver re-compiling every-time there is a new kernel update” or any NVIDIA problems since. “tainted” sounds too … too … to tainted to humble me. 😉 Is there a RPM Fusion nonfree tainted?

    Liked by 1 person

  2. Lol!
    Wow, it’s a big job digitising an audio collection. I must admit I gave up doing ours – too many bright shiny objects to distract me on that project! 😁
    Thank you for participating in this discussion.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: