Tag Archives: cdm

Chromium: the answer to life, the universe and everything

Chromium and Widevine:

chromium_iconGeeks and Sci-Fi fans, as well as otherwise properly educated people, will recognize the blog title for what it is.

Chrome 42 is released. Big jump: a major version change. Mostly changes under the hood again it seems. The Chrome binaries for this version contain a new version of the PepperFlash plugin, which I have extracted for use with the chromium browser – see my earlier blog. The packages for Slackware 14.1 and -current are available for download so that you can enjoy the latest Chromium browser (and its optional Widevine plugin) in your trustworthy Slackware environment.

In the  Chrome Releases blog you can read the announcement for Chrome/Chromium 42 to the Stable Channel (full version is 42.0.2311.90).

The new packages for my chromium and chromium-widevine-plugin packages both have version 42.0.2311.90 – indicating that they should be used together. The Widevine plugin reports itself as version “” in chrome://plugins – same version as in my chromium-dev 43 package.

You don’t have to install the Widevine plugin. Chromium without Widevine plugin is a pure and open source browser, even the Widevine “adapter module” inside the Chromium package is open source. The Widevine library itself is a closed-source Content Decryption Module (CDM) which therefore is not part of the Chromium package but separately packaged (after extracting it from Google’s binary download of the Chrome browser with the same version number). You would typically want to install the plugin if you have a Netflix subscription and want to watch your movies in a Chromium browser.

Download locations:

Have fun! Next on the blog: new packages for VLC, the VideoLAN media player!


Update for Chromium and another Flash security fix

Chromium (and Widevine):

chromium_iconI built new Slackware Chromium packages for the latest update in the Chrome Stable Channel.  The new version is 40.0.2214.111  and comes with several security fixes (among which, a Flash Player update, see below) Both chromium and chromium-widevine-plugin have version 40.0.2214.111 actually – use the matching version numbers as a sign that they will work together. The Widevine plugin reports itself as version “” in chrome://plugins .

Repeat message: Widevine is a Content Decryption Module (CDM) used by Netflix to stream video to your computer in a Chromium browser window. With my chromium and chromium-widevine-plugin packages you no longer need Chrome, or Firefox with Pipelight, to watch Netflix. The chrome-widevine-plugin is optional. If you don’t need it, then don’t install it. It is closed-source which for some is enough reason to stay away from it. The Chromium package on the other hand, is built from open source software only.

Flash browser plugins:

adobe_flash_8s600x600_2 With Flash it seems to be like my central heating. Last year I needed to connect the waterhose once a month and regulate the pressure in the pipes… it got worse to the point that I needed to re-pressurize every day. Until I called the maintenance guy who fixed a leak permanently. There is yet another leak in the Flash from Adobe and security updates have been added to my repository yesterday: the plugins for chromium (PPAPI) and for mozilla-compatible browsers (NPAPI).

The new Slackware package for chromium-pepperflash-plugin has version The new Slackware package for flashplayer-plugin has version

The update for pipelight can be done manually. As root, run the script:

# pipelight-plugin --update

Next time the pipelight plugin is loaded in your browser, it will update your Windows plugins to their latest versions where needed.


Updates for chromium, widevine, flash

Chromium and Widevine:

chromium_iconChrome  Stable Channel saw version 40 of the browser being released yesterday (to be precise, version 40.0.2214.91). Apart from this being a major upgrade (39 to 40), lots of bugs were fixed, many of those being security fixes (62 in total). See the blog page for all details.I have not looked at the new version extensively but Chrome/Chromium 40 comes with an improved bookmarks manager which lets you search your bookmarks, not only by URL or title, but also by page content.

The new Chrome contains a new Flash Player too, more about that further down on this page.

And a new Chrome browser means, the Chromium source code for the same version is being made available. I built new packages for my chromium and chromium-widevine-plugin packages, both have version 40.0.2214.91.

Note that the Widevine plugin reports itself as version “” in chrome://plugins – I decided to use the matching chromium version and not the actual widevine version when creating the plugin package. For newcomers: Widevine is a Content Decryption Module (CDM) used by Netflix to stream video to your computer in a Chromium browser window. With my chromium and chromium-widevine-plugin packages you no longer need Chrome, or Firefox with Pipelight, to watch Netflix.

Also note (to the purists among you): even though support for Widevine CDM plugin has been built into my chromium package, that package is still built from Open Source software only. As long as you do not install the chromium-widevine-plugin package, your system will not be tainted by closed-source code.

Flash browser plugins:

