For DRI to work correctly there are several independent pieces that all have to be "in sync".
* XFree86 server which loads drm modules (via xfree86 driver module)
* The drm kernel module
* The agpgart kernel module
Does anybody know for the proprietary drivers (supplied by ATI and Nvidia) which pieces they replace and which pieces they expect to be there?
The Nvidia drivers do not use DRI. The 3dlabs, ATI, PowerVR, and Matrox (for their Parhelia hardware) drivers do. They will *all* replase the DRM kernel module, the XFree86 2D driver, and the client-side 3D driver (the *_dri.so file). Most include a custom libGL.so that provides some added functionality. The client-side 3D driver and the DRM kernel module are very tightly related, and should be considered a single entity (for the most part).
The reason I'm asking is to understand the consequences of changing an API. I'm curious to the answer in general, but in this specific instance the api I'm worried about is between the agpgart kernel module and drm kernel module. If the agpgart kernel module modifies it's API will that break things for someone who installs a proprietary 3D driver? Do the proprietary drivers limit themselves to mesa driver and retain the existing kernel services assuming the IOCTL's are the same?
Don't bring Mesa into this. Mesa fundamentally has nothing to do with DRI. It just so happens that all of the open-source DRI drivers use Mesa, but there is no such requirement. AFAIK, *none* of the closed-source drivers use any code from Mesa.
Or do they replace the kernel drm drivers as well? If so do they manage AGP themselves, or do they use the systems agpgart driver? Do they replace the systems agpgart driver?
I think both the ATI and Nvidia drivers have the option to either use agpgart or an internal implementation. I'm fairly certain that the PowerVR, 3dlabs, and Matrox drivers all use agpgart exclusively. All of the drivers, closed-source or open-source, depend on the agpgart interface. Changing that interface in a non-backwards compatible will break them all.
I guess my question is, what changes are under consideration?
_______________________________________________ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel