The Broadcom implementation is most definately proprietary. X.org is MIT licensed so I don"t think linking in a proprietary X driver is an issue (at least not a license one). I think it is better for applications to link to GLES and EGL libs as required for 3d stuff as not many programs for Linux currently support embedded opengl anyway. Proprietary stuff definately does not belong in the kernel and since X is sharing resources between processes there has to be some kernel involvement to do things right.
I was assuming that by kernel we were talking about things outside the Broadcom blob, which we can only send things like OGLES calls into. Since I don"t know what"s in the blob, I have no way of knowing why/how to interface with anything in there other than through the interfaces that have been exposed. That does include OGLES, according to what I"ve seen discussed, but, I haven"t seen the docs, yet.
Well that is why the kernel has all these interfaces like KMS, DRM etc. It is up to Broadcom whether that want to release proprietary info and write to these things. It isn"t the sort of thing you generally need for a set top box or a sat nav.
Isn"t OGLES one of the Broadcom-supported interfaces? That"s what Eben, et al, have been saying should be used, since they aren"t providing source for the blob.
It isn"t that nobody wants 3d acceleration in X, it is more that that is orthogonal to the issue of getting X working better for the majority of users.
I"m not talking about 3-D acceleration in X, I"m talking about using 3-D hardware to accelerate the 2-D X primitives. It never ceases to amaze me how few people realize that 2-D is just a subset of 3-D, where the z values are always zero! Everything that"s needed to perform every function required by X already exists in the GPU hardware, including blitting and everything everyone else has mentioned. How do you think SGI was running X on systems since the mid 1980s? They sure as hell haven"t been doing it strictly in software on the CPU.
If no one in the Linux community has done this integration before, is it because few people are familiar with GPUs? I find that very surprising, although, now that I think about it, I"ve run into very few software people outside the 3-D graphics community who actually know how matrix math is used to perform GPU transformations in the hardware, and kernel guys are kinda known for not getting out much - and we"re glad someone is doing that thankless grunt work
I guess I"m "spoiled" because I did matrix multiplications by hand with a slide rule while waiting for our first interactive 3-D system to be installed, which also happened to be examples in our professor"s 3-D graphics math textbook that we were proofing with him. We did get free copies of the first editions, though - a much bigger deal now that engineering textbooks cost upwards of $400 new - yikes! Yes, I walked to and from school both ways, too ... uphill ... into the wind ... in snowdrifts ... that lasted through the Summers ...
The best things in life aren't things ... but, a Pi comes pretty darned close!
"Education is not the filling of a pail, but the lighting of a fire." -- W.B. Yeats
In theory, theory & practice are the same - in practice, they aren't!!!