• 64 bit Raspbian video display?

    From gareth evans@3:770/3 to All on Fri Dec 30 11:49:23 2022
    AIUI, the Binary Blob for driving the GPU is 32 bit code,
    so when using 64 bit Raspbian, does that mean that one
    CPU core is configured as 32 bit to provide the video?

    If so, how is communication arranged between the 64 bit
    and 32 bit CPU cores?

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Computer Nerd Kev@3:770/3 to gareth evans on Sat Dec 31 15:48:27 2022
    gareth evans <headstone255@yahoo.com> wrote:
    AIUI, the Binary Blob for driving the GPU is 32 bit code,
    so when using 64 bit Raspbian, does that mean that one
    CPU core is configured as 32 bit to provide the video?

    If so, how is communication arranged between the 64 bit
    and 32 bit CPU cores?

    The amount of GPU memory is configured in config.txt with the
    gpu_mem option. This memory region isn't allocated to virtual
    address space by the CPU, so it's not used by any OS/user
    software. Instead the GPU firmware allocates regions in this
    memory itself, one key part of which is where it wants the CPU
    to store the display frame buffer. The frame buffer memory address
    is communicated back to the CPU via registers, which is also how
    the CPU sends it commands.

    None of this requires the CPU to run 32bit software, it just
    reads/writes data in the size expected by the GPU, which may
    be more/less than 32bits. The common unit for data in memory still
    8 bit bytes anyway.

    As for the issue of the 32bit address space potentially not
    covering all the RAM on the better equipped Pis - this is probably
    why unlike with the 32bit Pis, the Pi4's GPU doesn't have access
    to the whole system memory. Instead it is said to require areas to
    be allocated in advance with its MMU, before it can access them. So
    it only sees the memory areas that it needs to see. https://forums.raspberrypi.com/viewtopic.php?t=278081#p1694898

    --
    __ __
    #_ < |\| |< _#

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From Computer Nerd Kev@3:770/3 to gareth evans on Sat Dec 31 15:59:58 2022
    gareth evans <headstone255@yahoo.com> wrote:
    AIUI, the Binary Blob for driving the GPU is 32 bit code,
    so when using 64 bit Raspbian, does that mean that one
    CPU core is configured as 32 bit to provide the video?

    Oh, I just realised that you were mistaken about what the GPU
    binary actually runs on - it's the software that runs on the GPU,
    it doesn't (and can't) run on any CPU core. The software on the CPU
    is drivers that talk to the proprietary software on the GPU, which
    as described in my last post are fine to be 64bit programs, and
    the Linux ones are also open-source.

    --
    __ __
    #_ < |\| |< _#

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)
  • From gareth evans@3:770/3 to Computer Nerd Kev on Sat Dec 31 16:35:37 2022
    On 31/12/2022 05:59, Computer Nerd Kev wrote:
    gareth evans <headstone255@yahoo.com> wrote:
    AIUI, the Binary Blob for driving the GPU is 32 bit code,
    so when using 64 bit Raspbian, does that mean that one
    CPU core is configured as 32 bit to provide the video?

    Oh, I just realised that you were mistaken about what the GPU
    binary actually runs on - it's the software that runs on the GPU,
    it doesn't (and can't) run on any CPU core. The software on the CPU
    is drivers that talk to the proprietary software on the GPU, which
    as described in my last post are fine to be 64bit programs, and
    the Linux ones are also open-source.

    My mistake mea culpa.

    I was under the impression that the GPL library facility
    was in the Linux code area.

    --- SoupGate-Win32 v1.05
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)