adobe_flash_8s600x600_2 I have packaged the new Flash from Adobe. a security fix, as plugins for chromium (PPAPI) and for mozilla-compatible browsers (NPAPI).

The new Slackware package for chromium-pepperflash-plugin has version This version is newer than what the Adobe page lists as their most recent version for Chrome (… I guess Google did a surprise release of version 40 instead of another 39.x.x.x and Adobe did not notice. But it is the real thing.

The new Slackware package for flashplayer-plugin has version

For my pipelight package, you can easily update the Windows plugins it installed for you earlier (including the Windows Flash player if you use that) by running (as root) the script:

# pipelight-plugin --update

Let me remind you again of some mirror sites across the globe:


Watch Netflix video in your chromium browser – this time for real


I have made change to my Chromium package which some of you will find interesting. As you might know (I wrote about it in an earlier article here on Alien Pastures) Google and Netflix combined their efforts and that resulted in native support in Chrome for the playback of Netflix videos, using the Widevine Content Decryption Module (CDM) which is incidentally also owned by Google. This was all made possible using the Encrypted Media Extensions (EME) in a HTML5 player. Unfortunately, I was not able to find a way to add this Widevine CDM support to my Chromium package – using a similar approach to the way I add support for Flash using the binary libraries taken from the official Chrome RPM.

Then my Slackware buddy ppr:kut pointed me to a discussion in the Chromium bugtracker on Google Code where someone stated he had found the solution. The description was a bit vague, no patches were posted, but the general concept was clear.

I proceeded with updating my SlackBuild for chromium-dev (which is currently at version 41.0.2236.0) and re-writing my not-working widevine patch. That resulted in a new chromium-dev package which reported that a Widevine plugin was available. Alas… when opening a Netflix page and attempting to play a video, this only resulted in the error “M7363-1262-00000000” which seems to have a relation to a mismatch between the Widevine CDM library and the browser. A possible explanation could be that I used the Widevine CDM library from stable Chrome 39.0.2171.95 in that build of the chromium development version 41.

So, my next attempt was to rebuild the stable chromium package (39.0.2171.95) with the Widevine patch, using the Widevine CDM library from the Chrome RPM bearing that same version. And what do you know… success!

I can now watch Netflix video’s in my Slackware chromium browser. How nice is that.

Apparently, having a functional Widevine CDM support will allow you to watch Youtube Movies as well, but since I already pay for Netflix I did not want to test these Youtube rentals. Another test which failed was my attempt to watch television on horizon.tv, the content streaming network of my provider (UPC/Liberty Global). Even with a UserAgent spoofer and all browser cookies removed, that site still detected that I was visiting using a Chrome/Chromium browser and kept presenting an annoying popup to force me to switch to a different browser because Chrome does not support Silverlight anymore (on Mac OSX and Windows 64-bit at least, remember their NPAPI depreciation). No way around that, even though I was fairly sure that Horizon TV also used Widevine for Digital Rights Management (DRM) in the past. Guess I still have to use Firefox with Pipelight for that, then.

What do you need in order to watch Netflix in Chromium on Slackware (14.1 and -current)?

  • Just two packages are needed: chromium and chromium-widevine-plugin. The latest chromium package was rebuilt to enbable support for Widevine. The chromium package itself does not contain any proprietary binaries. The chromium-widevine-plugin package is what contains the “libwidevinecdm.so” library which was extracted from the official binary Chrome RPM – this is proprietary software.
  • It is not necessary to use a UserAgent spoofer. Netflix works out of the box.
  • Make sure your mozilla-nss package has at least version 3.16.4 (Pat Volkerding upgraded all mozilla-nss packages in recent Slackware releases for this reason)
  • In Netflix Playback-settings chose HTML5

Note 1:

No more changes are needed to the file “/etc/default/chromium”. The plugin is announced to chromium by means of the “libwidevinecdmadapter.so” library which is built from the Open Source code in the chromium tarball, but only in the presence of the proprietary “libwidevinecdm.so”. Installing or upgrading the chromium-widevine-plugin package will show a few lines of warning if it detects that you still have the old configuration block enclosed by “START chromium-widevine-plugin” and “END chromium-widevine-plugin“. You should delete that block now.

Note 2:

If you don’t care about Netflix or don’t want to install any non-free software, then the chromium package is still OK for you – just don’t install chromium-widevine-plugin and you’ll be fine. If you even want to get rid of any hint of Widevine support you can always recompile the package with the variable “USE_CDM” inside the chromium.SlackBuild set to zero (0). That will prevent the creation of the (open source) adapter library “libwidevinecdmadapter.so”.

Have fun! Eric