The default directory to look for DRI drivers is "/usr/X11R6/lib/modules/dri" now. Since the monolithic XOrg build defines DEFAULT_DRIVER_DIR on the command line, this can safely be changed to "/usr/lib/xorg/modules/dri" for a sensible future default.
Created attachment 2858 [details] [review] change-default-dri-driver-dir.patch
Um, why /usr/lib/xorg? If anything, it should be /usr/lib/mesa. I'm running with /usr/lib/dri (no /modules/dri, just with the modules straight under /usr/lib/dri) for the Ubuntu build of Mesa, at least for the time being.
Because the dri modules have historically installed into the dri/ subdirectory of where all the other X modules go. And they install to /usr/lib/xorg/modules.
Sure, but libGL is no longer being provided by xorg; it's being provided by Mesa in the modular world, which is a completely separate project to X.Org, and may well be installed in a separate prefix. $(xorg_prefix)/lib/xorg/modules contains modules for the X.Org server; $(mesa_prefix)/lib/dri, presumably, contains client-side modules for Mesa's libGL.
You do have a point, but I think it will be confusing for people to have 2D drivers in one place and 3D drivers somewhere completely different when they used to be in the same place.
They used to be in the same place because the 3D drivers only worked in the X environment. That's going to change with standalone EGL.
OK then, let's change it to somewhere else. The one thing I can say is that "/usr/X11R6/lib/modules/dri" isn't the right place. Daniel's suggestion of /usr/lib/mesa/dri works for me.
I'm not sure it's a good idea for the path to contain 'mesa', as there could be other drivers in there that don't have much if anything to do with Mesa. FWIW, /usr/lib/dri sounds good to me.
Of the 3 locations (/usr/lib/xorg, /usr/lib/mesa, /usr/lib/dri), the one Michel suggested seems to make the most sense to me. Ultimately, the DRI isn't X specific, so /usr/lib/dri seems to make the most sense.
Created attachment 2935 [details] [review] change-default-dri-driver-dir-2.patch K, /usr/lib/dri it is.
I think this change should only be done in the modular build system, not in the monolith. For the monolith we have generally not changed any of the default paths, but we have done so in the modular tree. The actual path should be configurable, so a new configure command line switch will need to be added.
The change is only visible in the modular build system, as I suggested in comment #0, because the monolith passes -DDEFAULT_DRIVER_DIR as it compiles. In addition, mesa is an external package from the monolith so it's difficult for me to justify that it should be obeying everything XOrg does. Perhaps mesa will at some point accept command-line switches, but for now you could easily set DEFAULT_DRIVER_DIR as one of the defines in configs/. But really this is about changing the default, not about all the ways to configure it that could be added. It doesn't affect the monolith in any way I can see, so I don't understand that argument.
So why don't we change for 6.[56]?
This got fixed over a year ago after some mailing list discussion and is now ${libdir}/dri. http://cgit.freedesktop.org/mesa/mesa/commit/?id=5dbbde5b
Mass version move, cvs -> git
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.