Sujet : Re: Pi4 to Pi5 migration
De : theom+news (at) *nospam* chiark.greenend.org.uk (Theo)
Groupes : comp.sys.raspberry-piDate : 09. Jun 2024, 22:02:12
Autres entêtes
Organisation : University of Cambridge, England
Message-ID : <aCF*vyyMz@news.chiark.greenend.org.uk>
References : 1 2 3 4 5 6 7 8
User-Agent : tin/1.8.3-20070201 ("Scotasay") (UNIX) (Linux/5.10.0-28-amd64 (x86_64))
bp@
www.zefox.net wrote:
Computer Nerd Kev <not@telling.you.invalid> wrote:
Of course it's really a matter of what you mean by "exploits". Even
pure framebuffer mode uses "the VideoCore portion of the Pi", so
what specific exploitation are you looking for?
AIUI a GPU is a coprocessor with its own registers and cache that
can do single-instruction-multiple-data operations in parallel
with the CPU such as vector math. That's what I _think_ I'm looking
for. Compiler enhancements seem necessary, is that the bottleneck?
On the Pi the GPU is a black box, or rather a collection of black boxes
inside a black box. There is some ability to launch code on small parts of
the GPU (the QPUs) and some limited compiler support for them. But the
parts that are used for most of the graphics pipeline aren't accessible -
the GPU firmware presents an API and the Linux driver talks to that API, but
we don't get to look at or change the software behind the API.
What Broadcom would enable by fully open-sourcing their GPU code
and documentation is that the firmware that these APIs talk to
could be expanded as well. Then extra GPU-accellerated functions
could be written such as for newer video codecs, or other things
entirely. By publishing the documentation for the QPU units in the
VideoCore IV GPUs Broadcom did open some doors towards that, but
it's not really enough information for a full open-source GPU
firmware to be independently developed (there's a project for that
with VideoCore IV, but it stalled years ago).
Do other GPU companies (Nvidia comes to mind) handle things any better?
Everyone does it. Nvidia is much worse because, unlike RPi and AMD, they
don't even open source any of the software running on the CPU side of things
- both the kernel driver and the userspace components are closed source
binary-only. Intel is probably the best in that there's good Linux drivers
and some documentation for how their GPU hardware works, which you don't get
with anyone else.
(Intel make discrete GPUs. You can plug them in but they don't work on a Pi:
https://pipci.jeffgeerling.com/cards_gpu/intel-arc-a750.html)
Theo