Xfree in opt

From CourvilleWiki

Jump to: navigation, search

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.

Personal tools