Main menu:

Sponsoring

Please consider a small donation:

 

 

Or you can donate bitcoin:

 

Thanks to TekLinks in Birmingham, AL, for providing colocation and bandwidth.

Page Rank

Fame

FOSS Force Best Blog--2013 Award

Recent posts

Recent comments

About this blog

I am Eric Hameleers, and this is where I think out loud.
More about me.

Search

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 253 other subscribers

My Favourites

Slackware

Calendar

December 2016
M T W T F S S
« Nov    
 1234
567891011
12131415161718
19202122232425
262728293031  

RSS Alien's Slackware packages

RSS Alien's unofficial KDE Slackware packages

RSS Alien's multilib packages

RSS Slackware64-current

Meta

New Chromium now supports Netflix natively without Wine plugins

chromium_icon

The latest update to my Chromium package is an interesting one. It took me many nights, all of last week, to find a solution for a crash that is mentioned in various bug reports and for which I could not find a working fix anywhere. In the end, I just removed the few lines of code which trigger the crash.

Dear Google: I think it is stupid to force a crash in my package just because my build is not an “official build”. If your developers want bug reports, fine, arrange something in your development or beta source code, but do not annoy users of your your stable releases by making your product unfit for Google searches.

Anyway, Chromium 37.0.2062.94 comes with a couple of critical bug fixes:

  • [$30000][386988] Critical CVE-2014-3176, CVE-2014-3177: A special reward to lokihardt@asrt for a combination of bugs in V8, IPC, sync, and extensions that can lead to remote code execution outside of the sandbox.
  • [$2000][369860] High CVE-2014-3168: Use-after-free in SVG. Credit to cloudfuzzer.
  • [$2000][387389] High CVE-2014-3169: Use-after-free in DOM. Credit to Andrzej Dyjak.
  • [$1000][390624] High CVE-2014-3170: Extension permission dialog spoofing. Credit to Rob Wu.
  • [$4000][390928] High CVE-2014-3171: Use-after-free in bindings. Credit to cloudfuzzer.
  • [$1500][367567] Medium CVE-2014-3172: Issue related to extension debugging. Credit to Eli Grey.
  • [$2000][376951] Medium CVE-2014-3173: Uninitialized memory read in WebGL. Credit to jmuizelaar.
  • [$500][389219] Medium CVE-2014-3174: Uninitialized memory read in Web Audio. Credit to Atte Kettunen from OUSPG.

New in Chromium 37:

Two nice things happened in Chromium 37 that I want to write about.

  • A separate PDF plugin is no longer needed. This release of Chromium finally has the PDF library included which in the past would only be released with the binary Chrome builds. PDF’s are now nicely rendered in the browser window without having to install the chromium-pdf-plugin package. In fact, I removed that plugin package from my repository. If anyone still wants or needs the SlackBuild for that, let me know and I will post it somewhere.
  • I have not tried it myself (no Netflix here) but reportedly Chrome 37.0.2062.94 can play Netflix natively in Linux, without the need for Wine plugins that add support for MS SilverLight. The new HTML5 player with DRM which Netflix optionally uses now, is supported thanks to co-operation between Chrome developers and Netflix. I assume that the Chromium package would provide the same support. In any case, newer (developer) versions of Chromium reportedly do support Netflix natively, just not sure of the exact version where this started working. Try it, and tell me what you found! I will release a “chromium-dev” package later this week to allow testing in Slackware of new functionality, that may help too.

How to make Netflix work with Chrome/Chromium?

