Unable to use the widevine plugin with Chromium

Bug #1371274 reported by Michel-Ekimia on 2014-09-18
148
This bug affects 27 people
Affects Status Importance Assigned to Milestone
Chromium Browser
Unknown
Unknown
chromium-browser (Ubuntu)
Wishlist
Chad Miller

Bug Description

Chromium is unable to use the widevine component from google chrome : libwidevinecdmadapter.so and libwidevinecdm.so

How to reproduce :

- copy the 2 files the chrome archive in /usr/lib/chromium-browser
- check chrome://components/
- Widevine does not appear

Solution :

With the help from several people (hogliux for patch and saiarcot895 for PPA) , a PPA is available with this feature :

- https://launchpad.net/~saiarcot895/+archive/ubuntu/chromium-dev

- You need the binary widevine plugin plugin (2 files) :

https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/1371274/+attachment/4397708/+files/WidevineLinuxForChromium44.tar.gz

To be copied in /usr/lib/chromium

- Launch netflix.com and see if it works.

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: chromium-browser 37.0.2062.94-0ubuntu0.14.04.1~pkg1042
ProcVersionSignature: Ubuntu 3.13.0-35.62-generic 3.13.11.6
Uname: Linux 3.13.0-35-generic x86_64
ApportVersion: 2.14.1-0ubuntu3.3
Architecture: amd64
Date: Thu Sep 18 21:11:17 2014
InstallationDate: Installed on 2013-10-02 (350 days ago)
InstallationMedia: Ubuntu 13.10 "Saucy Salamander" - Beta amd64 (20130925.1)
ProcEnviron:
 LANGUAGE=fr_FR
 TERM=xterm
 PATH=(custom, no user)
 LANG=fr_FR.UTF-8
 SHELL=/bin/bash
SourcePackage: chromium-browser
SystemImageInfo: Error: [Errno 2] Aucun fichier ou dossier de ce type: 'system-image-cli'
UpgradeStatus: Upgraded to trusty on 2014-05-31 (109 days ago)
modified.conffile..etc.default.chromium.browser: [deleted]
mtime.conffile..etc.chromium.browser.default: 2014-06-01T14:14:23.245932

Michel-Ekimia (michel.ekimia) wrote :
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in chromium-browser (Ubuntu):
status: New → Confirmed
GizmoChicken (gizmochicken) wrote :

Also affects Ubuntu 14.10 as of the time of this post.

Chad Miller (cmiller) on 2014-09-22
Changed in chromium-browser (Ubuntu):
assignee: nobody → Chad Miller (cmiller)
Michel-Ekimia (michel.ekimia) wrote :

Hi Chad do you think the problem is with the branding in widevine_cdm.gyp ?

I don't think you'll find this plugin listed under about:components anyway.
Try about:plugins .

On Mon, Sep 22, 2014 at 10:01 AM, Ekimia <email address hidden> wrote:

> Hi Chad do you think the problem is with the branding in
> widevine_cdm.gyp ?
>
> --
> You received this bug notification because you are a bug assignee.
> https://bugs.launchpad.net/bugs/1371274
>
> Title:
> Unable to use the widevine plugin with chromium
>
> Status in “chromium-browser” package in Ubuntu:
> Confirmed
>
> Bug description:
> Chromium is unable to use the widevine component from google chrome :
> libwidevinecdmadapter.so and libwidevinecdm.so
>
> How to reproduce :
>
> - copy the 2 files the chrome archive in /usr/lib/chromium-browser
> - check chrome://components/
> - Widevine does not appear
>
> it seems widevine support is only activated when branding=chrome
>
> as seen in
>
>
>
> https://github.com/scheib/chromium/blob/master/third_party/widevine/cdm/widevine_cdm.gyp
>
> Widevine support would enable EME playing such as Netflix
>
> ProblemType: Bug
> DistroRelease: Ubuntu 14.04
> Package: chromium-browser 37.0.2062.94-0ubuntu0.14.04.1~pkg1042
> ProcVersionSignature: Ubuntu 3.13.0-35.62-generic 3.13.11.6
> Uname: Linux 3.13.0-35-generic x86_64
> ApportVersion: 2.14.1-0ubuntu3.3
> Architecture: amd64
> Date: Thu Sep 18 21:11:17 2014
> InstallationDate: Installed on 2013-10-02 (350 days ago)
> InstallationMedia: Ubuntu 13.10 "Saucy Salamander" - Beta amd64
> (20130925.1)
> ProcEnviron:
> LANGUAGE=fr_FR
> TERM=xterm
> PATH=(custom, no user)
> LANG=fr_FR.UTF-8
> SHELL=/bin/bash
> SourcePackage: chromium-browser
> SystemImageInfo: Error: [Errno 2] Aucun fichier ou dossier de ce type:
> 'system-image-cli'
> UpgradeStatus: Upgraded to trusty on 2014-05-31 (109 days ago)
> modified.conffile..etc.default.chromium.browser: [deleted]
> mtime.conffile..etc.chromium.browser.default: 2014-06-01T14:14:23.245932
>
> To manage notifications about this bug go to:
>
> https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/1371274/+subscriptions
>

robin de bruin (robinjoo17) wrote :

any update on this ? how to fix ?

Michel-Ekimia (michel.ekimia) wrote :

What I understood : the chromium code needs to patching to be able to load the CDM. AFAIK , nobody had done this patch

Gentoo and debian people started packaging the non free plugin which could be also usefull for OOTB netflix experience:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=757772

http://www.slackware.com/~alien/slackbuilds/chromium-widevine-plugin/

Mateo Salta (mateo-salta) wrote :

