XFree86 est une implémentation opensource librement redistributable de X Window System. XFree86 fournit une interface client/server entre le matériel d'affichage (souris, clavier et affichage vidéo) et l'environnement de bureau tout en apportant aussi l'infrastructure de fenêtrage et une interface standardisée des applications (API).
Téléchargement (HTTP): http://gnu.kookel.org/ftp/XFree86/4.3.0/source/
Téléchargement (FTP): ftp://ftp.xfree86.org/pub/XFree86/4.3.0/source/
Taille du téléchargement: 64 Mo
Estimation de l'espace disque requis: 633 Mo
Estimation du temps de construction: 13,8 SBU
Les packages suivants sont inclus dans le package XFree86, néanmoins ils sont plus souvent mis à jour que le package XFree86 et sont hautement recommendés: expat-1.95.6, FreeType-2.1.5 et Fontconfig-2.2.1
Note : Si vous choisissez de ne pas installer ces packages séparés, le fichier host.def ci-dessous devra être modifié pour montrer à XFree86 la façon de les construire.
Plusieurs fichiers devront être récupérés à partir de l'emplacement de téléchargement:
X430src-1.tgz
X430src-2.tgz
X430src-3.tgz
X430src-4.tgz
X430src-5.tgz
X430src-6.tgz
X430src-7.tgz
Vous pouvez aussi télécharger le correctif: ftp://ftp.xfree86.org/pub/XFree86/4.3.0/fixes/4.3.0-4.3.0.1.diff.gz
Les trois premiers packages sont les programmes XFree86, le quatrième et le cinquième concernent les polices, le sixième contient la documentation standard et le dernier une version imprimable de la documentation. Il reste aussi deux packages doctools-1.3.1.tgz, contenant les programmes pour regénérer la documentation imprimable, et utils-1.1.0.tgz contenant les outils GNU TAR et zlib qui sont déjà installés sur un système LFS.
Pour vérifier l'intégrité de vos téléchargements, récupérez le fichier SUMS.md5sum. Puis:
md5sum -c SUMS.md5sum |
Les seules erreurs que vous devriez apercevoir sont pour les fichiers README, doctools-1.3.1.tgz et utils-1.1.0.tgz si vous ne les avez pas téléchargé.
Le sous-répertoire fixes contient aussi un SUMS.md5sum. Notez que c'est le même nom de fichier que les sommes des sources principales, donc vous devez renommer le fichier si vous le télécharger. Sinon, vous pouvez juste y jetez un oœl; et l'utiliser avec le fichier correctif:
md5sum 4.3.0-4.3.0.1.diff.gz |
Après le déballage des fichiers X430src-?.tgz et le décompressage du fichier diff, modifiez le répertoire xc et lancez:
patch -Np1 -i ./4.3.0-4.3.0.1.diff |
Si vous avez un Intel P6 (Pentium Pro, Pentium II et suivants), il est recommandé de compiler le support de MTRR (acronyme de Memory Type Range Registers) dans le noyau. Le noyau peut interfacer les CPU Cyrix et AMD avec l'interface MTRR, donc la sélection de cette option est aussi utile pour ces processeurs. Cette option se trouve dans le menu Processor type and features. Il peut améliorer la performance des opérations d'écriture d'images, de la 2,5 fois à plus sur les cartes vidéo PCI et AGP.
Dans la section "Character Devices", activez le support de l'AGP et sélectionnez le support du chipset de votre carte mère. Si vous ne connaissez pas le chipset, vous pouvez sélectionner tous les types de composants, ce qui va agrandir la taille de votre noyau. Vous pouve déterminer habituellement le chipset de votre carte mère en lançant:
cat /proc/pci |
Dans le section "Character Devices", désactivez le 'Direct Rendering Manager' sauf si vous avez une carte vidéo disposant de l'infrastructure 'Direct Rendering Infrastructure' (DRI). Voir la section DRI plus bas pour une liste. Si vous activez le DRI ici, assurez-vous de sélectionner la carte vidéo, en tant que module, carte vidéo pour laquelle vous souhaitez disposer du support.
Si vous faites tout changement dans la configuration du noyau, recompilez-le avec
make dep && make bzImage && make modules && make modules_install |
Copiez /usr/src/linux/arch/i386/boot/bzImage et /usr/src/linux/System.map dans /boot, éditez /etc/lilo.conf de manière appropriée et lancez lilo.
Note : Si vous construisez XFree86 dans un environnement chroot, assurez-vous que la version du noyau du système de base et du système cible sont les mêmes. Ceci est tout spécialement important si vous avec activé le support de DRI en tant que module en suivant les instructions ci-dessus.
Bien que XFree86 compilera sans fichier host.def, le fichier suivant est recommandé pour personnalisation de l'installation. Commencez à partir du répertoire xc.
Note : Le fichier host.def est un fichier C, pas le fichier de configuration habituel. Si vous effectuez des changements, assurez-vous que les caractères de commentaire (/* et */) sont corrects. La plupart des entrées dans le fichier ci-dessous ne sont plus en commentaires avec les paramètrages par défaut.
cat > config/cf/host.def << "EOF" /* Begin XFree86 hosts.def file */ /* System Related Information. If you read and configure only one * section then it should be this one. The Intel architecture defaults are * set for a i686 and higher. Axp is for the Alpha architecture and Ppc is * for the Power PC. Note that there have been reports that the Ppc * optimization line causes segmentation faults during build. If that * happens, try building without the DefaultGcc2PpcOpt line. **************/ /* #define DefaultGcc2i386Opt -O2 -fomit-frame-pointer -march=i686 */ /* #define DefaultGcc2AxpOpt -O2 -mcpu=ev6 */ /* #define DefaultGcc2PpcOpt -O2 -mcpu=750 */ /* The following definitions are normally set properly by XFree86's scripts. * You can uncomment them if you want to make sure. ************************/ /* #define HasMTRRSupport YES */ /* Enabled in kernel see kernel docs */ /* #define HasMMXSupport NO */ /* Any i586 or above */ /* #define HasKatmaiSupport NO */ /* PIII SSE instuctions */ /* #define Has3DNowSupport NO */ /* AMD instructions */ /* This setting reduces compile time a little by omitting rarely used input * devices. You can find the complete list in config/cf/xfree86.cf ********/ #define XInputDrivers mouse void /* VIDEO DRIVERS ***********************************************************/ /* If you are sure you only want the drivers for one or a few video cards, * you can delete the drivers you do not want. *****************************/ #define XF86CardDrivers mga glint nv tga s3virge rendition \ cirrus vmware tseng chips apm \ fbdev i128 \ ati AgpGartDrivers DevelDrivers ark cyrix \ vesa vga XF86OSCardDrivers /* FONT SERVER AND LIBRARY SETTINGS ****************************************/ /* These setting should be set by default, but we are making sure. *********/ #define BuildFontServer YES /* Need for GhostScript Print Server */ #define SharedLibFont YES #define CompressAllFonts YES #define GzipFontCompression YES /* These setting ensure we use the proper version of freetype **************/ #define HasFreetype2 YES #define HasFontconfig YES #define BuildFreetype2Library NO #define Freetype2Dir /usr /* The font path can be redefined in the XF86Config file *******************/ #define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/75dpi/,\ $(FONTDIR)/100dpi/,$(FONTDIR)/Type1,$(FONTDIR)/local,\ $(FONTDIR)/TrueType,$(FONTDIR)/CID,$(FONTDIR)/Speedo /* INTERNATIONAL FONTS. Change to YES if you need any of them. These are * the defaults. ***********************************************************/ #define BuildCyrillicFonts NO #define BuildArabicFonts NO #define BuildISO8859_6Fonts NO #define BuildGreekFonts NO #define BuildISO8859_7Fonts NO #define BuildHebrewFonts NO #define BuildISO8859_8Fonts NO #define BuildKOI8_RFonts NO #define BuildJapaneseFonts NO #define BuildJISX0201Fonts NO #define BuildKoreanFonts NO #define BuildChineseFonts NO /* DOCUMENTATION SETTINGS **************************************************/ /* These setting are the defaults. *****************************************/ #define BuildLinuxDocHtml NO /* X Docs in Html format */ #define BuildLinuxDocPS NO /* X Docs in PostScript format */ #define BuildAllSpecsDocs NO /* Various docs */ #define BuildHtmlManPages NO /* Linux Distribution Information - Not essential that it is totally right.*/ #define LinuxDistribution LFS /* GENERAL SETTINGS: You generally want to leave these alone when * building X on an LFS system *********************************************/ #define GccWarningOptions -pipe #define TermcapLibrary -lncurses #define XprtServer YES /* Needed by realplayer */ #define XnestServer YES #define XAppLoadDir EtcX11Directory/app-defaults #define VarLibDir /var/lib #define XFree86Devel NO #define FSUseSyslog YES #define ThreadedX YES #define HasZlib YES #define HasNCurses YES #define HasPam NO #define SystemManDirectory /usr/share/man #define HasLibCrypt YES #define InstallXinitConfig YES #define InstallXdmConfig YES #define ForceNormalLib YES #define BuildSpecsDocs NO /* End XFree86 host.def file */ EOF |
Editiez le fichier suivant votre matériel et vos désirs.
Installez XFree86 en lançant les commandes suivantes:
WORLDOPTS="" make World 2>&1 | tee xfree-compile.log && make install && make install.man && ln -sf /usr/X11R6/bin /usr/bin/X11 && ln -sf /usr/X11R6/lib/X11 /usr/lib/X11 && ln -sf /usr/X11R6/include/X11 /usr/include/X11 |
Si vous possédez une des cartes DRI supportées et que vous avez activé le support de DRI dans les modules du noyau comme expliqué ci-dessus, vous avez maintenant besoin de mettre à jour les modules du noyau pour vous assurer qu'ils sont compatibles avec la version actuelle d'XFree86. Pour cela, réalisez ce qui suit:
cd programs/Xserver/hw/xfree86/os-support/linux/drm/kernel && make CC=/opt/gcc-2.95.3/bin/gcc -f Makefile.linux && mkdir -p /lib/modules/`uname -r`/kernel/drivers/char/drm/ && cp gamma.o radeon.o sis.o r128.o i810.o i830.o mga.o tdfx.o \ /lib/modules/`uname -r`/kernel/drivers/char/drm/ && depmod -a |
Avertissement |
Si vous recompilez ou mettez à jour votre noyau, vous aurez besoin de recopier les modules du pilotes dans la bibliothèque des modules du noyau et de relancer depmod. |
Note : Si vous avez ajouté le support de l'AGP en module lors de la compilation du noyau, vous pouvez ajouter une ligne dans /etc/modules.conf pour vous assurer que le module agpgart est bien chargé. Par exemple, la version AGP de la carte vidéo Radeon utilisera le pilote radeon.o. Il aura besoin de cette ligne
dans /etc/modules.conf pour activer le support DRI.
en dessous de radeon agpgart
make World 2>&1 | tee xfree-compile.log: Cette commande lance plusieurs makefiles pour constuire complètement le système. WORLDOPTS="" désactive la configuration par défaut pour continuer même en cas d'erreurs. 2>&1 redirige les messages d'erreurs vers la même sortie que la sortie standard. La commande tee permet de visusaliser la sortie en même temps que l'enregistrement des résultats dans un fichier.
Note : Lors de la reconstruction de XFree86, une commande séparée, qui peut être utilisée seulement si des changements mineurs ont lieu dans les sources, est make Everything. Ceci ne supprime pas automatiquement les fichiers générés et reconstruit seulement les fichiers ou programmes qui ne sont plus à jour.
ln -sf /usr/X11R6/bin /usr/bin/X11, ln -sf /usr/X11R6/lib/X11 /usr/lib/X11 et ln -sf /usr/X11R6/include/X11 /usr/include/X11: Ces commandes sont présentes pour permettre à d'autres packages (cassés) d'être construit avec XFree86. Nous le faisons même si FHS (Filesystem Hierarchy Standard, le Standard de Hiérarchie du système de Fichiers) dit: "En général, les logiciels ne doivent pas être installés ou gérés via les liens symboliques ci-dessus. Ils sont à l'intention des utilisateurs pour leur propre utilisation."
make -f Makefile.linux : Ceci construit les modules noyau compatible avec XFree86.
cp gamma.o radeon.o sis.o r128.o i810.o i830.o mga.o tdfx.o /lib/modules/`uname -r`/kernel/drivers/char/drm/ : Place les modules du noyau là où celui-ci les attend.
depmod -a : Met à jour le fichier modules.dep pour la gestion des modules.
Editez /etc/ld.so.conf et lancez /usr/X11R6/lib. Lancez
ldconfig |
Ajoutez /usr/X11R6/bin à votre variable d'environnement PATH dans .bash_profile. Vous devriez apercevoir quelque chose comme PATH=$PATH:/usr/X11R6/bin et être placé avant la commande export PATH.
Lancez
source ~/.bash_profile |
Configurez votre souris:
cd /dev ln -s psaux mouse |
Créez le fichier XF86Config avec
cd ~ XFree86 -configure |
Editez XF86Config.new suivant votre système. Les détails de ce fichier sont indiqués dans la page man man XF86Config. Vous pourriez vouloir faire:
Section "Files". Changer l'ordre du chemin des polices. Vous pouvez vouloir placer les polices 100dpi avant les polices 75dpi si votre système est plus près de 100 points par pouce. Vous pourriez vouloir supprimer complètement quelques répertoires de polices.
Section "Monitor". Spécifiez les valeurs de VertRefresh et HorizSync si le système ne détecte pas automatiquement le moniteur et ses valeurs.
Section "InputDevice". Vous pouvez vouloir changer le taux de répétition automatique en ajoutant Option "Autorepeat" "250 30".
Section "Device". Vous pouvez initialiser certaines options disponibles dans le pilote vidéo que vous avez sélectionné. Une description des paramètres du pilote se trouve sur la page man de votre pilote.
Section "Screen". Ajouter une indication DefaultDepth telle que: DefaultDepth 16. Dans la sous-section (SubSection) pour votre profondeur par défaut, ajouter les lignes 'modes line' telles que: Modes "1280x1024" "1024x768". Le premier mode affiché va normalement être la résolution lors du démarrage.
Testez le system avec
XFree86 -xf86config ~/XF86Config.new |
Déplacez le fichier de configuration à son emplacement final
mv ~/XF86Config.new /etc/X11/XF86Config-4 |
Créez .xinitrc
cat > ~/.xinitrc << "EOF" # Begin .xinitrc file xterm -g 80x40+0+0 & xclock -g 100x100-0+0 & twm EOF |
Lancez X avec
startx |
Le package XFree86 contient le système X Window pour Linux (et d'autres systèmes d'exploitation). Il inclut le serveur X, des polices, xterm, un simple gestionnaire de fenêtres (twm), des utilitaires variés, des pilotes vidéos et des pilotes d'entrées variés comme la souris et le clavier.
XFree86 contient aussi les bibliothèques et les fichiers d'entêtes pour le développement des programmes X Window.
Note : La liste suivante de programmes n'est pas extensible. La liste complète est dans /usr/X11R6/bin. Pour des informations supplémentaires sur ces programmes, voir les pages man respectives.
XFree86 est l'implémentation X11R6 du serveur X Window.
Un programme interactif pour générer un fichier XF86Config pour utiliser avec des serveurs X XFree86.
xf86cfg est un outil pour configurer XFree86 qui peut être utilisé pour soit écrire le fichier de configuration initial soit personnaliser la configuration courante.
startx est un script pour initialiser la session X. Il lance xinit.
Ce programme est utilisé pour lancer le serveur X Window.
twn est un gestionnaire de fenêtres pour X Window.
xterm est un émulateur de terminal pour X.
xwininfo> est un utilitaire d'informations sur les fenêtres pour X.
x11perf est un programme de tests de performance pour serveur X11.
xslfonts est un programme pour lister les polices disponibles sur le serveur X.
xvidtune est un tuner de mode vidéo pour XFree86.
xload affiche la charge moyenne du système pour X.
xcalc est une calculatrice scientifique pour X.
xclock et oclock sont des horloges pour X.
xmodmap est un utilitaire pour modifier des plans de codage de clavier et du pointeur dans X.
Précédent | Sommaire | Suivant |
Installer X | Niveau supérieur | Composants XFree86 |