Firefox 49 for Linux, scheduled for a September 2016 release, will add support for DRM-protected HTML5 videos. Netflix, Amazon Prime, and other streaming services will “just work” in Firefox on Linux, just as they do in Google Chrome.
Mozilla will add support for the “encrypted media extensions” (EME) feature. This is designed to allow services like Netflix and Amazon to deliver videos in HTML5 with some protection against those videos being captured and copied.
This feature sparked a debate when it was proposed. To implement DRM, the browser makes use of a small, closed-source plugin. Firefox will automatically download the plugin when you open the browser, but it will only be enabled when you visit a website that requires DRM—like Netflix. The plugin itself is known as Google’s Widevine CDM, or content decryption manager. It’s the same plugin used by Google Chrome.
While this strategy entails the use of some closed-source code and a plugin, it’s a much smaller plugin than Adobe Flash or Microsoft Silverlight. It doesn’t use the NPAPI plugin standard, which Mozilla is working on removing from Firefox and which Google has already removed from Chrome. It should be a much more secure solution with better performance, although free-software purists won’t be happy with it. That’s why Mozilla also offers a version of Firefox that doesn’t support this feature.
This isn’t actually new for Firefox. Firefox already supports this feature on Windows and Mac OS X. This feature was added back in Firefox 38. It’s now arriving on Linux, and that’s a big deal. Firefox is the default web browser on most Linux distributions and DRM-protected videos should now “just work” for Linux desktop users without any browser-switching.
Firefox 49 is scheduled for release on September 13, 2016, and Linux distributions should make it available as an update shortly after that. It may take a few days for Netflix and other services to flip the switch and enable DRM-protected HTML5 video for Firefox on Linux after that. It took Netflix some time to enable this for Chrome on Linux.