9

Fetches a ChromeOS image for ARM and extracts the Widevine and Flash binaries, s...

 2 years ago
source link: https://gist.github.com/teacupx/9393507ad6250429707f0318b04f1a3b
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
Fetches a ChromeOS image for ARM and extracts the Widevine and Flash binaries, saving them in a compressed archive

Umm, the newer script will not actually fetch ARM64 Widevine because even on 64bit ChromeBooks the UI layer is 32bit, thus the widevine is 32bit. There is no source (that I am aware of of 64 bit ARM Widevine)

Author

teacupx commented on Aug 28, 2019

edited

Correct, I also noticed it. I'm just waiting for some arm64 Chrome OS to be released, in order to update the script. If you learn about such release, I'd appreciate if you can let me know.

Regards.

Certainly will let you know if I see it. I have been trying to find a source for this file for some time.

This is one page to keep an eye on

https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices

You need something in the User ABI column with “aarch64”. You will note that currently aarch64 can only be found in the Kernel ABI column.

Yes, I tested it in jetson tx2 which has aarch64 and chromium failed to load shared library with error elfclass32.. Any solutions do you think?

ruario commented on Jan 22, 2020

edited

@orhaneee If you ran a 32bit arm distro or multiarch (32/64) you could use the 32bit arm binary. Failing those options… no

There is no source of 64bit arm widevine. The only source for widevine on arm at all is chromeos images and whilst several of these have a 64bit kernel, they all have a 32bit userland (see my link above for evidence of this).

Unless a pure 64bit arm ChromeOS is released or Google/Widevine start offering a 64bit standalone widevine package (as they do with x86 and x64), there is now obvious way to resolve this. Widevine is, after all, a proprietary binary blob. There is no public source that would allow you to compile your own.

Author

teacupx commented on Jan 22, 2020

@orhaneee
You can also run a armhf docker image with Chromium, on your arm64 system. I have created a script for automating this: https://github.com/teacupx/docker-chromium-armhf

@teacupx Oh nice, thanks for linking. Will try and check it out at some point

@ruario yes, you are right. my user space is 64 bit as you guess and the shared library that chromeos is using 32 bit. then, you see my error. I don't have if they will distribute 64 bit widevine..

@teacupx thank you it is nice but the problem is I am using my yocto image and on a Qt application which requires qtwebengine..

You can also run a armhf docker image with Chromium, on your arm64 system. I have created a script for automating this: https://github.com/teacupx/docker-chromium-armhf

With this docker image, can I use the widevine-flash_armhf.sh script to get he Widevine CDM and does work on a ARM64 system, say Jetson Nano ?

Author

teacupx commented on Oct 4, 2020

It should. I haven't tested it since I did it, so I don't know if newer versions broke something.
Notice that you either need to provide the widevine lib as a Deb package, or copy it manually to the created docker container. If you are using some Mali binary for graphic acceleration, you need to copy it too, in armhf format.

Sure. I have deleted that post. Is there another gist available ?
Could you tell me if the extracted libwidevinecdm.so and libwidevinecdm.so should be in /opt as extracted or in /usr/lib/chromium-browser (in the Docker container) ?

Author

teacupx commented on Oct 5, 2020

You can use the issue tracker of the Docker container for questions related to it.
Also, if you want to see a working solution, here is one (download the tar file and look under the chromium-streaming package): https://forum.armbian.com/topic/9310-rk3328-media-script-rock64-renegade/
It includes the debs with the widevine lib and the GPU drivers, for Rockchip RK3328 boards. I also made similar solutions for other boards supported by Armbian, but not for the Jetson Nano, sorry.

RaviBeagle commented on Oct 8, 2020

edited

I give up. This is all too damn hard and a waste of time. Do we need a manifest.json file for Chromium 79+ to work ?
The flash library is detected "Pepper Flash detected".

I have the latest libwidevine that I took from the latest Chromebook for arm Acer Chromebook Spin 311 (CP311-3H)

and I have it put in this locations

/usr/lib/chromium-browser/
/usr/lib/chromium-browser/WidevineCdm
/opt/google/chrome
/opt/google/chrome/WidevineCdm

The chromium that gets installed in docker is Version 85.0.4183.121 (Official Build) Built on Ubuntu , running on Ubuntu 18.04 (32-bit)

Why does it not detect the library ?

Author

teacupx commented on Oct 8, 2020

edited

Do we need a manifest.json file for Chromium 79+ to work ?

I had never heard such a thing, for me it just works with an apt install chromium.

You can also login into the bionic docker container, and install the older version of chromium.

Also, you can try use the widevine Deb package from the link I posted above. Maybe you are missing some symlinks.

BTW putting the lib in /opt/chrome makes no sense for chromium.

Why does it not detect the library ?

You can try to launch it from console and see the logs. As I said, you may be missing some symlinks. Try the Deb package I mentioned.

I used the deb package and various other combinations. But no avail. So i gave up on chromium altogether. I believe we cant use above chromium 79. I installed vivaldi with the same docker image

https://gist.github.com/ruario/19a28d98d29d34ec9b184c42e5f8bf29

Widevine is enabled now. Yet still not able to play prime video as it might be missing ffmpeg plugins.

Correct, I also noticed it. I'm just waiting for some arm64 Chrome OS to be released, in order to update the script. If you learn about such release, I'd appreciate if you can let me know. Regards.

how about deleting it for now? already fell for it twice

Google: won't make widevine for aarch64
Piracy: stonks

Niek commented on Jul 31, 2021

There's a fair amount of aarch64 Chromebooks, but all of them are running in user ABI arm. See https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices for a complete list. I doubt there will be a full aarch64 Chrome OS anytime soon.

Niek commented on May 20

Google is finally working on ARM64 widevine! https://chromium.googlesource.com/chromium/src.git/+/2868ab1359c64c5e063f259d46bd655bd8ad8bf2

Do you have a link to the CDM file? https://dl.google.com/widevine-cdm/4.10.2449.0-linux-arm64.zip is still 404.

Botspot commented on May 20

Do you have a link to the CDM file? https://dl.google.com/widevine-cdm/4.10.2449.0-linux-arm64.zip is still 404.

No, and I don't think it's public yet. The latest ChromeOS images that I could find (v101) still had arm32 userspace and widevine.
We'll have to keep our eyes open for an image-drop.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK