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?
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.
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.
Have something to add? Share your thoughts — no account required.
Ask the community — no account required