Package Details: widevine-aarch64 4.10.2257.0-2

Git Clone URL: https://aur.archlinux.org/widevine-aarch64.git (read-only, click to copy)
Package Base: widevine-aarch64
Description: A browser plugin designed for the viewing of premium video content (version for aarch64)
Upstream URL: https://www.widevine.com/
Keywords: amazon chrome chromium drm firefox netflix plugin prime widevine
Licenses: custom
Conflicts: chromium-widevine
Provides: chromium-widevine
Submitter: mogwai
Maintainer: mogwai
Last Packager: mogwai
Votes: 5
Popularity: 4.07
First Submitted: 2023-02-22 21:08 (UTC)
Last Updated: 2023-03-09 10:31 (UTC)

Pinned Comments

mogwai commented on 2023-02-23 07:37 (UTC) (edited on 2023-03-09 11:55 (UTC) by mogwai)

Please make sure to run the registering scripts register_widevine_firefox and/or register_widevine_chromium for every user that needs to be able to use widevine. This script only needs to be run once; no need to repeat it after upgrade.

The latest version no longer requires the LD_PRELOAD!!!

In order to get netflix to run, you need to spoof the user agent of the browser by setting it to ChromeOS.

Latest Comments

1 2 3 Next › Last »

rubenvb commented on 2023-03-11 12:10 (UTC)

This works great with Kodi's widevine-using addons (e.g. Retrospect). I previously was mucking around with armv7 kodi so I had a 32-bit widevine so in /var/lib/kodi/.kodi/cdm I just replaced. No idea if this file is the only thing needed or you also need the other metadata files.

I did modify the InputStreamHelper's code as it's still hardcoded to reject aarch64 widevine, just return True here: https://github.com/emilsvennesson/script.module.inputstreamhelper/blob/master/lib/inputstreamhelper/__init__.py#L147

You'll need InputStream.Adaptive 20.3.5 as well, as that adds support for loading the aarch64 widevine blob.

mogwai commented on 2023-03-10 13:01 (UTC)

@kalrykh: Fine, my comment is deleted.

Still, you are mentioning problems you have on Asahi Linux, which is not the same as plain vanilla Archlinux (ARM). From a quick inspection, I see that Asahi has a.o. a patched libinput package. I'm pretty sure you can get better support by opening a topic on the Asahi forum or whatever medium they use for support, and share your issues and experiences there.

I've been running with this particular version of the patched glibc on multiple plain-vanilla Archlinux ARM systems (armv7h and aarch64) for about a year now including my daily driver machine without any problems, as have many other people. Comments like "Might want to hold off on this" are not helpful to other users of plain-vanilla Archlinux (ARM).

kalrykh commented on 2023-03-10 10:47 (UTC) (edited on 2023-03-10 10:58 (UTC) by kalrykh)

Yeah, I'm running Arch. I wiped Fedora and put Arch back on, did a a full system update, then installed the Edge kernal/mesa driver just to play around with this. It was a bit of an exciting development to see this finally working and I wanted to see it in action. If you want comments deleted, you can start with your own. The only thing I tried on Fedora was this package alone, with no dependencies, as the package build is just a bash script and I wanted to see if I could automate that little bit messing around. I wipe/reinstall Asahi almost daily checking out different things between Arch, Ubuntu and Fedora and have for a few weeks now and have never had so many failures. Hell, compiling the patched glib failed itself, the same as a previous comment (on the glibc-widevine package), and I had to start it over completely a second time. (bloody edits, sorry if you're getting notifications for all these)

kalrykh commented on 2023-03-10 09:07 (UTC)

The patched version of glibc was causing libinput issues, backspace key stopped working for a few seconds and my system logs were painted red with other systemd services having issues. Might want to hold off on this :p

mogwai commented on 2023-03-09 12:03 (UTC)

The package now supports non-4k systems, like the M1. It's also no longer required to have the LD_PRELOAD!

Thanks to Retr0id for his patching script! (source link: https://gist.github.com/DavidBuchanan314/c6b97add51b97e4c3ee95dc890f9e3c8)

mogwai commented on 2023-03-07 12:35 (UTC)

@Retr0id: Again, very impressive work! I'd really like to incorporate it into this AUR package if you're ok with that.

I see that your script is doing several things at the same time, some of which are not needed on non-4k systems. I'm not sure which parts are responsible for the workarounds that introduce the security issues. Maybe it's a good idea to split those up into separate parts?

Anyway, I guess that this is not the best place for a detailed discussion. If you want, you can reach me on my email or on Matrix using the same ID as my email address, but with the @ and : reversed. ;)

Retr0id commented on 2023-03-06 22:11 (UTC) (edited on 2023-03-07 05:06 (UTC) by Retr0id)

@mogwai: Here's my patcher script https://gist.github.com/DavidBuchanan314/c6b97add51b97e4c3ee95dc890f9e3c8

Unfortunately the patched version has weakened security properties (see code comment), so although it ought to work on 4k systems too, I wouldn't recommend making it the default for systems that don't need it.

I took a stab at working around the libgcc_hide thing based on a comment I saw somewhere - making the relevant symbols have weak binding. But that doesn't work, because they still don't exist either way.

As a different workaround, I might try making libwidevinecdm depend on libgcc_hide, so that it gets loaded automatically as opposed to requiring an LD_PRELOAD.

Edit: I have updated my script to mitigate the need for LD_PRELOAD, by embedding the required functions directly into libwidevinecdm.so

mogwai commented on 2023-03-06 20:03 (UTC)

@Retr0id: That's impressive reverse engineering work! I was trying to get the libgcc_hide.so workaround applied to the widevine lib itself, but haven't succeeded yet. Let me know if you have a solution, I think there will be a lot of people interested in a plug-and-play solution.

About the user agent: yes, that's a known thing. There are multiple comments about that on the widevine-armv7h package. I'll add it to the pinned comment here as well. Thanks for reminding!