I tried the gentoo iso, and it seems they are on chromium 24, so while those flags work on that version - do something like 'chromium browser --register-pepper-plugins="usr/lib/chromium-browser/Pepper/libwidevinecdmadapter.so;application;x-ppapi-widevine-cdm"' when you copy the .so files over to /usr/lib/chromium-browser/Pepper/ it isn't useful for watching netflix, also it seems the same flags to try to get the newer version of chromium on Ubuntu fail to register the plugin.

Mateo Salta (mateo-salta) wrote :

well, I got it to show, but still getting error on playback: `chromium-browser --register-pepper-plugins="/usr/lib/chromium-browser/Pepper/libwidevinecdmadapter.so#WidevineContentDecryptionModule#Enables_Widevine_licenses_for_playback_of_HTML_audio/video_content#1;application/x-ppapi-widevine-cdm"
`
This shows:

http://i.stack.imgur.com/QEUCL.png

in the chrome://plugins

but Gets error code "M7354" on Chromium

Michel-Ekimia (michel.ekimia) wrote :

Hi mateo, I've been to the same point as you and compared working chrome and chromium.

Chrome works when disabling nativeclient , so we are sure that the plugin is rellay ppapi and does not use native client.

When you disable the Widevineadapatater plugin in chrome you get a M7357-1003 and chromium return the M7354 error which is kind of weird then ....

we need help from the chromium team ....

Mateo Salta (mateo-salta) wrote :

Here is the command line output around the time of loading and the errors, just incase some of them are related:

[10038:10038:1011/103520:ERROR:account_tracker_service.cc(113)] OnGetTokenFailure: Invalid credentials.
[10038:10038:1011/103520:ERROR:account_tracker.cc(306)] OnGetTokenFailure: Invalid credentials.
[10038:10038:1011/103520:ERROR:account_tracker.cc(306)] OnGetTokenFailure: Invalid credentials.
[10038:10472:1011/103524:ERROR:get_updates_processor.cc(240)] PostClientToServerMessage() failed during GetUpdates
[10038:10069:1011/103540:ERROR:channel.cc(290)] RawChannel read error (connection broken)

Michel-Ekimia (michel.ekimia) wrote :

Poeple from Arch have gone further and have done what I supposed : change the widevine gyp file so the support is compiled with the chromium branding, but no success so far :

From willmtemple on https://aur.archlinux.org/packages/chromium-pepper-flash/

""Alien's slackware package does not work. libwidevinecdm cannot be imported into current chromium or chromium-dev, as it requires the 'branding' gyp variable to be set to 'Chrome' during compile time. Setting that variable will cause the build to fail (because Google includes proprietary code and copyrighted images that we don't have in their Chrome branded builds).

I took the gyp configurations and patched them such that the widevine cdm support would be built in to 'Chromium' branded builds and by issuing -Denable-pepper-cdms to the gyp configurator. I also had to fake a header file and move libwidevinecdm.so to another folder within the chromium source tree. It compiled, and the plugin will automatically load when it is within the plugin path (i.e. /usr/lib/chromium/) but it will still not work. Chromium dumps several javascript errors into terminal because the plugins are acting bad.

I'll keep looking into it, but I don't think that there's a good way to get Widevine into the current stable or dev releases of chromium.""

hogliux (hogliux) wrote :

