Xfree in opt
From CourvilleWiki
Xfree in opt: how to install latest cvs XFree in /opt/X11R6
This is a trick I learned for jailing installation of XFree in /opt/X11R6 in order to avoid conflicts with the standard debian xfree packages that are quite outdated now (4.2.1).
All you need is:
- retreive either latest snapshot of xfree [1] (4.3.99.902) or latest cvs snapshot:
cvs -d :pserver:anoncvs@anoncvs.xfree86.org:/cvs login passwd: 'anoncvs' cvs -z3 -d :pserver:anoncvs@anoncvs.xfree86.org:/cvs co xc
- create host specific configuration file xc/config/cf/host.def containing for the ezra processor
#define DefaultGcc2i386Opt -march=c3 -O3 -mmmx -m3dnow /* #define BuildServersOnly YES */ #define GccWarningOptions -pipe #define HasMTRRSupport YES #define HasMMXSupport YES #define Has3DNowSupport YES #define HasSSESupport NO #define ProjectRoot /opt/X11R6-ezra #define NothingOutsideProjectRoot YES #define EtcX11Directory ProjectRoot/etc
xor for the nehemiah processor:
#define DefaultGcc2i386Opt -march=i686 -O3 -mmmx -msse /* #define BuildServersOnly YES */ #define GccWarningOptions -pipe #define HasMTRRSupport YES #define HasMMXSupport YES #define Has3DNowSupport YES #define HasSSESupport NO #define ProjectRoot /opt/X11R6-ezra #define NothingOutsideProjectRoot YES #define EtcX11Directory ProjectRoot/etc
- recompile the whole through a make World >& World.log
- install it: make install && make install.man
- change your PATH variable to execute first /opt/X11R6/bin binaries: export PATH=/opt/X11R6/bin:${PATH}
- change global library paths by editing /etc/ld.so.conf file and adding on top of it:
/opt/X11R6/lib
- in order to use dri from via own cle266 graphic engine linux drivers [2] install the following via binaries :
PREFIX=/opt/X11R6
cp via_dri.so ${PREFIX}/lib/modules/dri/
cp libdri.a ${PREFIX}/lib/modules/extensions/
cp libGL.so.1.2 ${PREFIX}/lib/
cp -f libGL.so.1.2 ${PREFIX}/lib/
rm -f ${PREFIX}/lib/libGL.so
rm -f ${PREFIX}/lib/libGL.so.1
ln -s ${PREFIX}/lib/libGL.so.1.2 ${PREFIX}/lib/libGL.so
ln -s ${PREFIX}/lib/libGL.so.1.2 ${PREFIX}/lib/libGL.so.1
rm -f /usr/lib/libGL.so
rm -f /usr/lib/libGL.so.1
ln -s ${PREFIX}/lib/libGL.so.1.2 /usr/lib/libGL.so
ln -s ${PREFIX}/lib/libGL.so.1.2 /usr/lib/libGL.so.1
cp libglut.so.3.7.0 /usr/lib/
cp -f libglut.so.3.7.0 /usr/lib
cp -f libglut.so.3.7.0 /usr/lib
rm -f /usr/lib/libglut.so.3
ln -sf /usr/lib/libglut.so.3.7.0 /usr/lib/libglut.so.3
- other host.def options in order to reduce the time for XFree recompilation
#define BuildFontServer NO #define BuildSpeedo NO #define BuildType1 NO #define BuildCID NO #define BuildFreeType NO #define BuildXTrueType NO #define BuildFonts NO #define Build75DpiFonts NO #define Build100DpiFonts NO #define BuildSpeedoFonts NO #define BuildType1Fonts NO #define BuildCIDFonts NO #define BuildTrueTypeFonts NO #define BuildCyrillicFonts NO #define MakeLocalFontDir NO
If you need only the server part you can also use: #define BuildServersOnly YES.

