Streaming DRM protected content
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.
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:
emerge --ask www-client/firefox
For Firefox to download the plugins required to decrypt DRM content, go to: Settings → General → Digital 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.
www-plugins/chrome-binary-plugins widevine www-client/chromium widevine
Next emerge the packages:
emerge --ask www-plugins/chrome-binary-plugins www-client/chromium
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.
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. 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. 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. 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.
/** [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); */
In Netflix settings navigate to: Your Account → Your Profile → Playback Settings, ensure that "Prefer HTML5 player instead of Silverlight" is checked (it should be by default; just verify).