Playing DRM content like Netflix (widevine-aarch64 seems not available)
#1
Hello, I'm playing with my new PineTab2. The question below is for DanctNIX, the default OS as shipped.

I wanted to play a DRM content (Netflix), the FAQ on https://wiki.pine64.org/wiki/PineTab2_FA...as_Netflix? seems promising and points to "yay -S widevine-aarch64".

But the "widevine-aarch64" seems to be not available anymore, yay answers "No AUR package for found for widevine-aarch64". It is also not listed when I search for widevine in AUR, https://aur.archlinux.org/packages?O=0&S...&submit=Go . Note that there is "widevine-armv7h" (for 32-bit ARM).

Searching, I found https://github.com/AsahiLinux/widevine-installer . But the README says clearly "Using Widevine requires glibc version 2.36 or later. Arch Linux ARM ships an ancient glibc version, and will not work at this time.". I see the AUR repos contain https://aur.archlinux.org/packages/glibc-widevine , I'm building it now (takes 20h to build already Smile ). But I'm not even sure is this a good direction -- that is, should I install glibc-widevine from AUR and then hope for https://github.com/AsahiLinux/widevine-installer to work, or this is a doomed approach? I realize that upgrading GLIBC on my system is risky -- I'm ready for it (I can just reinstall the system), unless it is just known to not lead me toward the goal (Netflix on PineTab2).

The summary of my question is: Is there a way to play DRM content (Netflix) on PineTab2 now? If yes, how?
  Reply
#2
A quick search on DDG lead me to this github:


https://github.com/AsahiLinux/widevine-installer
  Reply
#3
(12-08-2023, 08:03 AM)michalis Wrote: Hello, I'm playing with my new PineTab2. The question below is for DanctNIX, the default OS as shipped.

I wanted to play a DRM content (Netflix), the FAQ on https://wiki.pine64.org/wiki/PineTab2_FA...as_Netflix? seems promising and points to "yay -S widevine-aarch64".

But the "widevine-aarch64" seems to be not available anymore, yay answers "No AUR package for found for widevine-aarch64". It is also not listed when I search for widevine in AUR, https://aur.archlinux.org/packages?O=0&S...&submit=Go . Note that there is "widevine-armv7h" (for 32-bit ARM).

Searching, I found https://github.com/AsahiLinux/widevine-installer . But the README says clearly "Using Widevine requires glibc version 2.36 or later. Arch Linux ARM ships an ancient glibc version, and will not work at this time.". I see the AUR repos contain https://aur.archlinux.org/packages/glibc-widevine , I'm building it now (takes 20h to build already Smile ). But I'm not even sure is this a good direction -- that is, should I install glibc-widevine from AUR and then hope for https://github.com/AsahiLinux/widevine-installer to work, or this is a doomed approach? I realize that upgrading GLIBC on my system is risky -- I'm ready for it (I can just reinstall the system), unless it is just known to not lead me toward the goal (Netflix on PineTab2).

The summary of my question is: Is there a way to play DRM content (Netflix) on PineTab2 now? If yes, how?

This is my old message but it might still work:

I assume that this solution should work (it did work with Pinephone and Pinephone Pro)

No warranty but as said this did with PP and PPP xD

