Bug 26042 - support for widevine plugin to chromium (non-free DRM used by netflix, amazon video and others) needs update
Summary: support for widevine plugin to chromium (non-free DRM used by netflix, amazon...
Status: NEW
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 7
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Christiaan Welvaart
QA Contact:
URL: https://aur.archlinux.org/packages/ch...
Whiteboard:
Keywords: IN_ERRATA7
Depends on: 23558 24835
Blocks:
  Show dependency treegraph
 
Reported: 2020-01-09 12:40 CET by Christian Lohmaier
Modified: 2021-07-06 13:17 CEST (History)
9 users (show)

See Also:
Source RPM: chromium-browser-stable-78.0.3904.108-1.mga7.src.rpm
CVE:
Status comment:


Attachments

Description Christian Lohmaier 2020-01-09 12:40:26 CET
+++ This bug was initially created as a clone of Bug #24835 +++

+++ This bug was initially created as a clone of Bug #17449 +++

Description of problem:
chromium browser doesn't come with the widevine content decryption module that's necessary to play back video from streaming services like amazon video or netflix.

Current version of chromium once again changed how the support for it is defined at compile time and hence widevine support broke again with 78.x

( see also https://git.archlinux.org/svntogit/packages.git/tree/trunk/chromium-widevine.patch?h=packages/chromium )

So now setting 

 BUNDLE_WIDEVINE_CDM=true

in third_party/widevine/cdm/BUILD.gn is all that should be needed/changing chrome/common/chrome_content_client.cc is no longer necessary.
Comment 1 Christian Lohmaier 2020-01-09 12:45:57 CET
Testing/verification instructions:

$ wget https://dl.google.com/widevine-cdm/4.10.1582.2-linux-x64.zip
$ unzip 4.10.1440.18-linux-x64.zip
$ chmod a+r libwidevinecdm.so
$ su
# cp libwidevinecdm.so /usr/lib64/chromium-browser/

(see https://dl.google.com/widevine-cdm/versions.txt for available versions)

visit https://demo.castlabs.com/  - try to play the Big Buck Bunny video that has the DRM tag listed.
visit https://bitmovin.com/demos/drm - it should list widevine as supported EME (encrypted media extension)
Comment 2 Lewis Smith 2020-01-09 21:14:50 CET
Thanks for the report.
Assigning to cjw as registered & active maintainer of this.

Source RPM: chromium-browser-stable => chromium-browser-stable-78.0.3904.108-1.mga7.src.rpm
Assignee: bugsquad => cjw

Comment 3 Christiaan Welvaart 2020-01-12 19:09:56 CET
For M79 the following directory structure is needed:
$ find /usr/lib64/chromium-browser/WidevineCdm
/usr/lib64/chromium-browser/WidevineCdm
/usr/lib64/chromium-browser/WidevineCdm/LICENSE
/usr/lib64/chromium-browser/WidevineCdm/manifest.json
/usr/lib64/chromium-browser/WidevineCdm/_platform_specific
/usr/lib64/chromium-browser/WidevineCdm/_platform_specific/linux_x64
/usr/lib64/chromium-browser/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so

I'm not sure about M78 - it may indeed be broken - but the mga7 package needs to be updated to M79 or M80 anyway.
Comment 4 Christian Lohmaier 2020-01-14 18:19:42 CET
Oh, indeed for 78 it is not broken, but rather due to the change in directory layout. Moving the lib to /usr/lib64/chromium-browser/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so works - thanks for the hint and sorry for the noise (but new patch is simpler, so won't hurt in any case :-))
Comment 5 Keith Bowes 2020-01-23 01:37:55 CET
I've been using Chromium 77 (the magic of `dnf downgrade`) since Chromium 78 broke my ability to watch Amazon Prime videos, but I've re-updated to Chromium 78 and changed to the new directory layout.  Well, in Chromium 78, the bitmovin.com example does detect Widevine now, but the video won't play, instead giving me the error:
Unable to instantiate a key system supporting the required combinations
(DRM_NO_KEY_SYSTEM)

That seems pretty broken to me.  Anyway, moving to Chromium 80 would be nice as they finally implemented xdg_shell stable in that version <https://chromium-review.googlesource.com/c/chromium/src/+/1939493>.

CC: (none) => zooplah

Comment 6 Christian Lohmaier 2020-01-25 13:07:15 CET
Works for me on mga7 with chromium-browser-stable-78.0.3904.108-1.mga7 and the windevine library from 4.10.1582.2-linux-x64.zip as well as 4.10.1440.19-linux-x64.zip - explicitly also tried with amazon prime video - no problem.
Comment 7 Christian Lohmaier 2020-02-10 17:25:19 CET
broken with chromium-browser-79.0.3945.130-1.mga7 :-(
Comment 8 Christian Lohmaier 2020-03-09 23:46:15 CET
Or maybe that was just another slight change in setup requirements.
wfm with chromium-browser-80.0.3987.122-1.mga7 - but it requires the manifest.json to be copied as well, to end up with:

/usr/lib64/chromium-browser/WidevineCdm/manifest.json
/usr/lib64/chromium-browser/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so

(make sure to make both world-readable)
Comment 9 katnatek 2020-03-16 22:07:47 CET
(In reply to Christian Lohmaier from comment #8)
Not works for me on i586
find /usr/lib/chromium-browser/WidevineCdm
/usr/lib/chromium-browser/WidevineCdm
/usr/lib/chromium-browser/WidevineCdm/manifest.json
/usr/lib/chromium-browser/WidevineCdm/LICENSE
/usr/lib/chromium-browser/WidevineCdm/_platform_specific
/usr/lib/chromium-browser/WidevineCdm/_platform_specific/linux-x86
/usr/lib/chromium-browser/WidevineCdm/_platform_specific/linux-x86/libwidevinecdm.so

Not sure why if reload the https://demo.castlabs.com/ page and try to select again the drm video i can see by seconds a big X

in chrome://components 

Widevine Content Decryption Module - Versión: 0.0.0.0
Estado - Componente no actualizado
Verificar actualización

I can see a empty folder .config/chromium/WidevineCdm 
But .config/chromium/TLSDeprecationConfig first is empty and latter have this

TLSDeprecationConfig
TLSDeprecationConfig/3
TLSDeprecationConfig/3/tls_deprecation_config.pb
TLSDeprecationConfig/3/manifest.json
TLSDeprecationConfig/3/_metadata
TLSDeprecationConfig/3/_metadata/verified_contents.json
TLSDeprecationConfig/3/manifest.fingerprint

This no matter if you hace or not widevine in chromium-browser/WidevineCdm

So its failing to get or initialze the component
Comment 10 Christian Lohmaier 2020-03-17 15:29:25 CET
not sure whether your path is correct. it is linux_x64 with understocre, but yours is using linux-x86 with a dash? (and is it x86)? 

Also you didn't write what version of the widevine library you tried and you didn't explicitly wrote that the files have global read-permissions.

just FYI: chrome://components lists the version for me, not just 0.0.0.0, but 4.10.15822.2
Comment 11 katnatek 2020-03-17 20:28:21 CET
(In reply to Christian Lohmaier from comment #10)
> not sure whether your path is correct. it is linux_x64 with understocre, but
> yours is using linux-x86 with a dash? (and is it x86)? 
> 
That was the mistake, must be linux_x86, sorry and thanks

> Also you didn't write what version of the widevine library you tried and you
> didn't explicitly wrote that the files have global read-permissions.
> 

Yes i check that first ;)

> just FYI: chrome://components lists the version for me, not just 0.0.0.0,
> but 4.10.15822.2

The same version here, it appears now, For some reason on a clean profile the DRM video don't load in the first run but closing and reopening chromium make it works

Thank you again for the help
Comment 12 Aurelien Oudelet 2021-07-06 13:17:06 CEST
Mageia 7 is EOL since July 1st 2021.
There will not have any further bugfix for this release.

You are encouraged to upgrade to Mageia 8 as soon as possible.

@reporter, if this bug still apply with Mageia 8, please let us know it.

@packager, if you work on the Mageia 7 version of your package, please check the Mageia 8 package if issue is also present. In this case, please fix the Mageia 8 version instead.

This bug report will be closed OLD if there is no further notice within 1st September 2021.

Note You need to log in before you can comment on or make changes to this bug.