Driver Suite for Linux
convert PayPal transactions to IIF, OFX, QIF
2out 2in EPP
for Linux and Windows
for 8 bits of sound
Linux drivers for MK3/4 PCI
C exception/signal handling lib
to various software
and small scripts
to lighting stuff
XFree86 compilation guide
Updating the XFree86 server can be a tricky task, because of many libraries involved and the official XFree86 archives don't contains the latest and greatest versions of all requiered libs. This guide is meant to help you with some stumbling blocks which hinder you in setting up a decent X server, up to and including XFree86 4.5.0.
You should have a thorough understanding of the unix build processes, the file system and generell usage of headers and libraries in a *nix environment. If you carelessly follow the steps in this guide you may well render your system useless or damage it in a non-predictable way. Please read the guide completely once to get an overview what I recommend to do.
Remember that you can not overwrite your existing X configuration and directories with X running. So make the following steps from a textmode console.
Download the necessary software
Compile and Install XFree86
The utils*.tgz archive contains GNU tar and zlib. However I would recommend you check that you have the latest versions already installed on your system and update as necessary from the original sites.
The doctools*.tgz archive contains some utilities used for SGML processing. You should build and install this package.
Now simply unpack all XFree86*.tgz archives. They should all unpack
Up to this point you could make the build process with a running
X. To install the new X shutdown X and work on in the text console. I
advise you keep a backup of your current X. A simple rename of the
Install your compiled X with
Now would be a good time to check for some bogus X11 header
floating around in your system. Please look for directories named
Optional: Install Graphics Card drivers
If you have to use any graphic card drivers which are not included with the XFree86 distributions (for example if you have a NVidia card) you should now install those drivers.
After your drivers are installed start X to see if the new X server and drivers are working correctly. If X is not running fix it first before going on.
Fix OpenGL headers
XFree86 often does not include the latest official
headers. Furthermore those header files are often overwritten with
crippled header files by graphic card drivers (NVidia once again). You
should get yourself at least the latest official OpenGL headers and
copy them into your include directory. While you are at it you should
also look if you have other OpenGL header floating around in your
system. Please look for the following directories if they exists,
respectively if they contain any files:
Fix pkg-config path
We have to register the package directory /usr/X11R6/lib/pkgconfig
for pkg-config. Add a line like
Fix Truetype rendering
The XFree86 sources contain a version of the Freetype library. However due to patent problems the standard versions of Freetype do not provide the best rendering mode out of the box. You have to compile your own version of the Freetype library to enable them. You should also make sure, that no other versions of the library are available on your system.
As first step you should remove any old freetype files on your harddrive. Unpack the freetype2 archive and configure it with
Now unpack the new Freetype library (third time) and have a look at the file
XFree86 4.4.0 currently ships with fontconfig 1.0.2, which is heavily outdated. We have to install the new fontconfig 2.3.1. Similar to freetype we install the new version into /usr/X11R6 to overwrite the old version supplied with XFree.
At first we remove any old fontconfig files on our filesystem.
Now unpack fontconfig a third time and configure it with its config
directory as /etc:
You can also install the latest version of the Xft library. Do similar to the freetype and fontconfig libs; first delete old files from /usr and /usr/local then install into /usr/X11R6.
Xft 2.1.2 has a small bug with freetype header
inclusing. Use the following patch to fix:
Use this shell script to patch and build xfree86, freetype, fontconfig and xft applying the patches. You may have to adjust the filenames and directories depending on the software versions you wish to install.
XFree86 also installs a version of the Expat XML Parser. You may have a version of expat already in /usr or /usr/local which you could remove (at least the include files) to prevent confusion of your build environment in the future.
As you have just made a major update to your X system this would be a good point to rebuild other basic parts of the GUI frameworks, like gtk/gnome/wxWidgets, qt/kde or Lesstif so they can use the latest APIs.
This (german) Howto explains how to enable the autohinter in your fonts.conf file.
Questions / Contact
For questions and comments contact Dirk Jagdmann <firstname.lastname@example.org>