%general-entities; ]> $LastChangedBy$ $Date$ Introduction to Xorg-&xorg7-version; Xorg Xorg is a freely redistributable, open-source implementation of the X Window System. This system provides a client/server interface between display hardware (the mouse, keyboard, and video displays) and the desktop environment, while also providing both the windowing infrastructure and a standardized application interface (API). User Notes: Xorg Download and Installation Instructions Xorg-7.0.0 introduced a completely auto-tooled, modular build system. The code is otherwise identical to that in the Xorg-6.9.0 release. With the new modular build system, it is no longer possible to download the entire package in a single file. In fact, there may be as many as 280 files that need to be fetched from the download location. To assist with such a large task, installing is strongly recommended for downloading the needed files. A complete wget file list is provided for each section that includes multiple packages. Given the number of packages available, deciding which packages you need to install for your particular setup may seem a bit overwhelming at first. Take a look at this thread to get an idea of what you will need. If you are unsure, you should install all packages at the cost of extra disk space. Even if you intend to download only the necessary packages, you should download the wget file lists and use the package versions in the file. Newer packages are likely intended for the next release of Xorg and have already proved to be incompatible with the current version of GTK+. The installed size of Xorg can be reduced considerably by installing only the packages that you will need and use, however, the BLFS book cannot account for all dependencies and build options for the individual Xorg packages. The instructions assume that all packages have been built. A wiki page containing dependency information, is under development. You are encouraged to add to these pages if you discover additional information that may be helpful to other users who selectively install individual packages. Additionally, because of the large number of repetitive commands, you are encouraged to script the build. For most sections, you can use a script with commands similar to the following, to compile and install all packages in a wget file list: bash -e #exit on all errors for package in $(cat ../wgetlist.wget) do packagedir=$(echo $package | sed 's/.tar.bz2//') tar -xf $package cd $packagedir ./configure $XORG_CONFIG make make install cd .. rm -rf $packagedir rm -f $package done 2>&1 | tee -a ../xorg-compile.log #log the entire loop The above shell will exit immediately on error. If it runs to completion, you should manually exit the shell before continuing on to the next set of instructions. Setting up the Xorg Build Environment First, you'll need to create a working directory: mkdir xc && cd xc As with previous releases of the X Window System, it may be desirable to install Xorg into an alternate prefix. This is no longer common practice among Linux distributions. The common installation prefix for Xorg on Linux is /usr. There is no standard alternate prefix, nor is there any exception in the current revision of the Filesystem Hierarchy Standard for Release 7 of the X Window System. Alan Coopersmith of Sun Microsystems, has recently stated "At Sun, we were using /usr/X11 and plan to stick with it." Only the /opt/* prefix or the /usr prefix adhere to the current FHS guidelines. Choose your installation prefix, and set the XORG_PREFIX variable with the following command: export XORG_PREFIX="<PREFIX>" Throughout these instructions, you will use the same three configure switches for all of the packages. Create the XORG_CONFIG variable to use for substitution: export XORG_CONFIG="--prefix=$XORG_PREFIX --sysconfdir=/etc --localstatedir=/var" If you've decided to use an alternate prefix, be sure to add <PREFIX>/bin to your PATH environment variable and <PREFIX>/lib/pkgconfig to your PKG_CONFIG_PATH variable. For detailed instructions, see . You should also add <PREFIX>/lib to the /etc/ld.so.conf file.