> Not to mention that the DRI2 stuff means you can do direct rendering without an X server at all, you can even do it with just one process running on a framebuffer (this is essentially how Wayland does it's rendering).
In my defense, I did say "i.e." the X Server. I could quite imagine the same thing being done at a lower level, say in Wayland. Of course, if you just have one application doing graphics you don't need to worry about multiplexing the graphics resources at all and can just talk to the kernel bits directly. I also suggested that direct rendering might "work mostly like" indirect rendering, not exactly like it. I don't really think that OpenGL is necessarily the best API to base the communication on - something closer to Gallium 3D might be better. As for GPGPU stuff, I must confess that I'm not very knowledgable about it - I thought that it mainly involved running shader programmes on data structures that were set up to look like vertices and things and interpreting the output.
What does seem trickier to me is that there are no good APIs that come to my mind that could be used to let one user space process manage memory for others to let them selectively map sections of the video RAM into their address space. And of course there is the small matter that after people have invested so much into DRI2 they are probably not raring to try alternative designs!