Widevine-plugin Slackware package for ARM and aarch64
Slackware - ARMThis forum is for the discussion of Slackware ARM.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Widevine-plugin Slackware package for ARM and aarch64
Wrote a nifty slackbuild for installing widevine-plugin for both ARM and Aarch64.
Note for this to work youŽll have to patch glibc (glibc for ARM and glibc for aarch64).
If you dont want to hazzle with compiling it, i have added precompiled and patched Slackware ARM 15.0 packages (Added support for SHT_RELR and TLS) binaries here and Slackware AArch64 Current packages (Added support for TLS) binaries here
This information and patches was gathered from here.
If you have kodi installed on the system you can link this by:
ln -s /opt/google/chrome/WidevineCdm/_platform_specific/linux_<your arch>/libwidevinecdm.so ~./kodi/cdm
Enjoy
Best regards
Minime
Last edited by Minime_2003; 07-11-2023 at 08:50 AM.
Widevine-plugin Slackware package for ARM and aarch64
Please make note of the included python script:
Code:
IMPORTANT NOTE: On systems with >4k page size (e.g. Apple Silicon devices),
Using the patched binary *significantly* weakens the security of your web browser,
in two ways. Firstly, it disables the RELRO security mitigation, and secondly it
creates a RWX mapping.
I'm looking into ways around this, but it will require more advanced patching.
P.S. If you want to watch Netflix, you will need to spoof a ChromeOS useragent
IMPORTANT NOTE: On systems with >4k page size (e.g. Apple Silicon devices),
Using the patched binary *significantly* weakens the security of your web browser,
in two ways. Firstly, it disables the RELRO security mitigation, and secondly it
creates a RWX mapping.
I'm looking into ways around this, but it will require more advanced patching.
P.S. If you want to watch Netflix, you will need to spoof a ChromeOS useragent
Added this to notes, thank you for pointing this out
Will be building chromium ungoogled for AArch64 with patched user-agent as i done for the chromium-ungoogled ARM packages.
Also fixed links to chromium and chromium-ungoogled
Best of regards:
Minime
Last edited by Minime_2003; 07-11-2023 at 09:58 AM.
Updated widevine-plugin buildscript for both ARM and Aarch64.
Also updated glibc patch script for SHT_RELR and TLS.
If you dont want to hazzle with compiling it, i have added updated precompiled and patched Slackware ARM 15.0 packages (Added support for SHT_RELR and TLS) binaries here.
Sorry to say i have not had time to compile glibc for Aarch64.
Will try to fix this as soon as possible or when i find the time.
Updated widevine-plugin buildscript for both ARM and Aarch64.
Also updated glibc patch script for SHT_RELR and TLS.
If you dont want to hazzle with compiling it, i have added updated precompiled and patched Slackware ARM 15.0 packages (Added support for SHT_RELR and TLS) binaries here.
Sorry to say i have not had time to compile glibc for Aarch64.
Will try to fix this as soon as possible or when i find the time.
Best regards
Minime
I don't know if it'd be useful, but since you're only applying 2 glibc patches which appear to require little maintenance, I could add these to the Slackware ARM source tree to be activated with a shell variable. It'd simplify the process of rebuilding glibc a little.
I don't know if it'd be useful, but since you're only applying 2 glibc patches which appear to require little maintenance, I could add these to the Slackware ARM source tree to be activated with a shell variable. It'd simplify the process of rebuilding glibc a little.
Sure if you want, the glibc patches for adding SHT_RELR and TLS on Slackware 15.0 ARM do really not need much editing other recompiling if there are any smaller updates...
For Aarch64 there might need a bit more editing as glibc changed version...
Sure if you want, the glibc patches for adding SHT_RELR and TLS on Slackware 15.0 ARM do really not need much editing other recompiling if there are any smaller updates...
For Aarch64 there might need a bit more editing as glibc changed version...
I've added support into the glibc.SlackBuild for AArch64, which requires version 1.40 of slackkit.
Check the Widevine config to see how it's done.
I'll probably implement something similar for other packages where appropriate.
I can add other hooks into other stages of the build in the future if necessary.
Those glibc patches don't apply to glibc 2.39, but I have included them anyway for demonstration purposes. If there are any newer versions I can replace them later.
I've added support into the glibc.SlackBuild for AArch64, which requires version 1.40 of slackkit.
Check the Widevine config to see how it's done.
I'll probably implement something similar for other packages where appropriate.
I can add other hooks into other stages of the build in the future if necessary.
Those glibc patches don't apply to glibc 2.39, but I have included them anyway for demonstration purposes. If there are any newer versions I can replace them later.
Cool, that would be sweet :-)
Would it be possible to do the same for slackwarearm-15.0 as those patches are specific for glibc-2.33 and ARM?
Can notify you when i made the patches for glibc-2.39 and Aarch64, so you can update them to Widevine config.
The direct link to the SlackBuild script patched glibc (at the moment for glibc-2.37) for Aarch64 are here.
Best regards:
Minime
Last edited by Minime_2003; 04-25-2024 at 02:37 PM.
Cool, that would be sweet :-)
Would it be possible to do the same for slackwarearm-15.0 as those patches are specific for glibc-2.33 and ARM?
Done. There's a v1.40 of slackkit for Slackware ARM 15.0 as well.
Quote:
Can notify you when i made the patches for glibc-2.39 and Aarch64, so you can update them to Widevine config.
The direct link to the SlackBuild script patched glibc (at the moment for glibc-2.37) for Aarch64 are here.
I've put the aarch64 patch into -current and it applies.
What are you running this on? I am trying to figure out if I could move my main Linux desktop from x86_64 to aarch64. I was thinking of using another HoneyComb LX2 since that's certainly powerful enough, but is expensive and we didn't test any graphics cards with it yet. Then I was thinking of a Raspberry Pi 5 (as that'd be a good project for this year and to develop the integration guides as I do so), but is 8GB RAM really sufficient? I can foresee UI lag when there's a web browser with multiple tabs (some having rendered large build logs and others of complex web sites). In my experience, 16GB RAM is the minimum required to maximise the chances of a good user experience, that can also accomodate the evolving demands of the tech stack for the next few years; but if anyone has a different experience, I'm interested.
I don't think it'd be too much work to add RPi5 support, especially when we move to the most recent Kernel release. It'd be nice to build on the RPi integration work as well. Hmm.
Done. There's a v1.40 of slackkit for Slackware ARM 15.0 as well.
Ahh nice
Quote:
Originally Posted by drmozes
I've put the aarch64 patch into -current and it applies.
Nice, have not tried the patch if it works for glibc-2.39 so i do not know it it works...
But it might work, depending how much has changed between glibc 2.37 and 2.39...
Great work
Quote:
Originally Posted by drmozes
What are you running this on? I am trying to figure out if I could move my main Linux desktop from x86_64 to aarch64. I was thinking of using another HoneyComb LX2 since that's certainly powerful enough, but is expensive and we didn't test any graphics cards with it yet. Then I was thinking of a Raspberry Pi 5 (as that'd be a good project for this year and to develop the integration guides as I do so), but is 8GB RAM really sufficient? I can foresee UI lag when there's a web browser with multiple tabs (some having rendered large build logs and others of complex web sites). In my experience, 16GB RAM is the minimum required to maximise the chances of a good user experience, that can also accomodate the evolving demands of the tech stack for the next few years; but if anyone has a different experience, I'm interested.
I don't think it'd be too much work to add RPi5 support, especially when we move to the most recent Kernel release. It'd be nice to build on the RPi integration work as well. Hmm.
About half a year ago i used my RPI4 with 4 GB RAM, just changed the SDcard...
But 4 GB RAM and running Aarch64 not to recommend, specially when compiling packages...
System runs fine though otherwise.
Have been thinking of getting a RPI5 with 8 GB RAM as the CPU is way faster and seams to be a good device for a fordable price.
Also thinking it would be worth investing in and should also last for a few years.
Also been thinking of running one of my AMD64 PCs and running an ARM image with QEMU to speed up compiling packages for the RPI4 unit...
But i havenŽt managed to figure out how to create the ARM image and what parameters to set in QEMU to achieve this...
Last edited by Minime_2003; 04-26-2024 at 04:15 AM.
Also been thinking of running one of my AMD64 PCs and running an ARM image with QEMU to speed up compiling packages for the RPI4 unit...
But i havenŽt managed to figure out how to create the ARM image and what parameters to set in QEMU to achieve this...
I stopped maintaining the QEMU support since the user experience was too slow to make it worth while.
That said, it may be acceptable on more recent hardware (my x86's weren't the most recent). There's a document here, and the old arm32 stuff is here.
You basically created an 'image' which served as the hard disk, then you booted the Installer and installed.
You'd then boot the OS from the hard disk image. There were two separate shell scripts to achieve this.
Updated Slackkit v1.40 and tried out your script, works great.
The patch worked fine even for glibc-2.39, so did not need any editing.
Slackware AArch64 Current packages (Added support for TLS) binaries here.
I have a low profile AMD Radeon RX550 in my HoneyComb. Support for AMD GPU needs to be added to the SA64 kernel config yet. I haven't been motivated to do so due to the fact that the CPU fan is so loud on Slackware. Replacing my x86 work station only requires those two features to be added into the kernel.
Solid Run (HC manufacturer) does not recommend NVIDIA GPU's due to the lack of support on Aarch64. So stick with AMD GPU's.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.