Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suggestion/discussion: grabbing armv7h widevine from Raspbian pool #428

Open
dobo90 opened this issue Mar 19, 2021 · 10 comments
Open

Suggestion/discussion: grabbing armv7h widevine from Raspbian pool #428

dobo90 opened this issue Mar 19, 2021 · 10 comments
Labels
arm Related to ARM architecture enhancement widevine Related to Widevine DRM

Comments

@dobo90
Copy link

dobo90 commented Mar 19, 2021

Since a few days 1 it is possible to download an armv7h libwidevine shared library from Raspbian's repository 2. Maybe we should consider switching the download source of arm binary to this (instead of ChromeOS rootfs).

Writing this in case someone missed that news.

@dagwieers
Copy link
Collaborator

The current download from dl.google.com no longer works, and we can use api.google.com to get libwidevinecdm. So we need to rewrite the whole mechanism anyway.

Unfortunately today the mechanism using api.google.com does not support ARM downloads (yet). We expect as soon as LaCrOS (split between ChromeOS and Chrome) is implemented, the ARM libwidevinecdm will be available through api.google.com too.

So I think that the best approach here is:

  • Reimplement using api.google.com
  • Keep the CromeOS download until LaCrOS is real

@dagwieers dagwieers added arm Related to ARM architecture enhancement widevine Related to Widevine DRM labels Mar 19, 2021
@pejobo
Copy link

pejobo commented Mar 19, 2021

Switching to grab the lib from archive.raspberrypi.org would really be great. It is a download much much smaller and a relative simple and fast extraction command

 tar -xf widevine_4.10.1679.0.orig.tar.xz --transform='s/.*\///' --no-anchored 'libwidevinecdm.so'

@dagwieers
Copy link
Collaborator

I hear you, and of course we would prefer this. But at this time it is not clear whether this is a licensed redistribution.

The archive does not include a license or an EULA, which is surprising but also suspicious. Until the legal status has been cleared I think we should stay clear.

@pejobo
Copy link

pejobo commented Mar 20, 2021

I assumed it should be licensed according to the DFSG, since it's sitting in the normal package source. But you are right, waiting until things are more clear is certainly better.

@horstle
Copy link
Collaborator

horstle commented Mar 20, 2021

I think once the licensing is clear, we should use it. Who knows how long it'll take until Lacros is ready and if we'll actually be able to get the ARM lib from a smaller package then. I have some code for using this, but what's not working yet are automatic updates, since I didn't implement anything to detect the change in versioning yet (from the much higher Chrome OS version number to Widevine version number). That's something we'll definitely have to think about even if we wait for Lacros.

@pejobo
Copy link

pejobo commented Mar 20, 2021

There is an Arch AUR package which uses the Raspberry OS package (and installs the EULA from google, too).

@dagwieers
Copy link
Collaborator

I would like to learn where distributions get the library from themselves and how they track new releases.

The api.google.com implementation does not (yet) offer the ARM version. I monitor it on a daily basis now.

In any case, we need to rewrite the normal dl.google.com implementation for win/linux/macos, but keep it for linux/x86 (as this is also not offered by api.google.com) 😕

@pejobo
Copy link

pejobo commented Mar 20, 2021

You can check on pkgs.org.
No idea how they become aware of new releases.

@dagwieers
Copy link
Collaborator

There is some news out. https://dl.google.com/widevine-cdm/versions.txt is now offering newer Widevine releases (they have been suspended for some time) in line again with api.google.com. But since now we also have macOS ARM64 Widevine releases. This requires changes to ISH in order to support this.

Still no linux/arm library though.

We probably do not need to show the EULA either if these releases can ship with distributions as packages. Something to reconsider as well.

@dagwieers
Copy link
Collaborator

dagwieers commented May 31, 2021

We still do not know whether the Raspbian redistribution of the Widevine CDM is legally allowed (or whether they have negotiated this right). We do know that they get their Widevine CDM also from the ChromeOS image, so the binaries will be identical going forward. But for this reason we cannot use it.

With the release of the newer Widevine version, and the expected revocation of the older Widevine CDM, I was hoping the ARM32 Linux Widevine CDM would be available as a separate download, alas. This is still not the case, neither through dl.google.com, nor api.google.com. We probably have to wait for LaCrOS to happen for real.

$ ./widevineapi.py 
Chrome Version: 91.0.4472.77
** linux-x64-4.10.2209.0 → found
** mac-x64-4.10.2198.0 → found
** mac-arm64-4.10.2198.0 → found
** win-x86-4.10.2209.0 → found
** win-x64-4.10.2209.0 → found

$ ./widevinedl.py 
** https://dl.google.com/widevine-cdm/4.10.1582.2-linux-ia32.zip → 200
** https://dl.google.com/widevine-cdm/4.10.2209.1-linux-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1146.0-linux-x64.zip → 200
** https://dl.google.com/widevine-cdm/1.4.9.1088-linux-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.2209.0-linux-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1196.0-linux-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1440.19-linux-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1440.18-linux-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1582.1-linux-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1582.2-linux-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1192.0-linux-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.2209.1-mac-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1146.0-mac-x64.zip → 200
** https://dl.google.com/widevine-cdm/1.4.9.1088-mac-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.2209.0-mac-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1196.0-mac-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1440.19-mac-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1440.18-mac-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1582.1-mac-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1582.2-mac-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1192.0-mac-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.2209.1-mac-arm64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.2209.0-mac-arm64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.2209.1-win-ia32.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1146.0-win-ia32.zip → 200
** https://dl.google.com/widevine-cdm/1.4.9.1088-win-ia32.zip → 200
** https://dl.google.com/widevine-cdm/4.10.2209.0-win-ia32.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1196.0-win-ia32.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1440.19-win-ia32.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1440.18-win-ia32.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1582.1-win-ia32.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1582.2-win-ia32.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1192.0-win-ia32.zip → 200
** https://dl.google.com/widevine-cdm/4.10.2209.1-win-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1146.0-win-x64.zip → 200
** https://dl.google.com/widevine-cdm/1.4.9.1088-win-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.2209.0-win-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1196.0-win-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1440.19-win-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1440.18-win-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1582.1-win-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1582.2-win-x64.zip → 200
** https://dl.google.com/widevine-cdm/4.10.1192.0-win-x64.zip → 200

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arm Related to ARM architecture enhancement widevine Related to Widevine DRM
Projects
None yet
Development

No branches or pull requests

4 participants