Question about xorg.conf.d's searching path

Zhigang Gong zhigang.gong at
Tue Mar 27 02:38:55 PDT 2012



I’m building xorg in a local directory $HOME/xorg, then all libraries will
go to $HOME/xorg/lib,

And all the configure files will go to $HOME/xorg/share/X11/xorg.conf.d/,
such as the 10-evdev.conf.


My question is, when I run this local Xorg it will not search the configure
file at the local configure directory:


Instead, it searches the system’s xorg configuration file at:




So you can see, when I run the new Xserver, it will load the old
configuration files rather than the correct files

Installed at local configuration directory.


I traced into the source code, and found the reason is as below:


the macro SYS_CONFIGDIRPATH’s defined as "/usr/share/X11/%X," "%D/X11/%X", 

And it will be used to find the system config path. And the finding process
is at function OpenConfigDir(), the finding mechanism

is to scan the SYS_CONFIGDIRPATH from left to right, and if it successfully
find a directory, then it stop finding next. As my system has

a /usr/share/X11/xorg.conf.d, it stop to find the next path which is
pointing to my local directory and which is the one should be

used here IMHO. As all the building process in my local building repository
will install configuration files into local files rather than

the /usr/share/X11/xorg.conf.d.


I know there may be many duplicate config files in these two directories, so
we have to pick one and discard the other one. In my

opinion, the local directory should be higher priority. Otherwise, how can
we ensure we use the correct file when we build a new

xserver which has difference config files?


Any suggestion?



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the xorg-devel mailing list