OS Manjaro (most likely this will work also on Arch - no idea about other OS's)
Steps:
1. Remove glibc
2.glibc-widevine needs to be installed manually so:
git clone https://aur.archlinux.org/glibc-widevine.git
cd glibc-widevine
makepkg
ls (and look something like glibc-wideinve-2.35-5.2-aarch64.pkg.tar.zst)
sudo pacman -U glibc-wideinve-2.35-5.2-aarch64.pkg.tar.zst
3. Install widevine-aarch64 from aur
4. git clone https://aur.archlinux.org/packages/widevine-aarch64
cd widevine-aarch64
./register_widevine_firefox

Not sure is this the best solution but as said I have working widevine [Image: smile.png]
  Reply
#4
Thank you both for the answers!

As for https://github.com/AsahiLinux/widevine-installer - I also found it and mentioned in my query. The script refuses to work due to old glibc, as they say in README """Using Widevine requires glibc version 2.36 or later. Arch Linux ARM ships an ancient glibc version, and will not work at this time.""" .

As for https://aur.archlinux.org/packages/widevine-aarch64 , it is not available. The link https://aur.archlinux.org/packages/widevine-aarch64 returns "404 - Page Not Found" now, "yay -S widevine-aarch64" also says it is not available. It seems this package existed in the past (FAQ also mentions it, https://wiki.pine64.org/wiki/PineTab2_FA...as_Netflix? ) but for some doesn't exist anymore.

Combining the 2 answers, I guess installing https://aur.archlinux.org/glibc-widevine.git and then following https://github.com/AsahiLinux/widevine-installer may be a viable option. I'll try it. Admittedly, yesterday I interrupted glibc-widevine compilation after ~24 hours, but I guess I should be more patient Smile
  Reply
#5
See the discussion starting from here: https://forum.manjaro.org/t/widevine-in-arm/34657/66. The package was removed from AUR because it is ARM-only, but there is no reasonable place to put it instead.
  Reply
#6
Thanks! https://forum.manjaro.org/t/widevine-in-arm/34657/63 was helpful. It's a pity that `widevine-aarch64` was removed from AUR.

But one can still use `git clone` to get it -- as that Manjaro thread says, and I now realize that @alaraajavamma post in this thread also showed this. I didn't expect it is possible to get package using `git clone ...` when the corresponding AUR page is gone, but it is Smile

So the sequence of commands I have now is:


Code:
$ yay -S glibc-widevine
...
# During installation it says it conflicts with, and will replace, glibc.
# That's OK, as expected.

$ git clone https://aur.archlinux.org/widevine-aarch64.git

$ cd widevine-aarch64/

$ makepkg -sri

$ ./register_widevine_firefox
# Should answer like this:
Widevine registered for profile xxx.default
Widevine registered for profile yyy.default-release
However playing Netflix still doesn't work in Firefox, albeit now with a different error message. The error is F7111-1331, and the message says "This title is not available for immediate viewing. Choose another title." (but I am sure I'm trying to play a title available now, I can play it on PC with Ubuntu without any issues).

The above commands seem to answer everything is OK, both `glibc-widevine` and `widevine-aarch64` are installed and the `register_widevine_firefox` script registers the proper profiles.

Checking the new glibc version, it is: 2.35 now. Checked this version by running "/lib/libc.so.6", following https://www.xmodulo.com/check-glibc-version-linux.html . "ldd --version" also says it is 2.35. So this matches https://aur.archlinux.org/packages/glibc-widevine .

The script from https://github.com/AsahiLinux/widevine-installer still refuses to work, `sudo ./widevine-installer` says that GLIBC version is too old. The README there says """Using Widevine requires glibc version 2.36 or later.""" ... so it makes sense that 2.35 is too old. But then, why `glibc-widevine` is at 2.35?

Maybe latest widevine requires an update to glibc-widevine (to make it >= 2.36), but this is just a guess.
  Reply
#7
I pinged about possible glibc upgrade in https://aur.archlinux.org/packages/glibc-widevine .
  Reply
#8
(12-10-2023, 05:39 AM)michalis Wrote: Thanks!

Try this https://bitmovin.com/demos/drm
And you could check is mobile-config-firefox installed and remove it if it is.
In my experience you need to use "desktop browser" to play Netflix in arm linux - so it can be the same browser but it needs to tell Netflix that it is not phone or tablet.
  Reply
#9
(12-11-2023, 02:11 PM)alaraajavam Wrote: Try this https://bitmovin.com/demos/drm
And you could check is mobile-config-firefox installed and remove it if it is.
In my experience you need to use "desktop browser" to play Netflix in arm linux - so it can be the same browser but it needs to tell Netflix that it is not phone or tablet.

Thank you everyone from this thread! You're amazing Smile

I have now working everything -- Disney+, Amazon Prime, Netflix on PineTab2!

Summary:

- For Disney+, Amazon Prime (and https://bitmovin.com/demos/drm ) it is enough to install "glibc-widevine" and "widevine-aarch64" (noting to use "git clone" for now to get widevine-aarch64, AUR helpers will not install "widevine-aarch64" for now).

- For Netflix, an additional necessary step was to spoof a user agent. Pretending to come from Windows didn't help, but (thanks to mogwai helpful comments on https://aur.archlinux.org/packages/glibc-widevine ) pretending to come from ChromeOS works.

I made a big update to the FAQ "Can PineTab2 play back DRM content such as Netflix?" on https://wiki.pine64.org/wiki/PineTab2_FA...Netflix%3F documenting everything, collecting conclusions from this thread and the knowledge I gained. Hopefully this will serve as good summary of knowledge how to get various DRM video sites work on PineTab2 Smile
  Reply
#10
Hi, I'm the maintainer of both the glibc-widevine and widevine-aarch64 package (before it got deleted).

I've just uploaded a new package `widevine` to the AUR. This package is valid for x86_64, aarch64 and armv7h, so it should correspond to the terms and conditions of the AUR. This means that it should be safe from getting deleted.

This new package doesn't require running registering scripts anymore. Just install, log out and back in and start your browser.
  Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)