Just for reference: I filed a similar bug at upstream chromium: https://code.google.com/p/chromium/issues/detail?id=429452
and they marked the bug as WontFix :-(

Because Chromium developers want their browser to be free from digital restrictions, this bug will stay unfixed for Ubuntu too.

Changed in chromium-browser (Ubuntu):
status: Confirmed → Won't Fix
Adam Porter (alphapapa) wrote :

> Because Chromium developers want their browser to be free from digital restrictions, this bug will stay unfixed for Ubuntu too.

What difference does that make? It's not "their browser." Chromium is free software, and Ubuntu can patch it however it pleases.

What would serve users better: to be able to use this plugin in Chromium, or to have no choice but to use the Google-built Chrome package and its proprietary code?

The answer to that question is clear, and therefore the right thing to do is also clear: apply a patch to Chromium in Ubuntu when a patch becomes available. It makes no sense to WONTFIX this bug. WONTFIX is an anti-user attitude that doesn't belong in Ubuntu or any other free software Linux distro.

Michel-Ekimia (michel.ekimia) wrote :

@Alberto : your comment is a bit out of the scope of this bug. please don't decide if a bug is won't fix before really understanding the bug.

We want chromium to be able to load this plugin like it's able to load flashplugin for exemple, even if it's not bundle. we already have a widevine plugin installer available like the one for pepper Flash.

So the bug is coming back 'Inprogress'.

Changed in chromium-browser (Ubuntu):
status: Won't Fix → Confirmed

Google decided Chromium to be a completely libre browser, while Chrome to contain the privative parts that some people want Chromium to have.

What is the point of patching Chromium for getting a second Chrome?

If you don't care about libre software to be the standard, and Hollywood to be who chooses how your computer shall behave, you can simply install Chrome from <https://www.google.com/chrome/browser/desktop/index.html>.

Changed in chromium-browser (Ubuntu):
importance: Undecided → Wishlist
status: Confirmed → Triaged
summary: - Unable to use the widevine plugin with chromium
+ Unable to use the widevine plugin with Chromium
Michel-Ekimia (michel.ekimia) wrote :

@alberto : You ( and me) are wasting time with comments like that.

We want to make widevine plugin work on chromium JUST BECAUSE WE CAN.

So please, let people work on what they want.

Please, Don't interfer anymore with the handling of this bug.

hogliux (hogliux) wrote :

I posted a fix for this at https://code.google.com/p/chromium/issues/detail?id=429452

I'm sorry that I can't submit a modified ubuntu package at the moment (I'm travelling with a netbook with too little resources to compile chromium) but it really shouldn't be too hard from the description above.

Michel-Ekimia (michel.ekimia) wrote :

@hogliux : thank you so much for your work, that is really great news !

At last it seems the gap was not that hard, ridiculous that chromium people did not try to enable it...;

this seems patchable for debian/ubuntu then

hogliux (hogliux) wrote :

Yes it's definitely patchable for Ubuntu. I use Ubuntu myself. However, an
official .deb package might take a bit of time as the compilation of
chromium takes too long for normal users like me to submit to the launchpad
compiler farm. It needs to be a developer from the ubuntu chromium team
(correct me if o am wrong here, but I thought I read somewhere that
compilations can go max 3 hours, and that there is an exception for devs in
the chromium group). Also, someone will need to create a completely new
package for the widevine binaries and, again, I think ordinary launchpad
users like me are forbidden from submitting non open-source binary-only
packages to launchpad. But once I am home from traveling I can create a
patch to the Ubuntu chromium source package and send it to any ubuntu
chromium developer who is interested.

On Mon, Dec 15, 2014, 00:05 Ekimia <email address hidden> wrote:

> @hogliux : thank you so much for your work, that is really great news !
>
> At last it seems the gap was not that hard, ridiculous that chromium
> people did not try to enable it...;
>
> this seems patchable for debian/ubuntu then
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1371274
>
> Title:
> Unable to use the widevine plugin with Chromium
>
> Status in Chromium Browser:
> Unknown
> Status in chromium-browser package in Ubuntu:
> Triaged
>
> Bug description:
> Chromium is unable to use the widevine component from google chrome :
> libwidevinecdmadapter.so and libwidevinecdm.so
>
> How to reproduce :
>
> - copy the 2 files the chrome archive in /usr/lib/chromium-browser
> - check chrome://components/
> - Widevine does not appear
>
> it seems widevine support is only activated when branding=chrome
>
> as seen in
>
>
> https://github.com/scheib/chromium/blob/master/third_
> party/widevine/cdm/widevine_cdm.gyp
>
> Widevine support would enable EME playing such as Netflix
>
> ProblemType: Bug
> DistroRelease: Ubuntu 14.04
> Package: chromium-browser 37.0.2062.94-0ubuntu0.14.04.1~pkg1042
> ProcVersionSignature: Ubuntu 3.13.0-35.62-generic 3.13.11.6
> Uname: Linux 3.13.0-35-generic x86_64
> ApportVersion: 2.14.1-0ubuntu3.3
> Architecture: amd64
> Date: Thu Sep 18 21:11:17 2014
> InstallationDate: Installed on 2013-10-02 (350 days ago)
> InstallationMedia: Ubuntu 13.10 "Saucy Salamander" - Beta amd64
> (20130925.1)
> ProcEnviron:
> LANGUAGE=fr_FR
> TERM=xterm
> PATH=(custom, no user)
> LANG=fr_FR.UTF-8
> SHELL=/bin/bash
> SourcePackage: chromium-browser
> SystemImageInfo: Error: [Errno 2] Aucun fichier ou dossier de ce type:
> 'system-image-cli'
> UpgradeStatus: Upgraded to trusty on 2014-05-31 (109 days ago)
> modified.conffile..etc.default.chromium.browser: [deleted]
> mtime.conffile..etc.chromium.browser.default: 2014-06-01T14:14:23.245932
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/chromium-browser/+bug/1371274/+subscriptions
>

Mateo Salta (mateo-salta) wrote :

I've bountied this question on Ask Ubuntu: http://askubuntu.com/questions/1488/how-can-i-use-netflix-on-ubuntu for a Chromium answer.

This is something people want, there are situations where you can't or don't wish to use Chrome.

1. You wish to use Chromium not chrome for various reasons, but activly watch Netflix - would be able to enable/disable plugin by user choice.
2. Chromium is avaible as a build for ARM - on a chromebook you could copy over the plugin and be able to watch where Chromium is the only choice.
3. Chromium could be a canidate for Ubuntu's default browser if *certain* things were worked out, and is in the Software Center, Chrome isn't in the Software Center.

So considering we have a possible soultion a patch + install option (like pepper-flash) whould be something we would want, even if chromium developers aren't persuing things like this.

For the people who stayed calm, I liked to apologize; because I feel I made the setting a bit in heat.

For those who shown impolite, the same; plus the following link: <http://tinyurl.com/7yaoc62>.

Michel-Ekimia (michel.ekimia) wrote :

Hi Anybody on the Ubuntu team work on this ?

I know this is a silly situation because this should be naturally handled by the chromium team, but it seems like they don't really care about chromium users , only the final result in the chrome build, which I'm not really surprised.

What do you think , shall we maybe do that in Oxide so this might be handled one day on Ubuntu Touch ?

The Patch is really simple, I'm just copying from the great work of hogliux (hogliux) :

1) build with the following gyp flags:
ffmpeg_branding='Chrome', proprietary_codecs=1, enable_pepper_cdms=1, enable_webrtc=1

2) Uncomment the version number and strings in src/third_party/widevine/cdm/widevine_cdm_common.h and change it to which ever binary version you have available.

3) in the same folder modify widevine_cdm.gyp. Change 'branding == "Chrome"' to 'branding == "Chromium" in line 10 and 88 (not sure if this is really necessary)

4) When compiling Chromium it will complain about a missing widevine binaries folder (can't remember where it was meant to be located). Create it and copy the binaries over from chrome. It will also complain about missing widevine_cdm_version.h and/or widevine_cdm_common.h. Just copy widevine_cdm_common.h you edited above to the location expected by the build system.

Michel-Ekimia (michel.ekimia) wrote :

Just a thought As we also need the GPU video decode for H264 for a good experience , I think We'll provide a PPA for those 2 features missing , waiting to see if the official Ubuntu build can include them.

Michel-Ekimia (michel.ekimia) wrote :

We now have a working solution ! thanks to the great work of saiarcot895 and fabian.r )

You can use this PPA

