DRI For 2D Graphics? 9
Dan Farrell asks: "I know that we have DRI working good for 3D direct rendering. But DRI is quite a good infrastructure, why aren't we using it for 2D graphics as well? It seems to me that all of the complaints about X would disapprear if we got the Render extention finished, and used DRI to directly render everything(and maybe made X multithreaded and had it automatically re-nice itself... but that is me being greedy). I guess what I want to know is why we aren't using DRI for 2D graphics and video?"
An interesting statement about priorities (Score:1)
Is this because it's concidered somehow 'passe', or could it simply be that people assume there isn't anything to fix?
It seems that we keep pushing to expand the bounderies of technology, without concidering that there is older stuff that can use a tweek now and then. So who's fault is that?
DRI is only for local use. (Score:2)
Re:DRI is only for local use. (Score:4)
Not necessarily. X is smart enough to know what tricks to enable when the display is on the local machine. For example, for a local display, all the X protocol traffic is being done via shared memory instead of the TCP/IP protocol stack. Several years ago this wasn't the case and one had to explicitly set the $DISPLAY variable to enable it.
I don't know much about the specifics of DRI, but if it's like what SGI did w/ GLX, they you should still be able to export the display to another machine and get some hardware assisted rendering. IIRC, the GLX extension would send the 3D information over the network to an X server capable of handling it. The server would pass it off the the gl layer that SGI built whether it was totally in software for the lowend machines or one of their massive multicard 3D units (or at least that how I remember it from the gl class I took at SGI several years ago). Yet another X extension that the server has to advertise. If an application needs this capability, it will have to query the server when it starts up and fall back to another rendering method or just complain to the user and exit. Sure it's not going to be as fast since it has to go over the network, but it is better than trying to do 3D w/ the plain X protocol.
the problem is in the implementation (Score:1)
we need to get more card manufactureres/driver writers to pay attention to 2d stuff, especially since none of the high end hardware available for linux has open source drivers. sgi,hp,firegl etc all closed source. atis radeon seems to be the best bet we have for source.
Not necessary (Score:2)
--
Re:DRI is only for local use. (Score:1)
The GLX 1.3 API is exported but none of the new 1.3 functions are operational.
The new glXGetProcAddressARB function is fully supported.
GLXPixmap rendering is only supported for indirect rendering contexts. This is a common OpenGL limitation. Attempting to use a direct rendering context with a GLXPixmap will result in an X protocol error.
p> From the XFree86 Documentation [xfree86.org] The DRI is to circumvent the X protocol for higher performance and glx does the same up to an certain degree.
It would need changes to the X well defined X-protocol to implement this. And I'm not that firm with this, but I think the X-protocol opcode has only 8bit. A 3D implementation definitely will need more operations.
Re:Not necessary (Score:3)
I have a P3-500 and a Matrox G400 with Xfree 4.0.2, one of the fastest combinations for 2-D around. (see the X11 xstones benchmark page)
Ok. raw FVWM speed is great, but who want's that ?
If you ever use some X11 apps that are a bit more graphics intensive you would know that those apps are quite slow in X.
I.e. Why can't I have 4 different hi-res backgrounds
For the record just try the X11 version of mozilla and compare it to the same win32 version
Re:Not necessary (Score:1)
There is still lots of work to do on Mozilla, and 0.8 was visibly faster than 0.7.
Re:DRI is only for local use. (Score:1)
It would need changes to the X well defined X-protocol to implement this
But isn't that what an extension is? I'm not that worried about it right now. Let the XFree people get any of the kinks out of DRI for local use first and then remote displays sometime later.