Guide pour la compilation XFree86 3.2



Ce document décrit la compilation de XFree86 à partir des différentes distributions sources. Consultez en parallèle les fichiers spécifiques à votre système d'exploitation. Ce document ne décrit pas l'installation et la mise à jour d'une distribution binaire. Pour cela, consultez le fichier RELNOTES, et les fichiers README, spécifiques à votre système d'exploitation, et les documentations livrées avec votre distribution binaire.

Compiler XFree86 à partir des sources.

Note : consultez le fichier README spécifique à votre système d'exploitation avant de compiler XFree86. Ces fichiers contiennent des informations supplémentaires dont vous aurez besoin pour compiler correctement XFree86 sur votre système.

Nous vous recommandons d'utiliser une version GCC-2.7.x ou supérieure, pour compiler XFree86. N'utilisez pas la version 2.6.0 ou les versions 2.4.x antérieures à la 2.4.5 qui contiennent des bugs, vous rencontreriez des problèmes. Utilisez l'option -m486 qui offre de meilleures performances sur un 486 (supérieures de 5%), et qui ne provoque aucune dégradation sur un 386 (autre qu'un binaire plus gros). gcc-2.7.x est disponible sur prep.ai.mit.edu et sur d'autres sites d'archives GNU.

Vous avez besoin de :

  • La distribution X11R6.1 du Consortium X avec le fix 01 appliqué‚
  • R6.1pl1-3.2.diff.gz, cfont32.tgz
  • La distribution contrib X11R6.1 du Consortium X en option
  • contrib-3.2.diff.gz (un patch optionnel pour certaines distributions contrib du Consortium X)
  • Si vous voulez seulement compiler les serveurs X de XFree86, vous aurez besoin du fichier X32servonly.tgz
  • Les sources de XFree86 occupent environ 130Mo. 130Mo supplémentaires (pour les systèmes sans librairies partagées) sont nécessaires pour tout compiler. Vous aurez besoin d'environ 55-65Mo pour installer la distribution complète (pour les systèmes qui possèdent les librairies partagées). Il est possible de réduire l'espace requis, en supprimant certaines parties qui ne sont pas essentielles pour la compilation :
    xc/test           16Mo
    xc/doc/hardcopy   11Mo
    xc/doc/specs      27Mo
    
    Si vous n'avez pas besoin de compiler les polices, vous pouvez économiser 30Mo en supprimant xc/fonts. Si vous ne voulez pas compiler PEX ou PIE, vous pouvez supprimer :
    xc/programs/Xserver/XIE   3Mo
    xc/programs/Xserver/PEX5  2Mo
    
    Quelques Mo peuvent être économisés en supprimant les répertoires non XFree86 sous :
    xc/programs/Xserver/hw/
  • Il est aussi possible de configurer vos sources pour compiler seulement les serveurs XFree86 (nécessite environ 50-55Mo).
  • Le fichier contrib-3.2.diff.gz contient des patches pour une petite partie de la distribution contrib R6.1 du Consortium X. Il couvre les clients de la distribution core de X11R5 qui ont été supprimés de la distribution contrib de X11R6. Pour utiliser ce fichier, vous devez posséder les répertoires issus de la version finale de R6.1.
  • contrib/Imakefile
    contrib/programs/Imakefile
    contrib/programs/ico
    contrib/programs/listres
    contrib/programs/showfont
    contrib/programs/viewres
    contrib/programs/xbiff
    contrib/programs/xcalc
    contrib/programs/xditview
    contrib/programs/xedit
    contrib/programs/xev
    contrib/programs/xeyes
    contrib/programs/xfontsel
    contrib/programs/xgc
    contrib/programs/xload
    contrib/programs/xman
    contrib/programs/xmessage
    

    Démarrez à partir de:

    Si vous démarrez à partir de la distribution source R6.1 PL01, allez dans le répertoire situé au dessus de votre répertoire xc, et exécutez :
    gzip -d < R6.1pl1-3.2.diff.gz | patch -p -E
    gzip -d < cfont32.tgz | tar vxf -
    
    Si vous effectuez l'installation à partir d'une arborescence non modifiée, vous ne devriez pas rencontrer de problème. Vérifiez les rejets de patches et corrigez les problèmes.

    Si vous avez modifié certains fichiers (site.def, xf86site.def par exemple) vous devez les renommer et restaurer les fichiers originaux. Si vous n'avez pas de sauvegarde, vous pouvez vous les procurer sur ftp://ftp.x.org/pub/R6.1/xc.

    Si vous utilisez le patche sur une arborescence déjà utilisée, assurez-vous d'avoir exécuté ''make clean'' à partir du répertoire xc avec d'appliquer diffs.

    Si vous utilisez le patche pour le code contrib, allez dans le répertoire situé au dessus de votre répertoire contrib, et exécutez :

    gzip -d < contrib-3.2.diff.gz | patch -p -E
    

    Modifiez les paramètres.

    Lisez le fichier config/cf/xf86site.def. Modifiez les paramètres pour coller à votre configuration. S'il s'agit de votre première compilation, répondez par YES à l'option BuildFonts.

    Si vous ne voulez compiler que les serveurs, répondez par YES à l'option BuildServersOnly et par NO à l'option XnestServer.

    Effectuer les modifications, pour définir les serveurs à compiler :

    Serveur couleur SVGA (XF86_SVGA):       XF86SVGAServer
    Serveur 16 couleurs (S)VGA (XF86_VGA16):XF86VGA16Server
    Serveur accéléré ET4000/W32 (XF86_W32): XF86W32Server
    Serveur monochrome (XF86_Mono):         XF86MonoServer
    Serveur accéléré S3 (XF86_S3):          XF86S3Server
    Serveur accéléré S3 ViRGE (XF86_S3V):   XF86S3VServer
    Serveur accéléré 8514/A (XF86_8514):    XF86I8514Server
    Serveur accéléré Mach8 (XF86_Mach8):    XF86Mach8Server
    Serveur accéléré Mach32 (XF86_Mach32):  XF86Mach32Server
    Serveur accéléré Mach64 (XF86_Mach64):  XF86Mach64Server
    Serveur accéléré P9000  (XF86_P9000):   XF86P9000Server
    Serveur accéléré AGX (XF86_AGX):        XF86AGXServer
    Serveur I128 (XF86_I128):               XF86I128Server
    

    Pour compiler un serveur Mono+VGA2, fixez XF86MonoDualServer à YES.

    Pour compiler un serveur Mono+VGA16, fixez XF86VGA16DualServer à YES.

    Fixez ServerToInstall au serveur que vous voulez lier à X. Si vous ne le faites pas, le serveur sera le premier de la liste précédente.

    Les pilotes que vous voulez inclure dans le serveur sont aussi sélectionnés dans xf86site.def. Les pilotes utilisés par le serveur SVGA sont fixés par le paramètre XF86SvgaDrivers. Cela doit être une liste des noms de pilotes (en minuscules). L'ordre détermine l'ordre dans lequel les pilotes sont détectés au démarrage. Par défaut, tous les pilotes sont inclus. De même, les paramètres suivants spécifient les pilotes pour les autres serveurs :

    XF86Vga16Drivers	XF86_VGA16
    XF86Vga2Drivers	XF86_Mono (pilotes vga2)
    XF86MonoDrivers	XF86_Mono, XF86_VGA16 (autres pilotes mono)
    

    Les écrans SVGA, VGA16 et VGA2 possèdent des pilotes génériques, ils doivent donc se situer à la fin de la liste. En effet, la détection réussira pour toutes les cartes VGA.

    Formater la documentation.

    Si vous voulez formater la documentation XFree86, vous devrez vous procurer et installer linuxdoc-sgml-1.2.tar.gz ainsi que les patches qui se trouvent sur ftp://ftp.xfree86.org/pub/XFree86/3.2/Linuxdoc. Vérifiez le fichier xf86site.def et enlevez les commentaires des options Linuxdoc appropriées.

    Avant de compiler la distribution.

    Avant de compiler la distribution, lisez le fichier README spécifique à votre système dans xc/programs/Xserver/hw/xfree86/doc. Allez dans le répertoire xc et exécutez ''make World'' avec BOOTSTRAPCFLAGS défini comme cela vous est indiqué dans le fichier README. Il est conseillé de rediriger stdout et stderr vers World.Log pour détecter tout problème. Si vous utilisez une des sources tronquées, exécutez ''make -f Makefile.ini World''.

    Débuter la compilation.

    Si tout se passe bien, la compilation s'arrête au bout de deux à douze heures (ce qui dépend de votre système). Vérifiez le fichier World.Log pour voir s'il n'y a pas eu de problème.

    Si c'est le cas, vous pouvez installer les binaires. Lorsque vous utilisez les sources complètes, l'installation doit se faire à partir du répertoire xc.

    Si vous avez choisi l'option ServersOnly, l'installation doit se faire à partir de xc/programs/Xserver. Pour effectuer l'installation, exécutez ''make install'' et ''make install.man''. Assurez d'avoir assez d'espace disque dans /usr/X11R6.

    Si vous voulez effectuer l'installation vers un autre système de fichier que /usr, créez un lien symbolique vers /usr/X11R6 avant l'installation.

    Pour installer le binaire LinkKit (dans /usr/X11R6/lib/Server), exécutez à partir du répertoire xc la commande :

    make install.linkkit
    

    Compiler la version contrib.

    Pour compiler le reste de la version contrib supportée par Xfree86, assurez-vous d'avoir d'abord compilé et installé la distribution core. Allez ensuite dans le répertoire contrib et exécutez ''xmkmf -a; make''. Exécutez ensuite la commande ''make install'' et ''make install.man'' pour l'installer.

    Reconfigurer le serveur (distribution source).

    Pour compiler un jeu de plusieurs serveurs ou des serveurs avec plusieurs pilotes installés :

    1. Assurez-vous que les sources des nouveaux pilotes se trouvent dans les bons répertoires (exemple : les sources du pilote pour serveur SVGA doivent être dans xc/programs/Xserver/hw/xfree86/vga256/drivers).
    2. Modifiez les paramètres du serveur définis dans xf86site.def pour spécifier les serveurs à compiler. Modifiez aussi les listes de pilote selon vos besoins.
    3. A partir de xc/programs/Xserver, exécutez :
    make Makefile
    make Makefiles
    make depend
    make
    

    Reconfigurer le serveur (distribution binaire).

    Si vous avez installé le serveur binaire LinkKit, il est possible de reconfigurer les pilotes et certaines extensions dans les serveurs. Pour plus d'informations à ce sujet, consultez le fichier README.LinkKit.


    ©1996 Pour l'adaptation française : "Logiciels du Soleil"