https://launchpad.net/~saiarcot895/+archive/ubuntu/chromium-beta

Extract the libwidevinecdmadapter.so and libwidevinecdm.so from the /opt/google/chrome beta 43 directory ( we will package a plugin for this later.)

And copy both files to /usr/lib/chromium-browser/

Launch chromium and you're done !

The great point is that saiarcot895 has enable VAAPI support in these chromium builds so now you can watch SUPERHD netflix on low end Intel Soc like Baytrail ( you couldn't even with chrome ....)

Please confirm it works on your side.

Jeroen (c0p3rn1c) wrote :

sudo cp /opt/google/chrome-beta/libwidevinecdm* /usr/lib/chromium-browser/

Installed your ppa, upgraded, no effect

Michel-Ekimia (michel.ekimia) wrote :

Hi jeroen,

yes I saw that few days ago with 43.0.2357.45 ? I'm investigating.

I confirmes it worked like a charm on beta PPA just before.

You confirm that widevine does not even show in your plugins list ?

Chad Miller (cmiller) wrote :

Making chromium work with an outside widevine seems straightforward enough.
I'll see if I can add it to the next chromium update.

On Tue, May 12, 2015 at 5:46 AM, Ekimia <email address hidden> wrote:

> Hi jeroen,
>
> yes I saw that few days ago with 43.0.2357.45 ? I'm investigating.
>
> I confirmes it worked like a charm on beta PPA just before.
>
> You confirm that widevine does not even show in your plugins list ?
>
> --
> You received this bug notification because you are a bug assignee.
> https://bugs.launchpad.net/bugs/1371274
>
> Title:
> Unable to use the widevine plugin with Chromium
>
> Status in Chromium Browser:
> Unknown
> Status in chromium-browser package in Ubuntu:
> Triaged
>
> Bug description:
> Chromium is unable to use the widevine component from google chrome :
> libwidevinecdmadapter.so and libwidevinecdm.so
>
> How to reproduce :
>
> - copy the 2 files the chrome archive in /usr/lib/chromium-browser
> - check chrome://components/
> - Widevine does not appear
>
> it seems widevine support is only activated when branding=chrome
>
> as seen in
>
>
>
> https://github.com/scheib/chromium/blob/master/third_party/widevine/cdm/widevine_cdm.gyp
>
> Widevine support would enable EME playing such as Netflix
>
> ProblemType: Bug
> DistroRelease: Ubuntu 14.04
> Package: chromium-browser 37.0.2062.94-0ubuntu0.14.04.1~pkg1042
> ProcVersionSignature: Ubuntu 3.13.0-35.62-generic 3.13.11.6
> Uname: Linux 3.13.0-35-generic x86_64
> ApportVersion: 2.14.1-0ubuntu3.3
> Architecture: amd64
> Date: Thu Sep 18 21:11:17 2014
> InstallationDate: Installed on 2013-10-02 (350 days ago)
> InstallationMedia: Ubuntu 13.10 "Saucy Salamander" - Beta amd64
> (20130925.1)
> ProcEnviron:
> LANGUAGE=fr_FR
> TERM=xterm
> PATH=(custom, no user)
> LANG=fr_FR.UTF-8
> SHELL=/bin/bash
> SourcePackage: chromium-browser
> SystemImageInfo: Error: [Errno 2] Aucun fichier ou dossier de ce type:
> 'system-image-cli'
> UpgradeStatus: Upgraded to trusty on 2014-05-31 (109 days ago)
> modified.conffile..etc.default.chromium.browser: [deleted]
> mtime.conffile..etc.chromium.browser.default: 2014-06-01T14:14:23.245932
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/chromium-browser/+bug/1371274/+subscriptions
>

Michel-Ekimia (michel.ekimia) wrote :

Hi chad,

Tested again with Dev branch (44.XXX) , Works great.

It would really help us if you could integrate this 'Widevine' patch ( and the VAAPI one ) into chromium Ubuntu Builds because we want to ship ubuntu laptops to our clients that can stream netflix OOTB . And we obviously don't want to ship chrome.

We currently would need to use an unofficial PPA which is not a possible solution.

I would understand that changing the 'branding' could be a blocking point.

ProfessorKaos64 (mdeguzis) wrote :

@Ekimia, do you have a deb file for testing? Or do I have to unpack the tarball and attempt `debuild -us -uc` ?

Michel-Ekimia (michel.ekimia) wrote :

Here is the two so for widevine support to be pasted in /usr/lib/chromium-browser

description: updated
description: updated
Mateo Salta (mateo-salta) wrote :

Worked for me on 15.04

Jess Telford (jess+ubuntuone) wrote :

@Ekimia / @Chad - Are the attached .so files in #33 suitable to work on an ARM system?

I am running Chromium v42.0.2311.135-1ubuntu1.1160 on armhf architecture (from here: https://launchpad.net/~canonical-chromium-builds/+archive/ubuntu/stage/+build/7387261), however I cannot get the widevine plugin to show under chrome://plugins after copying the .so files to /usr/lib/chromium-browser.

Comment #27/#28 seem to imply that v44 might be required for it to work, however v42.0.2311.135-1ubuntu1.1160 appears to be the highest version available for the armhf architecture.

Excellent work on the patching and investigating so far!

Michel-Ekimia (michel.ekimia) wrote :

@Jess : IMO those are native binary files, so we have to ask Widevine for a linux ARM binary version.

Maybe you can give a try with the widevine binairies coming from the same chromeOS ARM version but I guess they are tweaked for chromeOS.

Saikrishna Arcot (saiarcot895) wrote :

Version 44 is needed, because the stubbed Widevine implementation was committed into Chromium hours after version 43 was branched off. On version 43, nothing really gets built.

The Widevine implementation is closed-source, so nothing can be done on this side. However, using the widevine libraries in Chrome OS might work if it's compiled for the same architecture.

Jess Telford (jess+ubuntuone) wrote :

Thanks for the version clarification. I'll have to wait for an ARM build of v44 for my needs (the beta channel only has x86 & i686 versions).

As for the ARM versions of widevine libraries, I've spun that out into a question on StackOverflow: https://stackoverflow.com/questions/30732428/extract-files-from-chrome-os-chromebook-recovery-image

Saikrishna Arcot (saiarcot895) wrote :

Posted an answer. :)

The widevine files there are compiled for armhf, so these will not work on the Raspberry Pi (but might work on the Raspberry Pi 2).

Shalin (shalinp) wrote :

I installed chromium beta v44 on linux mint 17 (rebecca) as per discussions in this thread but I can't get netflix to work.

I created the following post on stackexchange with all details.

http://unix.stackexchange.com/questions/213445/chromium-v44-netflix-missing-components-error

I kindly appreciate your help.

Fink Nottle (finknottle) wrote :

I got it to work following the steps stated above. However, the screen tears in this chromium build. It doesn't on chrome. I have an nvidia card. So that might have something to do with it too, although I haven't seen tearing issues on this machine in a long time.

Fink Nottle (finknottle) wrote :

It turns out that the ppa linked above has problems with hardware acceleration. Hence the tearing.

Saikrishna Arcot (saiarcot895) wrote :

Yes, hardware acceleration isn't being activated for some reason. I hoped I found a fix yesterday, but that didn't work.

Jess Telford (jess+ubuntuone) wrote :

So I'm finally getting around to trying to use chrome's version of the widevinecdm* plugins in chromium.

Unfortunately, I am getting a redirect loop on Netflix, but I'm not sure if that's because the widevine plugins aren't working correctly or not.

I have installed v45 of both Chrome and Chromium on my 64it Ubuntu 14.04.

Then I ran:

sudo cp /opt/google/chrome/libwidevinecdm* /usr/lib/chromium-browser/

Upon pointing Chromium at netflix, and selecting a show to watch (eg; Sense8 http://www.netflix.com/watch/80025752), it drops into a redirect loop and Chromium shows me the error page.

I can successfully load and watch that same URL in Google Chrome.

Any ideas?

Jess Telford (jess+ubuntuone) wrote :

After checking out @Shalin's SO post, I tried a user agent switcher (to mimic Google Chrome) and it worked! Hurray!

Now I'm trying to find some armv7 builds of libwidevine*.so so I can get it working on my RPi2 B.

Thanks again for the epic work everyone put into this :)

Mateo Salta (mateo-salta) wrote :

If we figure something out for arm, my hopes are that this might get to the point of making an installer for the Ubuntu phone

Michel-Ekimia (michel.ekimia) wrote :

@jessTelford : actually you don't need to copy the widevine binaries anymore ( since one or 2 months) , chromium load them directly from the chrome directory ( you can check the path in about:plugins ) . You area absolutely right about the user agent , shame on Netflix ! I contact them right away

@Mateo : I already saw netflix on Ubuntu Touch on an x86 tablet but before that can we make it work on 'Ubuntu browser' ? we'll need to change the user agent and load the widevine , how ?

Mateo Salta (mateo-salta) wrote :

That demo was just using chrome on xmir.

But you can change user agents for webapps - http://askubuntu.com/questions/578455/how-can-i-set-the-user-agent-in-a-webapp so It could work if we get the same changes into the Ubuntu broswer oxide which is based on chromium, so I imagine it could be added somehow...

Michel-Ekimia (michel.ekimia) wrote :

Good news, I'm in active discussion with someone at netflix to change their UserAgent detection and threat chromium as chrome and thus kill the REDIRECT bug , almost there !

Mateo Salta (mateo-salta) wrote :

nice, then we should get a package that is a add-on for chromimum( like pepper flash) in the software center - that downloads chrome and copies the plugin over.

Michel-Ekimia (michel.ekimia) wrote :

My company (EKIMIA) just signed an agreement with google to redistribute widevine binaries, so we pay be able to create a package without the need to download chrome like for pepperflash

Mateo Salta (mateo-salta) wrote :

also this is happening(convergence in action), I think is would be quite important to have netflix out of box on the convergence devices: https://plus.google.com/+ReinerKlenk/posts/5Jwzahxjxsw

Jess Telford (jess+ubuntuone) wrote :

@Ekimia that's awesome news.

Do you have a plan to distribute the package for the RaspberryPi 2 (armhf)? Once that's supported, it's the last piece in being able to setup a home theatre with OSMC/Kodi/XBMC that has native Netflix support :D

Olivier DOSSMANN (odossmann) wrote :

Hi all,

Can someone be clear about how to make it possible for RaspberryPi 2 (armhf) on how to proceed for chromium to work with widevine?

I use Ubuntu 14.04 on RPi 2, with chromium-browser 47 and don't know which exact file to download to extract .so files.

I don't know how to see that widevine components are loaded and which exact User-Agent I need to be safe with Netflix.

Any idea?

I thank you in advance for all kind of help about that,

Olivier.

Michel-Ekimia (michel.ekimia) wrote :

@Olivier : I would say you need to get both files fro chromeOS ARM ( i could get them if you need) , the same version as your chromium

And spoof UA with Chrome, by just removing the chromium part.

Olivier DOSSMANN (odossmann) wrote :

Why not ;).

