0% found this document useful (0 votes)
117 views

Proprietary Chromium-Widevine

This document provides instructions for installing Widevine, a proprietary component required for DRM-protected content, on Chromium in Linux systems. It describes downloading Google Chrome for an easy method or cloning a GitHub repo for a standalone option to symlink the Widevine files so Netflix and other streaming works in Chromium.

Uploaded by

OrlandoUtrera
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
117 views

Proprietary Chromium-Widevine

This document provides instructions for installing Widevine, a proprietary component required for DRM-protected content, on Chromium in Linux systems. It describes downloading Google Chrome for an easy method or cloning a GitHub repo for a standalone option to symlink the Widevine files so Netflix and other streaming works in Chromium.

Uploaded by

OrlandoUtrera
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

proprietary / chromium-widevine

github.com/proprietary/chromium-widevine

proprietary

Join GitHub today

GitHub is home to over 50 million developers working together to host


and review code, manage projects, and build software together.

Sign up

master
Go to file
Code

README.md

Installing Widevine on Chromium on GNU/Linux


Or: How to get Spotify/Netflix working on Chromium in Linux

Most distributions' package managers come with Chromium but


without Widevine, a proprietary binary blob required for DRM
protected content (e.g., Netflix or Spotify). Normally your only
option to access DRM-protected content would be to use Google
Chrome or Mozilla Firefox, but here are some alternate ways you
can keep using stock Chromium.

Instructions are for Debian GNU/Linux amd64; should work for


other Debian-based distros like Ubuntu.

(easiest) Install Google Chrome and use its


Widevine distribution

Install Google Chrome stable (beta or unstable won't


work)
1/4
Skip this if you already have it.

$ wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub |
sudo apt-key add -
$ echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/
stable main' | sudo tee /etc/apt/sources.list.d/google-chrome.list
$ sudo apt update && sudo apt install -y google-chrome-stable

Run script
The following script symlinks Google Chrome's Widevine library
to Chromium's directory.

Paste this into your terminal:

git clone https://github.com/proprietary/chromium-widevine.git && \


cd chromium-widevine && \
./use-from-google-chrome.sh

Test Widevine
Paste into terminal (warning: restarts Chromium):

killall -q -SIGTERM chromium-browser || \


killall -q -SIGTERM chromium && \
exec $(command -v chromium-browser || command -v chromium)
./test-widevine.html &

…Or manually:

1. Restart Chromium. If it was already open, then go to


chrome://restart.
2. Make sure Protected Content is enabled in settings:
chrome://settings/content/protectedContent.
3. Open test-widevine.html from this cloned repo in
Chromium.

…Alternatively, visit Netflix, Spotify, or


$DEGENERATE_DRM_CONTENT_PROVIDER to see if it works
directly.

Limitations
Some streaming sites refuse to run at all on Linux because
the kernel does not provide access to chipset-level fencing of
DRM decryption as provided by Microsoft and Apple
systems.

2/4
These scripts assume a standard instlalation from
Debian/Ubuntu packages. If you installed Google Chrome or
Chromium manually, you might have to edit the scripts.
Because we are installing files directly to /usr (as opposed
to the more appropriate /usr/local ), and we have to for
Chromium to find Widevine, on system upgrades your
package manager might clobber these files, and you will
have to redo these steps.
These instructions only work for amd64 (64-bit x86_64) on
GNU/Linux. For alternate architectures like ARM or i386
(32-bit x86), please fork this and submit a pull request.

(alternative) Install Widevine alone without


Google Chrome
Paste this into your shell:

git clone https://github.com/proprietary/chromium-widevine.git && \


cd chromium-widevine && \
./use-standalone-widevine.sh && \
killall -q -SIGTERM chromium-browser || \
killall -q -SIGTERM chromium && \
exec $(command -v chromium-browser || command -v chromium)
./test-widevine.html &

The first method using Google Chrome just copied one directory
from its installation. Observe the Widevine directory in the Google
Chrome distribution:

/opt/google/chrome/WidevineCdm
├── LICENSE
├── manifest.json
└── _platform_specific
└── linux_x64
└── libwidevinecdm.so

We don't actually need the whole Google Chrome installation. We


can recreate that tree in the Chromium directory (i.e.,
/usr/lib/chromium ) with a standalone distribution of the
Widevine shared library. Copying just libwidevinecdm.so into
/usr/lib/chromium doesn't work.

N.B. Disadvantage of this method: You might have to manually re-


run this script whenever Chromium updates to get the latest
Widevine. The first method piggybacks Google Chrome's
distribution which is assumed to be up-to-date and updated by the
same package manager that updates Chromium. Use that method
unless you really don't want Google Chrome on your system.
3/4
4/4

You might also like