AArch64 vs. Userspace

  • Thanks, will do.

    I intend to add information to installation/docker.md but for that I'll need some historical context :)

    Is it correct that on Raspberry Pi LibreELEC 9 was the last 32-bit Linux and since version 10 the OS is aarch64 with 32-bit userspace, as HiassofT described?

    Also is the difference between the OS and userspace true for the Generic x86_64 distribution?

  • RPi0/1/2/3 are 32-bit SoCs so all past/present/future releases are 32-bit kernel and 32-bit userspace. RPi4/400 are 64-bit SoCs and <= LE 11.x are 64-bit kernel with 32-bit userspace. LE 12.x will use 64-bit kernel and 64-bit userspace. The same is true for other ARM SoC vendors where we have historically and/or still do support a mix of 32-bit and 64-bit SoC hardware. Generic LibreELEC releases have always been 64-bit (OpenELEC dropped i386 support @ after v5.0).

    Over time the number of people confused/offended by our lack of publishing specific information on kernel vs. userspace arch is remarkably small, so I wouldn't over think the number of references that need to be made.

  • RPi0/1/2/3 are 32-bit SoCs

    Not quite. See here for more details.

    32-bit: RPi Zero, RPi1, early model RPi2

    64-bit: RPi Zero 2, late model RPi2, RPi3, PRi4

    RPi2 was launched with a 32-bit Cortex-A7. RPi2 v1. 2 switched to using the 64-bit Cortex-A53 from the RPi3.

    Also note all 64-bit RPi processors also support 32-bit. And you can run a 64-bit kernel with a 32-bit userland.

    32-bit userland has historically been the choice of LibreELEC as widevine (needed for DRM playback of netflix/amazon prime etc)

    was only supported on 32-bit, but there is now a 64-bit solution that LE 12 can use.

  • More precisely in LE 9.2.x RPi4 builds used a 32bit kernel, LE 10 and later use the 64 bit kernel.

    in LE12 some of the 64bit-capable devices (RPi4, Allwinner) were switched from 32bit userspace to 64bit - but some devices (Amlogic, Rockchip) are still missing and run with 32bit userspace. They may or may not be switched to 64bit userspace as well at some point.

    While RPi3 and later RPi2s would be capable of running 64bit kernel and userspace we currently have no plans to release separate 64bit "RPi3" builds. It would just complicate things and as there are known issues with the dwc_otg USB driver in 64bit due to missing FIQ support (esp with USB audio cards) the overall user experience might be worse than it's now.

    so long,

    Hias

  • If libreelec is using linuxserver.io docker addon, it can be dealt with by using ` --platform linux/arm64/v8` in the console, in addition to run, exec, and container commands of docker... it specifies manually to use the arm64 which runs on the 64 bit kernel 32 bit userspace fine.