But I would prefer to know how to find the right chromeOS ARM ".bin" file to extract the widevine files. So that next time I upgrade the chromium I can get the right files. I tried 2 time. But it doesn't give any result on RaspberryPi 2 (arm).

I also find "User Agent Switcher", but I get an error on Netflix (because it doesn't find widevine).

Claude Libois (thetrueavatar) wrote :

@Ekimia
I would be definitively interested by having these 2 libraries for my raspbery pi ^^. I wonder however if it's worth trying this because my chromium was already so slow on my raspberian...

Claude Libois (thetrueavatar) wrote :

BTW is there any arm build available for this branch or a quick explanation on how to build it myself ?

Claude Libois (thetrueavatar) wrote :

Hum found a working(on raspberian) arm 45 version here http://conoroneill.net/running-the-latest-chromium-45-on-debian-jessie-on-your-raspberry-pi-2/
I found some chromeos image(directly from google https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_6812.88.0_daisy-skate_recovery_stable-channel_skate-mp.bin.zip) but not sure if it's really an arm build tough.
Anyway the plugin is recognized by chromium(enable in chrome://plugins) but crash when I try to launch a netflix video.

Jess Telford (jess+ubuntuone) wrote :

@thetrueavatar,

I have tried similar things (with the chromeos recovery images), but had no luck either.

I have documented my attempts here: https://gist.github.com/jesstelford/eded5fe8c2611f332648#playing-netflix-in-chromium

Please do let me know if you get one of them working!

Claude Libois (thetrueavatar) wrote :

What would be intersting is to have some logging info for the widevine plugin. I have enable logging on chromium with parameter found here https://www.chromium.org/for-testers/enable-logging but had no really interested information. I'm trying to find if there is any log file possibility for the widevine plugin. I have read somewhere that we should use the same version chromium as the one from the chrome in the image. I don't know however wich version of chrome is provided in the image.

Claude Libois (thetrueavatar) wrote :

Yes got it to work!!!!
Just use lib from https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_7077.134.0_daisy-skate_recovery_stable-channel_skate-mp.bin.zip
I had to specify the chromeOS user agent with agent-switcher:
Mozilla/5.0 (X11; CrOS armv7l 6946.63.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2357.130 Safari/537.36
Then eveything works perfectly !!!

Claude Libois (thetrueavatar) wrote :

Well as expected rendering is choppy. Need to find a chromium version with gpu acceleration enabled and working on pi. Then I will try to install chromium to be used directly from kodi.

Mateo Salta (mateo-salta) wrote :

also see if there is a low latency kernel - this might help if it is getting prempeted, improved one of my netbooks playback

Claude Libois (thetrueavatar) wrote :

There is a possibility with webgl to acceleration decoding on pi2. This requires to build and update the kernel:
http://dri.freedesktop.org/wiki/VC4/
I will first try to test the raspian build provided before diving into the kernel build's hell.
BTW do not try to test if with a VNC server as it doesn't work...

@Claude: Any updates here? I would love to see a raspian chromium build with webgl acceleleration and shipped widevine plugins....

Thanks for your efforts!

Claude Libois (thetrueavatar) wrote :

Well I have downloaded the raspbian build with the drivers installed. Has to install chromium version 47, change user-agent to arm chromeos, took widevine from the chromeos recovery image provided by google as already explained.
I get netflix playing, chromium indicate there is a gpu acceleration but cpu still high and render is not yet smooth. Did post a question on rasperry forum and try to get in touch with someone who could help me with no luck. Also, as I have to use my tv to get gpu decoding(doesn't work with vnc as it's based on opengl) which means I can't do it while my wife is watching TV....

tags: added: needs-packaging
Changed in debian:
status: Unknown → New
no longer affects: debian
tags: removed: eme needs-packaging netflix widevine
Claude Libois (thetrueavatar) wrote :

Just some news to inform you that mesa drivers have been included in the official raspian dist since 09-02-2016:
https://www.raspberrypi.org/blog/another-new-raspbian-release/
Warning: You have to enable it through rasp-config(advanced settings->gl options) and then reboot.
I'have test it on chromium 47+libwine+user agent switcher +chrome://flag and chrome://plugins correctly setbut found rendering still choppy and cpu high(80-90) while in chrome://gpu everything except rasterization is on "Hardware accelerated".
I should test with the messa drivers to see if webgl is correctly working...

Claude Libois (thetrueavatar) wrote :

I have posted a message on the raspbian forum about webgl and netflix+chromium.
They say that h264 decoding using webgl is not feasible with netflix because of the drm used:
https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=139939&p=927818#p927818
If that's true this is really bad news because playback is a complete mess due to cpu limitation.
Maybe that the raspberry pi 3 has the power to do the decoding only with the cpu....

Russ (rdragonrydr) wrote :

I believe this bug is affecting me too. If it has not yet been patched in Ubuntu sources, please do so since Chrome is not available on all the architectures I use, but Chromium is. If we could get a patched Chromium that is CAPABLE of using Widevine, I would be much happier.

Mikaela Suomalainen (mikaela) wrote :

> hrome is not available on all the architectures I use, but Chromium is. If we could get a patched Chromium that is CAPABLE of using Widevine, I would be much happier.

I believe that the Widevine plugin from Chrome won't work on Chromium on architecture that Chrome doesn't support as the AUR PKGBUILD on Arch side has this case. https://aur.archlinux.org/packages/chromium-widevine

Russ (rdragonrydr) wrote :

I use armv7 and x86_64, so in my case, I can probably get the widevine files I need. That's what I meant. Will this get fixed? There's a post earlier aobut a patch to Chromium revision 1083, but I don't know if this means that the patch will make it out to us or not.

If I install the PPA version over a Chromium that has widevine installed in usr/lib/chromium, does it need to be re-installed? My Chromium came with Widevine files installed(!), but will not play Netflix. Does that mean that it should work, or just that it somehow got included, anyway?

Saikrishna Arcot (saiarcot895) wrote :

I know you can get the Widevine files for x86_64, but I don't think you can get it for armv7 (unless you extract it from the ChromeOS recovery image).

My PPA version shouldn't have the widevine files installed. If it does by some chance, then it'll only be stub files that will do nothing.

Russ (rdragonrydr) wrote :

I was aware of that part, but I am unsure of the behavior when I install it over a Chromium already on the system. Since my Chromium has some sort of widevine files (although I guess they could be stubs too, as they were pre-installed with the package somehow), does it delete them, or use them since they are already present? It didn't work when I upgraded, so does that mean that it didn't use the ones I had or that mine are broken (I did not yet download and install the files, relying on the ones I had so far)?

Saikrishna Arcot (saiarcot895) wrote :

If it was installed as part of the package, then removing the package will remove the files. Updating the package will also remove the files (if the new package has a file with the same name, then it will replace the file).

Russ (rdragonrydr) wrote :

Ah, thanks. That answers my question. I will try the new Widevine now. Has/will this be patched to the mainline version at some point, or does the trusty-working chromium branch (if that's the right word) not get implemented anywhere?

Kostadin Stoilov (kmstoilov) wrote :

With the latest chromium build 52.0.2743.116-0ubuntu0.16.04.1.1250 in xenial, the plugin files from Chrome no longer work. I see that this was intentional in the changelog. Is there any chance we will see widevine support again or is it gone for good. What is the reason for this change?

Thanks.

Michel-Ekimia (michel.ekimia) wrote :

With Firefox automatically supporting widevine tu is a second class issue
now

Le 23 sept. 2016 7:41 PM, "Kostadin Stoilov" <email address hidden> a écrit :

> With the latest chromium build 52.0.2743.116-0ubuntu0.16.04.1.1250 in
> xenial, the plugin files from Chrome no longer work. I see that this was
> intentional in the changelog. Is there any chance we will see widevine
> support again or is it gone for good. What is the reason for this
> change?
>
> Thanks.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1371274
>
> Title:
> Unable to use the widevine plugin with Chromium
>
> Status in Chromium Browser:
> Unknown
> Status in chromium-browser package in Ubuntu:
> Triaged
>
> Bug description:
> Chromium is unable to use the widevine component from google chrome :
> libwidevinecdmadapter.so and libwidevinecdm.so
>
> How to reproduce :
>
> - copy the 2 files the chrome archive in /usr/lib/chromium-browser
> - check chrome://components/
> - Widevine does not appear
>
> Solution :
>
> With the help from several people (hogliux for patch and saiarcot895
> for PPA) , a PPA is available with this feature :
>
> - https://launchpad.net/~saiarcot895/+archive/ubuntu/chromium-dev
>
> - You need the binary widevine plugin plugin (2 files) :
>
> https://bugs.launchpad.net/ubuntu/+source/chromium-
> browser/+bug/1371274/+attachment/4397708/+files/
> WidevineLinuxForChromium44.tar.gz
>
> To be copied in /usr/lib/chromium
>
> - Launch netflix.com and see if it works.
>
> ProblemType: Bug
> DistroRelease: Ubuntu 14.04
> Package: chromium-browser 37.0.2062.94-0ubuntu0.14.04.1~pkg1042
> ProcVersionSignature: Ubuntu 3.13.0-35.62-generic 3.13.11.6
> Uname: Linux 3.13.0-35-generic x86_64
> ApportVersion: 2.14.1-0ubuntu3.3
> Architecture: amd64
> Date: Thu Sep 18 21:11:17 2014
> InstallationDate: Installed on 2013-10-02 (350 days ago)
> InstallationMedia: Ubuntu 13.10 "Saucy Salamander" - Beta amd64
> (20130925.1)
> ProcEnviron:
> LANGUAGE=fr_FR
> TERM=xterm
> PATH=(custom, no user)
> LANG=fr_FR.UTF-8
> SHELL=/bin/bash
> SourcePackage: chromium-browser
> SystemImageInfo: Error: [Errno 2] Aucun fichier ou dossier de ce type:
> 'system-image-cli'
> UpgradeStatus: Upgraded to trusty on 2014-05-31 (109 days ago)
> modified.conffile..etc.default.chromium.browser: [deleted]
> mtime.conffile..etc.chromium.browser.default: 2014-06-01T14:14:23.245932
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/chromium-browser/+bug/1371274/+subscriptions
>

Chad Miller (cmiller) on 2016-09-28
Changed in chromium-browser (Ubuntu):
status: Triaged → Fix Committed
Kostadin Stoilov (kmstoilov) wrote :

Is support for widevine meant to be re-enabled with the latest build (53.0.2785.143-0ubuntu0.16.04.1.1254)? If so I'm just reporting that it is still broken. DRM-enabled video playback doesn't work. I can see the widevine module in chrome://components, but it's missing in chrome://plugins.

For me personally this feature is still important as http://hbogo.bg/ does not work with Firefox even with the user agent workaround. For whatever reason they insist you need Silverlight.

Chad Miller (cmiller) wrote :

Kostadin, no, I don't expect it to work in current v53. It should work in
the next release. I hope to have it out within a week.

On Tue, Oct 11, 2016 at 3:39 PM, Kostadin Stoilov <email address hidden>
wrote:

> Is support for widevine meant to be re-enabled with the latest build
> (53.0.2785.143-0ubuntu0.16.04.1.1254)? If so I'm just reporting that it
> is still broken. DRM-enabled video playback doesn't work. I can see the
> widevine module in chrome://components, but it's missing in
> chrome://plugins.
>
> For me personally this feature is still important as http://hbogo.bg/
> does not work with Firefox even with the user agent workaround. For
> whatever reason they insist you need Silverlight.
>
> --
> You received this bug notification because you are a bug assignee.
> https://bugs.launchpad.net/bugs/1371274
>
> Title:
> Unable to use the widevine plugin with Chromium
>
> Status in Chromium Browser:
> Unknown
> Status in chromium-browser package in Ubuntu:
> Fix Committed
>
> Bug description:
> Chromium is unable to use the widevine component from google chrome :
> libwidevinecdmadapter.so and libwidevinecdm.so
>
> How to reproduce :
>
> - copy the 2 files the chrome archive in /usr/lib/chromium-browser
> - check chrome://components/
> - Widevine does not appear
>
> Solution :
>
> With the help from several people (hogliux for patch and saiarcot895
> for PPA) , a PPA is available with this feature :
>
> - https://launchpad.net/~saiarcot895/+archive/ubuntu/chromium-dev
>
> - You need the binary widevine plugin plugin (2 files) :
>
> https://bugs.launchpad.net/ubuntu/+source/chromium-
> browser/+bug/1371274/+attachment/4397708/+files/
> WidevineLinuxForChromium44.tar.gz
>
> To be copied in /usr/lib/chromium
>
> - Launch netflix.com and see if it works.
>
> ProblemType: Bug
> DistroRelease: Ubuntu 14.04
> Package: chromium-browser 37.0.2062.94-0ubuntu0.14.04.1~pkg1042
> ProcVersionSignature: Ubuntu 3.13.0-35.62-generic 3.13.11.6
> Uname: Linux 3.13.0-35-generic x86_64
> ApportVersion: 2.14.1-0ubuntu3.3
> Architecture: amd64
> Date: Thu Sep 18 21:11:17 2014
> InstallationDate: Installed on 2013-10-02 (350 days ago)
> InstallationMedia: Ubuntu 13.10 "Saucy Salamander" - Beta amd64
> (20130925.1)
> ProcEnviron:
> LANGUAGE=fr_FR
> TERM=xterm
> PATH=(custom, no user)
> LANG=fr_FR.UTF-8
> SHELL=/bin/bash
> SourcePackage: chromium-browser
> SystemImageInfo: Error: [Errno 2] Aucun fichier ou dossier de ce type:
> 'system-image-cli'
> UpgradeStatus: Upgraded to trusty on 2014-05-31 (109 days ago)
> modified.conffile..etc.default.chromium.browser: [deleted]
> mtime.conffile..etc.chromium.browser.default: 2014-06-01T14:14:23.245932
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/chromium-browser/+bug/1371274/+subscriptions
>

Richard Audette (raudette) wrote :

I am unable to use either Netflix or Widevine test videos (https://demo.castlabs.com/ - some are flagged with DRM) using armhf 63.0.3239.84-0ubuntu0.16.04.1 (armhf)

I am using armhf widevine libraries pulled from a Chromium build 56 ( https://github.com/kusti8/chromium-build/releases/download/netflix-1.0.0/chromium-browser_56.0.2924.84-0ubuntu0.14.04.1.1011.deb ) that is working on a Rasberry Pi.

Olivier Tilloy (osomon) wrote :

chromium builds don't include widevine, only chrome does.
There may be a stub libwidevinecdm.so along with a chromium build, but it won't serve to actually decode DRM-encoded content.
AFAIK armhf is not supported by upstream chrome.

Richard Audette (raudette) wrote :

I am using this PPA's Chromium-dev build (armhf, 63.0.3239.84-0ubuntu0.16.04.1)

And I am using the armhf libwidevine libraries that are working with Netflix on a Pi 3 (which I took from https://github.com/kusti8/chromium-build/releases/download/netflix-1.0.0/chromium-browser_56.0.2924.84-0ubuntu0.14.04.1.1011.deb ) - I believe these were probably taken from an ARM Chromebook image.

So, I know it's possible to get Netflix working on armhf - but I'm using a different board (this time, an ODroid XU4).

It's not critical - I'm just tinkering, and I've gone as far as I can go.

Olivier Tilloy (osomon) wrote :

Which PPA is that exactly? Can't you use the regular ubuntu packages from the archive?

It puzzles me that this should work at all. Chromium packages (as opposed to Chrome) never ship widevine binaries, they can't for legal reasons. So I don't see how that script that generates a package from chromium (not *chrome*) might possibly include working widevine binaries.

I guess you would need to get your hands on an actual chromebook to extract the binaries from there, but that's pure speculation as I don't have such hardware.

Richard Audette (raudette) wrote :

https://github.com/kusti8/chromium-build/releases/download/netflix-1.0.0/chromium-browser_56.0.2924.84-0ubuntu0.14.04.1.1011.deb is a not-official build, which works with Raspbian, where someone has bundled the widevine libraries, presumably pulled from a Chromebook. On the Pi, it will run Netflix. This is where I have found the armhf widevine libraries.

On another system (the Odroid XU4, armhf) I am running Ubuntu, with Chromium 63.0.3239.84-0ubuntu0.16.04.1, from this PPA: https://launchpad.net/~saiarcot895/+archive/ubuntu/chromium-dev , as the top of this thread suggested the Widevine libraries would be supported if copied to the appropriate folder.

Using the armhf widevine libraries that I have taken from the Pi which is working with Netflix, and copied into /usr/lib/chromium-browser of 63.0.3239.84-0ubuntu0.16.04.1 , I have been not been able to get Netflix to work.

Saikrishna Arcot (saiarcot895) wrote :

armhf is not building in my PPAs, so I can't test whether it's working in my setup on that version.

Olivier Tilloy (osomon) wrote :

No need for Saikrishna's PPA for that, the patches to have external widevine libs located have been integrated in the official Ubuntu packages, starting at version 63.0.3239.84.

A wild guess is that maybe the version of the widevine libs you have is too old and thus incompatible with that version of chromium?

Richard Audette (raudette) wrote :

Good idea - I'll try an older version and report back.

Richard Audette (raudette) wrote :

No luck - I'll keep following developments in this space.

chovy (anchovy) wrote :

Does netflix still not work with chromium yet on ubuntu 18.04?

Olivier Tilloy (osomon) wrote :

It does, but you will likely need to spoof the UA string (and get the widevine CDM lib from the official chrome package).

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.