These are instructions I took from a LinuxQuestions.org thread, again I am unable to verify their value.

  • Install Chromium (Chrome would work too of course)
  • Install a User Agent switcher (apparently Netflix keeps blocking Linux browsers even though they now support them…)
  • Add new User-Agent in User-Agent-plugin with following settings:
    • New User-Agent Name = Netflix
      New User-Agent String = Mozilla/5.0 (Windows NT 6.3; Win 64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.24 Safari/537.36 (looks like 37.x.x.x version numberss do not work; use the latest Chrome (beta) version here).
      Group = Chrome
      Append = Replace
      Indicator Flag = NX (or whatever you want)
  • Add a new Permanent Spoof List
    • Domain = netflix.com
      User-Agent String = Netflix
  • 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

Have fun! Eric

Note (added Fri Jan  9 12:12:23 UTC 2015):
Please also read my follow-up article because I have made the Widevnie plugin actually work with Chromium and watching Netflix is now possible in Chromium without any UserAgent spoofing.

Comments

Comment from Jen
Posted: August 31, 2014 at 15:06

Wait, they deliberately broke chromium to not work with google searches? Are they high? Somehow it doesn’t surprise me.

It reminds me of the early days of the ‘net, where they’d block websites to Linux. Easy to get around, total BS that their mostly-text-based website wouldn’t “work.” But it’s the principle of the thing, you know?

The dev version of chrome I was using with Netflix was: 38.0.2125.24.

Comment from alienbob
Posted: August 31, 2014 at 16:39

I am now compiling a chromium-dev package (Slackware-current only) that has the version 39.0.2138.3. If the 64-bit version works here I will also do the 32-bit package and upload them.
This chromium-dev keeps its profile separate from the stable chromium – so you should be able to install both in parallel.

Comment from Cwizardone
Posted: August 31, 2014 at 16:57

Installed and followed the direction and signed on to Netflix.
It started a video then choked and said,

“Please visit chrome:/components, locate WidevineCdm component and click ‘check for update’ button.”

Of course WidevineCdm is not installed. From what I’ve read it is not supported in Chromium.

Comment from alienbob
Posted: August 31, 2014 at 21:06

Hi Cwizardone

Well, it’s a “try as you go” experience I guess. Next step: can you please try if this package brings you any further (stop and restart chromium after installing):

http://taper.alienbase.nl/mirrors/people/alien/slackbuilds/chromium-widevine-plugin/

Thanks for testing and your feedback.

Eric

Comment from Cwizardone
Posted: August 31, 2014 at 23:14

Thank you for going to the trouble to build the plug-in.

It did not ask that the license be accepted, which might be why it hasn’t work. I checked chrome:/plugins and it is listed and I checked the box, “always allowed,” but it is not listed when I run chrome:/components.

The end result is the same as my previous post.

Thanks, again, for all you hard work on this project.

Comment from Jen
Posted: September 1, 2014 at 02:18

Quick question: in your changelog, I saw that there was a package update for Steam, but the directory’s empty. Is it not up yet, with all the chromium problems?

Comment from Thiago Silvino
Posted: September 1, 2014 at 02:24

I just tried here. I was able to open the netflix site, but when I select a video to watch, I am asked to install the silverlight plugin. It looks like that it’s ignoring my preference for the html5 player. I tested the html5 player in youtube and it looks great. So it maybe an issue of netflix not recognizing the new html5 player.

Comment from MDK
Posted: September 1, 2014 at 03:37

I too got the problem with Widevine component (error M7354 on netflix), same after installing your widevine package (it appears on chrome://plugins, but not on chrome://components).

Comment from Thiago Silvino
Posted: September 1, 2014 at 04:22

I got the Widevine issue when I set the agent config to this exact string: “Mozilla/5.0 (Windows NT 6.3; Win 64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.24 Safari/537.36”. It appears on chrome://plugins, but not on chrome://components.
I tried to sym link and/or copy the two libs to /usr/lib/chromium and edit the lines in /etc/default/chromium.orig but I still get the same error.

When I tried with the google-chrome it works, I am able to play the videos from Netflix and the widevine doens’t show up in chrome://components.

Comment from alienbob
Posted: September 1, 2014 at 08:58

Hi Jen

Indeed, for unknown reasons the new steamclient package was not added to the repository. I have fixed that omission now.

Comment from alienbob
Posted: September 1, 2014 at 12:14

Hi Cwizardone

In “chrome://components” you will only see the components known to the browser from compile-time. Components are the parts of the Chrome browser that can be updated without the need for a full upgrade – a mechanism used in Windows and Mac OSX but unavailable in Chrome for Linux.

That Netflix message about “chrome://components” is Windows-centric (remember Linux is officially not supported atm) and I think it can be ignored.
What I read in a Arch Linux forum was that the version string in the UserAgent spoof should match the actual version of your browser (https://bbs.archlinux.org/viewtopic.php?id=185771).
Also, that it may a couple of tries to get the HTML5 player preference to work -it seems to vary from person to person (http://www.omgubuntu.co.uk/2014/08/netflix-linux-html5-support-plugins).

Comment from Francis
Posted: September 1, 2014 at 12:38

Hi, i am trying netflix from Brazil, works with firefox/pipelight normal and will switch to chromium.
The chromium-dev package is an upgrade to the stable chromium or it is a separated instalation?

Comment from alienbob
Posted: September 1, 2014 at 12:52

Hi Francis

The chromium-dev package is not an update to the stable chromium. That is why the package is called “chromium-dev” so that you can install both chromium and chromium-dev and use them at the same time. The two use separate profile directories.

Comment from Eduardo
Posted: September 1, 2014 at 14:24

Hi Eric, thank you! With this version, I can finally write more international characters in Chromium. Great!!

Comment from Jen
Posted: September 1, 2014 at 15:07

Awesome, thanks! 🙂

Comment from alienbob
Posted: September 1, 2014 at 16:21

Bbased on what I read here: https://groups.google.com/a/chromium.org/d/msg/chromium-dev/exotX6Nf_z0/4w3r5YgkJs4J – Chromium may be missing the functionality that Chrome has to let the decryption module work with the media stream.
Perhaps I should get a Netflix free trial month, but I hate to give them my credit card number just for that.

Comment from cwizardone
Posted: September 1, 2014 at 16:40

Alien Bob wrote,
> What I read in a Arch Linux forum was that the version > string in the UserAgent spoof should match the actual
> version of your browser…

Tried that, but then I couldn’t get past the system requirement error message, i.e., couldn’t even begin to start a video.

> Chromium may be missing the functionality that
> Chrome has to let the decryption module work with the > media stream.

Yes, that would be inline with what I’ve read and referred to earlier.

Comment from slack
Posted: September 1, 2014 at 20:56

Still lags in flash videos as the previous version…

Comment from Jen
Posted: September 2, 2014 at 03:01

Was going to install chromium (assuming it can co-exist with regular chrome), but there isn’t a 14.0 package? I can try building the source tomorrow. Probably faster than reinstalling Slackware, especially since I’m in the middle of a music project. (And would need to compile a bunch of stuff for that, if I upgrade everything.)

Comment from MDK
Posted: September 2, 2014 at 03:20

Testing chromium-dev here, still getting the same error with widevine (error M7354).

Another thing I’ve noted, there is no “chromium-dev” directory on my $HOME/.config, but a strange “${PRGNAM}” that contains the user configuration files for chromium-dev

Comment from alienbob
Posted: September 2, 2014 at 12:03

Hi MDK

I see where I made a mistake in my SlackBuild with regard to the config dir, will be fixed as soon as I have time.

Comment from alienbob
Posted: September 2, 2014 at 12:05

Hi Jen

I compile chromium only for Slackware 14.1/current and chromium-dev only for slackware-current.

I can give no guarantees for success with building on Slackware 14.0. I did not try that myself, however I tried with Slackware 13.37 and had to change the SlackBuild for that (see my chromium_1337.SlackBuild) and lost some functionality as a consequence.

Comment from alienbob
Posted: September 2, 2014 at 12:06

And yes: chrome, chromium and chromium-dev can all be installed _and_ used at the same time.

Comment from Jen
Posted: September 2, 2014 at 14:47

Hrm. Might be easier to just put 14.1 on my laptop. See what kind of time I’ve got this week…

Comment from Julio Cesar Gutierrez
Posted: September 4, 2014 at 19:41

Hello Eric.

Post chromium-pdf-plugin slackbuid to users of 13.37, version 35.0.1916.1531.

Excuse me. I posted earlier in “More about me” section.

regards.

Comment from alienbob
Posted: September 4, 2014 at 20:31

Hi Julio

There is no need for a separate chromium-pdf-plugin package for Slackware 13.37 (I think you meant package and not slackbuild). Just change the VERSION variable in the chromium-pdf-plugin.SlackBuild script to 35.0.1916.1531 and run the script. The pdf plugin is taken from the binary chrome release, either it works on Slackware 13.37 (and then you are lucky) or it does not work (too bad, you might want to upgrade your Slackware).

Comment from Julio Cesar Gutierrez
Posted: September 4, 2014 at 21:28

Yes, I proceeded thus in chromium-pepperflash-plugin slackbuild successfully.

Comment from Julio Cesar Gutierrez
Posted: September 4, 2014 at 23:06

Hi Eric

Regained slackbuid the google cache and here’s the result: Incompatible with 13.37.

ldd libpdf.so
./libpdf.so: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15′ not found (required by ./libpdf.so)
linux-gate.so.1 => (0xffffe000)
librt.so.1 => /lib/librt.so.1 (0xb70dc000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb6ff3000)
libm.so.6 => /lib/libm.so.6 (0xb6fcd000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb6fb1000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb6f97000)
libc.so.6 => /lib/libc.so.6 (0xb6e30000)
/lib/ld-linux.so.2 (0xb773f000)

Comment from Jen
Posted: September 5, 2014 at 05:06

Not having much luck building chromium, but it’s late and I’m not thinking clearly. If I’ve got time tomorrow, I”ll throw 14.1 on my laptop.

Comment from Alan Aversa
Posted: September 6, 2014 at 04:36

@Thiago Silvino: I get the same issue. It keeps saying I need to install Silverlight.

Comment from alienbob
Posted: September 6, 2014 at 16:59

I took a free month of Netflix, just to do some testing, but unfortunately it does not even work in the actual official Chrome 37.0.2062.94… with the spoofed UserAgent I still keep getting asked to install SilverLight. The streaming preferences for my account “prefer HTML5 over SilverLight”.
Errr?

Comment from Jen
Posted: September 6, 2014 at 17:51

That’s the version of chrome I’m using. Try creating a new profile?

Comment from cwizardone
Posted: September 6, 2014 at 17:54

After giving up on getting Netflix to work with Chrome/Chromium, I tried again with Firefox, an agent changer, and the wine-pipelight/pipelight silverlight plug-in.
It took several attempts, but finally I got it to work using Firefox 31, and User Agent Overrider 0.2.4, set to ms-windows and Firefox 29.
The audio/video sync can sometimes be off, depending on the strength of the WiFi signal, but it usually comes into sync after a few minutes.
I could not get it to work using the latest Firefox 32.
However, after all that, it still works best in Xp-sp3, running in VirtualBox.

Comment from Jen
Posted: September 6, 2014 at 18:11

Here’s the user agent string I’m using: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36

And I’ve got it appended, not replaced.

I tried it with your string for the sake of testing, and it worked for me. (Chrome 37.0.2062.94.) Could it be a region thing? That is, html5 isn’t being used in all countries yet? Only difference I can think of.

Comment from alienbob
Posted: September 6, 2014 at 23:57

Using 38.0.2125.24 as the Chrome version in the UA string made the HTML5 player work. However the interface was suddenly missing most of the icons and bitmaps. That was fixed when I upgraded chrome to the latest beta (38.0.2125.44).

HTML5 video stutters unfortunately. The same is true for Youtube videos – it is just unwatchable.

Something happened in the Chrome browser a few versions back that broke HTML5 video playback. I suspect that hardware acceleration support was removed?

Comment from Jen
Posted: September 7, 2014 at 02:06

Huh, strange. That’s the version of the chrome beta I was using, too. I haven’t had any stuttering with playback on it or youtube. (We use netflix all the time.)

Video card issue? (Nvidia GTX 560, 331.67 drivers from Nvidia.)

Network issue?

Something else change between 14 and Slackware-current? (Not currently using a low-latency kernel.)

Comment from alienbob
Posted: September 7, 2014 at 12:30

Julio,

I uploaded chromium-37.0.2062.94 packages for Slackware 13.37. This version contains a PDF viewer, so there is no need for a separate “chromium-pdf-plugin” anymore.

Comment from regnad kcin
Posted: September 7, 2014 at 18:55

Using chromium-dev. It’s very quick. But there is no support for chinese input via SCIM. All programs work fine with
Scim except chromium. I can cut and paste chinese but cannot enter chinese in chromium.

Comment from Pedro
Posted: September 8, 2014 at 06:40

I am using Chrome 37.0.2062.94 and it didn’t work 🙁

Comment from alienbob
Posted: September 8, 2014 at 11:05

Pedro, I had the same issue. When I used “38.0.2125.24” as the Chrome version in the spoofed UserAgent string, it started working even with the Chrome 37.0.2062.94 release, but it also had the effect that lots of icons and bitmaps were no longer displayed on the Netflix pages.
I updated my Chrome to the latest Beta (38.0.2125.24) and that fixed the bitmaps issue for me.
I still have stuttering audio/video (on a quadcore CPU with Nvidia graphics) and that makes it unacceptable for me to watch. I have that same stuttering in Youtube’s HTML5 player btw… so the issue is local, either with the Nvidia driver or with the fact that I have Jack Audio installed.

Comment from Jen
Posted: September 20, 2014 at 05:31

http://www.webpronews.com/netflix-finally-adding-linux-support-2014-09

Hey cool. Looks like they’re throwing us a bone. (Not that a user agent is particularly onerous, but it’s one less thing in the way.)

Comment from alienbob
Posted: September 20, 2014 at 11:51

Netflix is specifically targeting the latest Ubuntu, not Linux in general. I surely hope they will not search the browser’s UserAgent string for “Ubuntu 14.02”. We might still have to spoof our UA on Slackware.

Comment from Jen
Posted: September 20, 2014 at 15:42

Hadn’t thought of that. Would be stupid of them to do so. Feh. 🙁

Comment from alienbob
Posted: October 11, 2014 at 20:24

Well, it’s pretty obvious that Chromium is not going to be an option for watching Netflix. Nobody is able to get the Widevine plugin to work.

However, while trying the latest Chrome 38.0.2125.101 on my slackware-current, I discovered that it works out of the box with Netflix.
A UserAgent spoofer is no longer needed.

Linux support for Netflix is not limited to Ubuntu, praise “bob” 🙂

Comment from Jen
Posted: October 11, 2014 at 23:12

Yeah, it’s annoying when a web page or something stupid like that is restricted to one OS or one distro or another. Fortunately I haven’t seen a message telling me to use Windows instead in awhile. (And it’s usually on a page that’s nothing but text and javascript, so no reason to restrict it beyond stupidity.)

Pingback from Alien Pastures » Watch Netflix video in your chromium browser – this time for real
Posted: January 2, 2015 at 13:07

[…] 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 […]

Write a comment