Widevine DRM content not playing after december update

This has been discussed quite a bit on the Pi GitHub and forums. RBP3 supports 64-bit worlds but it’s not desirable to create two separate worlds. Interfacing to the GPU is not trivial either. I do believe you can boot aarch64 mode, but it is quite limiting.

The Vero 4K is quite different. As it’s based on Debian upstream, everything was supposedly all there. But I found a few problems in userland (Cortex A53 quirks that had been discovered after Debian Jessie was built) in very early 2017.

We would have also lost binary compatibility (i.e. no Netflix too). Some plugins also don’t built Aarch64 binaries.

We coul do a complete 64-bit kernel, 64-bit userland now. Even the APT userland infra is there as the kernel is considered an aarch64 package. But there is no benefit of this. Benchmarks aren’t really showing any improvements for our use case.

Sam

But there is no benefit of this. Benchmarks aren’t really showing any improvements for our use case.

Wow, I expected at least some marginal performance gain with a complete 64 bit config…but nothing? :flushed:

I’m using the Sky Go (Germany) addon on Kodi 17.6.

I can’t test it right now but from what I have seen in the source code of InputstreamHelper, the architecture must be in this list (~/.kodi/addons/script.module.inputstreamhelper/lib/config.py:28):

WIDEVINE_SUPPORTED_ARCHS = [
    'x86_64',
    'x86',
    'armv7',
    'armv8',
    'aarch64',
    'aarch64_be'
]

(If the architecture starts with ‘armv’, the last character is ignored, so e.g. armv7l would be fine).

If I’m not mistaken, the InputstreamHelper addon was introduced in Kodi 17.6 to automatically install Widevine libraries when needed instead of letting the user install them by hand.
(At the moment, users still have to change a library by hand due to this issue: libwidevinecdm now depends on nss/nspr · Issue #8 · emilsvennesson/script.module.inputstreamhelper · GitHub)

I’m not sure if the addon was installed by default or as a dependency of the Sky Go addon.

Ways I see to solve this issue:

  1. Correctly report the architecture as ‘armv7l’.

  2. Remove the InputstreamHelper addon as suggested by @martinrevert.

  3. Keep reporting the architecture as ‘arm’ and add it to the config.py of the InputstreamHelper. This is equivalent to my workaround in post #1. You mustn’t do that on a Raspberry Pi 1 though, as Widevine doesn’t work there.

You might see a little bit of an improvement for specific workloads, but it’s very minor, and probably not beneficial for us at all.

This is the best way then.

Sam

would this patch work with vero 4k, too? (and how exactly is this patch “applied”? - i have tried to edit the file manually but it didn’t work…)

i’m using sky go and have a widevine drm problem…

This has already been resolved for Vero 4K I believe

hmm not for me :frowning:
i’ll try to reproduce the error tonight and will post my log!
maybe it’s a totally different problem…
i’m just a user :wink:

cheers

Yes, it is.
Netflix, Amazon and SkyGo are running after editing inputstreamhelper.py as described above. Erase the content of cdm folder, install Amazon-Add-on and the dialogue to download the libraries appears.

Running on Kodi 18 newest build on a Vero 4K

hmm, which “cdm” folder? and how is the patch “applied”?

anyway. this is my error on kodi.log: 19:25:21.558 T:3387945728 DEBUG: [script.module.inputstreamhelper-0.2.4]: Plat - Pastebin.com

I edited it with WinSCP. Delet the lines with a “-”; add the lines with a “+”.

Okay, seems this worked, but now i get another message:
“Widevine CDM is required…”
if i try to install it tells me that i need to download a chrome os recovery with 2 gigs?

btw: where to i get the Amazon-Add-On from? and where did you the SkyGo addon from?

That’s correct! But not with raspi at the moment, only vero 4k.

what is correct? should i really download the hole recovery img?

Nope, because for Rpb2/3 there’s no solution for it at the moment, if u’ve got a vero u can download it.

i do have a vero 4k (just found this thread in the raspberry section - sorry…)
i’ll try with the recovery img. will report later!

still no luck :frowning: - i don’t get the widevine installation popup anymore, but i can’t play anything:
22:10:19.232 T:3864920832 ERROR: AddOnLog: InputStream Adaptive: Unable to load widevine shared library (/home/osmc/.kodi/cdm/libwidevinecdm.so) 22:10:19.232 T:3864920832 ERROR: AddOnLog: InputStream Adaptive: OpenDRMSystem failed

should i open a new thread? this is not really raspberry related…

yep, would be better!

So you installed the library with the inputstreamhelper? Are you able to check if it’s in:

?

the library was not installed with the inpustreamhelper.
i installed SkyGo (from kodi nerds rep), inpustreamhelper was installed then (i think).
when i tried to run a stream from within the addon i got the error “Widevine CDM is required…”.
then i downloaded and installed chrome os recovery (installation was done by system, not manually), now i have a file in /home/osmc/.kodi/cdm/libwidevinecdm.so

Hi Sam,

Unfortunately I can not see this being resolved in current Leia 18 OSMC builds for Vero 4K!

I just today upgraded via MyOSMC to 17.8-169 and when opening the Amazon VOD plugin (latest release 0.4.8 from GitHub - Sandmann79/xbmc: Amazon Instant Video Addon for Kodi Media Center) the inputstreamhelper popup “widevine drm library missing for this architecture” occurred with no download button available.
After applying the patch from the OP onto ~/.kodi/addons/script.module.inputstreamhelper/lib/inputstreamhelper.py the download button appeared and after installation the Amazon VOD streams are working again.

Btw, I already am on Leia quite some time via [TESTING] Kodi 18 (Leia) builds for Vero 2 & 4K.