background:

https://wiki.linaro.org/ChristianReis?action=AttachFile&do=view&target=embedded-gpu-lca-2011.pdf
http://lkcl.net/laptop.html

45nm and the upcoming 28nm geometry is going to allow SoC RISC CPUs to
become massively more price as well as power efficient than CISC x86
architecture could ever be.  that makes so-called "embedded" CPUs far
more important in the immediate future, and preparation is required so
that there exists free software infrastructure in place.  yet as can
clearly be seen in christian's talk, there literally *is* no Free
Software 3D SoC Driver - not for one *single* one of the available
SoCs, and there do not exist any suitable low-power
embedded-compatible GPU ICs [$USD 3m investment is required for the
OpenGraphics Project to make an IC, and that's not really going to
happen in a hurry].

so all the ATI, NVidia and Intel GMA GPUs are fast about to become
overshadowed, whilst everyone has been caught off-guard in the free
software community because they've been focussing on these
"mainstream" GPUs, which are about to become superseded by *another*
batch of proprietary-only GPUs... which cannot be replaced by
"designing a new motherboard", because the GPUs are quite literally
embedded inside the CPU.

so as the embedded 3D GPU space is about 3 years behind the
"mainstream" ones in terms of understanding and acceptance of Free
Software, it is necessary to go through the entire process *again*,
with yet *another* set of companies, whose position is made all the
more precarious by virtue of them being the "also-rans" (see
Christian's talk, slide 11, "#4 patents")

the proposal is therefore to not hang about: begin to reverse-engineer
the "top" GPU, PowerVR, which is present in at least 75% of the
top-of-the-range ARM embedded CPUs.  work has already been done to
establish the GPU's on-board RISC instruction set (by a polish free
software developer).  this work was done "passively" (by analysing the
proprietary libraries).  the work needs to be continued "actively",
and a working OpenGL library created.

reverse-engineering requires expensive proprietary disassembly tools
(which i have - legally licensed and purchased over 6 years ago),
requires absolute infinite f*****g patience and requires absolute
undisturbed periods of 100% concentration for weeks at a time in order
to maximise effectiveness.  progress can often be made rapidly... and
then 2-3 weeks can be spent looking for one single wrong bit.  that's
just the way it is.

in reverse-engineering, there are no guarantees - but you have to
start somewhere.  from personal experience, usually once i initiate a
reverse-engineering project, others take it over once it gets to the
point where it's "useable", but in this case, the MesaGL software
library can substitute for the parts that *aren't* accelerated, thus
always (if care is taken) at least providing a working (if
non-optimal) 3D SGX accelerated library.

the payoff is huge.  the list of CPUs with PowerVR includes Texas
Instruments top-of-the-range OMAP, AM Sitara and DaVinci CPUs, all of
Freescale's top-of-the-range iMX series, all of Samsung's
top-of-the-range ARM Cortex A8 and A9 CPUs, Marvell's top-of-the-range
armv7-compatible 1.2 to 2ghz CPUs, NXP's new Cortex A9 and (the
odd-one-out) Intel's "Poulsbo" GMA500 GPU.  the list just goes on and
those are just the ones that are in the current 45nm geometry.

please bear in mind that not one single one of the proprietary
embedded GPU companies will act.  period.  it is entirely and solely
up to the free software community to take action.  no action taken
will result in no free software driver, and it will stay that way,
period.  if we're all happy to run proprietary software or google
android, no action *need* be taken.  assuming that's an unacceptable
state of affairs, the only way is reverse-engineering.

we have to start somewhere.

l.

p.s. http://code.google.com/p/gles6410 is another SoC 3D
reverse-engineering project and is *not* PowerVR, it is called "FIMD"
3D which, oddly, is only present in 2 CPUs from Samsung - the S3C6410
and the 800mhz S5PC100.  Samsung "upgraded" half way through this CPU
range (!) so their top-of-the-range 1ghz Cortex A8 part, the S5PC110
*also* uses... PowerVR.  as does their new Dual-Core Cortex A9 part,
code-named "Orion".
_______________________________________________
Celinux-dev mailing list
[email protected]
http://tree.celinuxforum.org/mailman/listinfo/celinux-dev

Reply via email to