64bit for Raspberry Pi?

  • With the launch of the new Raspberry Pi 4 - 8gb model i was wondering if there was going to be a 64bit version of LibreELEC? not a big deal if not i just, cant wait to get my hands on one and start testing and playing with it.

  • beginner question: Is it not possible to run 32bit only apps like widevine in a 64bit userspace?

    I think most desktop operating systems (Windows, Mac, Linux) allowed to have a dual 64/32bit userspace.

    • Official Post

    Google only publishes 32-bit libwidevine for Linux/ARM use and even that has to be extracted from a 3GB ChromeOS update image. There is no 64-bit lib that's ever been found, and we haven't ever managed to use the 32-bit lib in 64-bit userspace via compat tools. So we can either build images with 32-bit userspace and facilitatte access to Amazon, Netflix and a number of other DRM oriented streaaming platforms, or we can give a marginally better performing 64-bit userspace without them. As much as DRM sucks balls, it's a fact of life in the world of legal streaming, and we (and Kodi) would prefer to encourage use of legal streaming services than create yet-another obstacle to encourage use of pirate services.

  • Google only publishes 32-bit libwidevine for Linux/ARM use and even that has to be extracted from a 3GB ChromeOS update image. There is no 64-bit lib that's ever been found, and we haven't ever managed to use the 32-bit lib in 64-bit userspace via compat tools. So we can either build images with 32-bit userspace and facilitatte access to Amazon, Netflix and a number of other DRM oriented streaaming platforms, or we can give a marginally better performing 64-bit userspace without them. As much as DRM sucks balls, it's a fact of life in the world of legal streaming, and we (and Kodi) would prefer to encourage use of legal streaming services than create yet-another obstacle to encourage use of pirate services.

    Your comment is appreciated.

    "Google only publishes 32-bit libwidevine for Linux/ARM use and even that has to be extracted from a 3GB ChromeOS update image."

    This seems like a problem long term, how long until the file isn't available at all? Who is responsible for making a 64bit edition?

    Thanks for hard work - agree with your decisions for sure.

    (Can I get an understanding of what these DRM files do? Allow Kodi to use Amazon Prime as a client / Youtube??)

    • Official Post

    I'm fairly sure that Google won't remove widevine support from or kill updates to ChromeOS, so that route will always be open. It would be a lot easier to redistribute the extracted files as-is, which is permissible, but by doing so you accept Google's license terms. To say they favour Google is rather a large understatement, and punitive is probably a good word for them.

    The libs allow Kodi to access DRM protected content by pretending to be a web browser.

    • Official Post

    @DaFlex that's running a 64-bit OS in a container (on 32-bit userspace) so not really a solution that works.

    Could the opposite, a 32 bit container at 64 bit, work for us?

    PS: It seems like it's possible:

    We’ve created a sample project to demonstrate that for the first time ever, you can now install 64-bit balenaOS on the Raspberry Pi 4, and run a combination of both 32-bit and 64-bit containers together simultaneously; notably the exclusively 64-bit MongoDB image.

    Due to the increased RAM usage probably only an option for RPi 4B.

  • The only current way that i know of is to build a emulator to emulate the widevine functions which in the case of the 4g sram devices would probably run. The issue tho really comes down to, doing so out in the open community i highly doubt is something Google would take lightly.

    If one is good at RE stuff and proficient in using Ida Pro there is enough info via researching the Patent Offices to create a working emulator. It also helps if your familiar with how Conditional Access systems work.

    I agree with Chewitt says as in time hopefully google will release 64bit version which can be extracted and used as currently is being done. I think widevine will be around for awhile seeing as Googles a major player and companies that big tend to like to keep building on stuff they've already dumped a pile of money into.

  • I'm quite interested in doing this for various reasons. I'm not interested in anything that would require drm so that's not a blocker for me. It's more because this is used as a base for Lakka.

    I've made some basic changes here: GitHub - dmrlawson/LibreELEC.tv at rpi4-aarch64

    The problem I'm having is that linking fails for a number of packages, normally gdb first, with errors like:

    tracepoint-ipa.o:tracepoint.c:function record_tracepoint_error(tracepoint*, char const*, eval_result_type): error: undefined reference to '__aarch64_cas4_acq_rel'

    I'm struggling to figure out how to get past this. I think the toolchain is mostly working because other target packages compile fine, but maybe I've missed adding aarch64 to some PKG_ARCH that gdb depends on?