Streaming DRM protected content

From Gentoo Wiki
Jump to:navigation Jump to:search

Digital rights management (DRM) is a system to prevent piracy of copyrighted material. It is not possible to access DRM protected content with only open source software. DRM is highly controversial which does not matter for this article.

Firefox

Disable the eme-free USE flag for www-client/firefox if enabled and emerge Firefox. When using the www-client/firefox-bin package, no eme-free USE flag exists and therefore does not need to be disabled. Now emerge Firefox:

root #emerge --ask www-client/firefox

For Firefox to download the plugins required to decrypt DRM content, go to: SettingsGeneralDigital Rights Management (DRM) Content and tick Play DRM-controlled content. When a video player which plays DRM content is opened, Firefox will start downloading the required plugins. This process might take a few minutes. Refresh the page to check if the plugins were successfully downloaded.

Chromium and Google Chrome

See bug #547630.

Enable the widevine USE flag for www-client/chromium, as well as www-plugins/chrome-binary-plugins in /etc/portage/package.use. This can be done by adding these lines to the file:

FILE /etc/portage/package.use
www-plugins/chrome-binary-plugins widevine
www-client/chromium widevine

Next emerge the packages:

root #emerge --ask www-plugins/chrome-binary-plugins www-client/chromium

If Google Chrome is used instead of Chromium, replace www-client/chromium with www-client/google-chrome in /etc/portage/package.use and emerge www-client/google-chrome instead of www-client/chromium:

root #emerge --ask www-client/google-chrome

Browsers installed with Flatpak

Any browser that is installed through Flatpak and that supports DRM decryption should not require any extra steps related to Gentoo to play DRM content.

Troubleshooting

Disney+ not working

There have been multiple incidents where it was not possible to stream anything from Disney+ on Linux because of a new DRM.[1][2] This issue can be bypassed by switching the browser's user agent so that it imitates Microsoft Windows. There are browser extensions for browsers using Blink (e. g. Chromium) and Gecko (e. g. Firefox) as their browser engine.[3] It is also possible to change the browser's user agent to anything in Firefox and browsers based on Firefox. This is not advised as it can lead to fingerprinting.

LibreWolf not downloading DRM plugins

For older versions of LibreWolf are extra steps required to get the DRM plugins downloading.[4] A few lines need to be commented out. If LibreWolf was installed using Portage, edit /usr/lib/librewolf/librewolf.cfg. If LibreWolf was installed using Flatpak, edit ~/.local/share/flatpak/app/io.gitlab.librewolf-community/current/active/files/lib/librewolf/librewolf.cfg.

FILE /usr/lib/librewolf/librewolf.cfg
/** [SECTION] DRM */
/** defaultPref("media.eme.enabled", false); // master switch for drm content
  * defaultPref("media.gmp-manager.url", "data:text/plain,"); // prevent checks for plugin updates when drm is disabled
  * // disable the widevine and the openh264 plugins
  * defaultPref("media.gmp-provider.enabled", false);
  * defaultPref("media.gmp-gmpopenh264.enabled", false);
  */

Netflix

In Netflix settings navigate to: Your AccountYour ProfilePlayback Settings, ensure that "Prefer HTML5 player instead of Silverlight" is checked (it should be by default; just verify).

See also