>> Branden Robinson <[EMAIL PROTECTED]> writes: > I'm still apprehensive about moving *_dri.so out of > /usr/X11R6/lib/modules. If they aren't really X server modules, then > they don't belong in that directory (maybe /usr/lib/xlibmesa3 ?). > Should I ask upstream?
I don't understand in what sense the dri modules aren't X server modules. For the case of direct rendering, an application is linked against the core GL library, which in talks to the hardware, the library part of the DRI or the library part of the DRM. The DRI talks to the DRM or to the X server (via the GLX protocol). The DRM talks to the kernel DRI module, which in turn talks to the hardware. The X server talks to its DRI module (these *_dri.so files) and/or the DRI driver on the X server, which talks to the hardware. The DRI module on the X server also talks to the kernel DRI module via the DRM library. This is also pretty much what happens for the case of a 2D application: the application talks to the Xlib which encodes the requests and sends them to the X server, which decodes them and passes whatever is appropiate to the XAA module which talks to the hardware. For indirect rendering, the application talks to the X server via the GLX protocol (there's no library talking to the hardware in this case). The server decodes the GLX requests and renders them appropriately (which means either via a software renderer, or a hw accelerated one). I'm not sure about the *current* DRI implementation (which is a shame, because *this* is the counter argument), but I *think* there's no hw acceleration for the indirect case. This means, the dri modules have to be shipped with the X server package, not with the GL library package. HTH, Marcelo