LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware - ARM (https://www.linuxquestions.org/questions/slackware-arm-108/)
-   -   Widevine-plugin Slackware package for ARM and aarch64 (https://www.linuxquestions.org/questions/slackware-arm-108/widevine-plugin-slackware-package-for-arm-and-aarch64-4175726755/)

Minime_2003 07-08-2023 02:15 PM

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

mralk3 07-08-2023 05:39 PM

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


Minime_2003 07-11-2023 08:37 AM

Quote:

Originally Posted by mralk3 (Post 6440991)
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


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

glorsplitz 07-11-2023 06:59 PM

Quote:

Originally Posted by Minime_2003 (Post 6441419)
Will be building chromium ungoogled for AArch64 with patched user-agent

looking forward to trying it, thanks

Minime_2003 04-21-2024 07:19 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.

Best regards
Minime

drmozes 04-23-2024 06:47 AM

Quote:

Originally Posted by Minime_2003 (Post 6497481)
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.

Minime_2003 04-24-2024 02:51 PM

Quote:

Originally Posted by drmozes (Post 6497867)
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...

drmozes 04-25-2024 11:56 AM

Quote:

Originally Posted by Minime_2003 (Post 6498108)
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.

Minime_2003 04-25-2024 02:23 PM

Quote:

Originally Posted by drmozes (Post 6498242)
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

drmozes 04-25-2024 03:40 PM

Quote:

Originally Posted by Minime_2003 (Post 6498262)
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.

Minime_2003 04-26-2024 04:08 AM

Quote:

Originally Posted by drmozes (Post 6498271)
Done. There's a v1.40 of slackkit for Slackware ARM 15.0 as well.

Ahh nice :)

Quote:

Originally Posted by drmozes (Post 6498271)
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 (Post 6498271)
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...

drmozes 04-26-2024 08:15 AM

Quote:

Originally Posted by Minime_2003 (Post 6498354)
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.

Minime_2003 04-28-2024 01:55 PM

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.

Great work drmozes.

mralk3 05-01-2024 03:05 AM

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.

You could probably put a better GPU into your honeycomb if you plan to use it as your workstation. Link on Amazon here:
https://www.amazon.com/gp/product/B0...?ie=UTF8&psc=1

I mostly run my Honeycomb headless as of late, and put it in the closet to avoid the buzzing fan. ;)

As an experiment I booted Debian and Fedora installations- the fan throttles with load- making it much less noisy.

glorsplitz 05-02-2024 05:27 PM

the honeycomb doesn't have or its gpu is inadequate? did you do a pcie gpu with yours Brent? or you didn't as you said yours is headless


All times are GMT -5. The time now is 01:07 AM.