Framebuffer HOWTO
 Alex Buell,  <mailto:[email protected]>,
 traduit par Fran�ois Romieu,  <[email protected]>
 v1.2, 22 Juillet 1999

 Ce document d�crit l'emploi des p�riph�riques d'acc�s � la m�moire
 vid�o avec diverses configurations mat�rielles munies de Linux. La
 gestion de plusieurs �crans est �galement trait�e.
 ______________________________________________________________________

 Table des mati�res























































 1. Contributions

 2. Qu'est-ce qu'un tampon de m�moire vid�o ?

 3. Quels avantages pr�sente le tampon de m�moire vid�o ?

 4. Utilisation du tampon de m�moire vid�o sur architecture Intel

    4.1 Vesafb, qu�s acco ?
    4.2 Comment faire fonctionner le gestionnaire vesafb ?

 5. De quels modes VESA puis-je me servir ?

    5.1 Utilisation des cartes graphiques Matrox
    5.2 Utilisation des cartes graphiques Permedia.
    5.3 Utilisation des cartes graphiques ATI
    5.4 Quelles cartes graphiques se conforment aux sp�cifications VESA 2.0 ?
    5.5 Vesafb est-il modularisable ?
    5.6 Comment puis-je modifier le curseur ?

 6. Le pilote de m�moire vid�o sur les Atari m68k

    6.1 Quels sont les modes disponibles sur les machines Atari m68k ?
    6.2 Sous-options suppl�mentaires sur les machines Atari m68k
    6.3 Sous-option "internal" sur les machines Atari m68k
    6.4 Sous-option "external" sur les machines Atari m68k

 7. Le pilote de m�moire vid�o avec les Amiga

    7.1 Quels sont les modes disponibles sur les machines Amiga ?
    7.2 Sous options suppl�mentaires sur les machines Amiga m68k
    7.3 Cartes d'extension graphiques g�r�es sur Amiga

 8. Le pilote de m�moire vid�o sur les Macintosh m68k

 9. Le pilote de m�moire vid�o sur les PowerPC

 10. Le pilote de m�moire vid�o sur les Alpha

    10.1 Modes disponibles
    10.2 Cartes graphiques g�r�es par le pilote de m�moire vid�o

 11. Le pilote de m�moire vid�o sur les SPARC

    11.1 Cartes graphiques g�r�es par le pilote de m�moire vid�o
    11.2 Configuration du gestionnaire de m�moire vid�o

 12. Le pilote de m�moire vid�o sur les MIPS

 13. Le pilote de m�moire vid�o sur les ARM

    13.1 Netwinders
    13.2 Archimedes Acorn
    13.3 Autres architectures � base d'ARM (SA 7110s et variantes)

 14. Gestion de la m�moire vid�o avec plusieurs �crans

    14.1 Introduction
    14.2 Retour
    14.3 Contributions
    14.4 Avertissements
    14.5 Propri�t� du document
    14.6 Mat�riel support�
    14.7 Logiciels commerciaux
    14.8 Logiciels n�cessaires
    14.9 Mise en route
       14.9.1 D�placement d'une console
       14.9.2 "fbset" et le param�trage du second moniteur
       14.9.3 X et le gestionnaire de m�moire vid�o
       14.9.4 Ex�cution du serveur X sur le second moniteur
    14.10 R�sum�
    14.11 Remarques et probl�mes
       14.11.1 Fonctionnement avec xdm
       14.11.2 L'utilitaire x2x
       14.11.3 Autres commandes utiles
       14.11.4 Annexe A. Script cvtmode.m pour Octave
       14.11.5 Annexe B.  Script "cvtfile" en Shell Bourne

 15. Gestion des fontes

 16. Commutation de mode

    16.1 X11 et vesafb ?

 17. Conversion des Modelines en param�tres d'affichage du pilote de m�moire vid�o

 18. Davantage d'informations ?



 ______________________________________________________________________

 11..  CCoonnttrriibbuuttiioonnss

 Merci aux personnes dont les noms suivent pour avoir aid� �
 l'am�lioration du HOWTO Framebuffer.


 �  Jeff Noxon [email protected]

 �  Francis Devereux [email protected]

 �  Andreas Ehliar [email protected]

 �  Martin McCarthy [email protected]

 �  Simon Kenyon [email protected]

 �  David Ford [email protected]

 �  Chris Black [email protected]

 �  N Becker [email protected]

 �  Bob Tracy [email protected]

 �  Marius Hjelle [email protected]

 �  James Cassidy [email protected]

 �  Andreas U. Trottmann [email protected]

 �  Lech Szychowski [email protected]

 �  Aaron Tiensivu [email protected]

 �  Jan-Frode Myklebust pour ses informations sur les cartes Permedia
    [email protected]

 �  Et les autres, trop nombreux pour tous figurer ici. Un grand merci
    � eux.

    Un grand merci � Rick Niles [email protected] qui a
    accept� que son Mini-HOWTO Multi-Head soit inclus dans ce HOWTO.
    Merci aux personnes suivantes pour avoir compil� les versions
    libc5/glibc2 du gestionnaire XF86_FBdev pour X11 sur les
    architectures Intel :

 �  Brion Vibber [email protected]

 �  Gerd Knorr [email protected]

 bien s�r l'auteur du code :

 �  Martin Schaller - auteur du concept originel de p�riph�rique
    d'acc�s � la m�moire vid�o.

 �  Roman Hodek [email protected]

 �  Andreas Schwab [email protected]

 �  Guenther Kelleter

 �  Geert Uytterhoeven [email protected]

 �  Roman Zippel [email protected]

 �  Pavel Machek [email protected]

 �  Gerd Knorr [email protected]

 �  Miguel de Icaza [email protected]

 �  David Carter [email protected]

 �  William Rucklidge [email protected]

 �  Jes Sorensen [email protected]

 �  Sigurdur Asgeirsson

 �  Jeffrey Kuskin [email protected]

 �  Michal Rehacek [email protected]

 �  Peter Zaitcev [email protected]

 �  David S. Miller [email protected]

 �  Dave Redman [email protected]

 �  Jay Estabrook

 �  Martin Mares [email protected]

 �  Dan Jacobowitz [email protected]

 �  Emmanuel Marty [email protected]

 �  Eddie C. Dost [email protected]

 �  Jakub Jelinek [email protected]

 �  Phil Blundell [email protected]

 �  S'il y en a d'autres, qu'ils se manifestent et ils seront cit�s.
    :o)

 22..  QQuu''eesstt--ccee qquu''uunn ttaammppoonn ddee mm��mmooiirree vviidd��oo ??

 Un tampon de m�moire vid�o d�finit une abstraction logicielle d'acc�s
 aux p�riph�riques vid�o. Il correspond � la m�moire d'affichage de
 certains contr�leurs graphiques et propose une interface unifi�e aux
 logiciels qui n'ont alors plus � se soucier des d�tails de bas niveau
 relatifs au mat�riel [Extrait du fichier framebuffer.txt �crit par
 Geert Uytterhoeven's. Se reporter aux sources du noyau].


 33..  QQuueellss aavvaannttaaggeess pprr��sseennttee llee ttaammppoonn ddee mm��mmooiirree vviidd��oo ??


 Le logo de linux au d�marrage !  Plus s�rieusement, on dispose d'une
 interface ind�pendante de l'architecture mat�rielle. Les gestionnaires
 de console des machines de type Intel sont rest�s radicalement
 diff�rents de ceux des autre plate-formes jusqu'� une phase de
 d�veloppement avanc�e des noyaux 2.1.x. Avec l'introduction dans le
 noyau 2.1.109 de cette interface, les choses se sont am�lior�es : la
 gestion des consoles sur PC s'est uniformis�e, les consoles en mode
 graphique affichant le logo du pingouin ont fait leur apparition et le
 code s'est propag� aux autres types de machines. Notez que les noyaux
 2.0.x ne disposent pas du gestionnaire d'acc�s � la m�moire vid�o.
 Peut-�tre quelqu'un finira-t-il par int�grer le code des versions
 2.1.x dans ces noyaux. Le portage version 0.9.x pour les machines m68k
 fai exception car il int�gre le pilote.  _A_v_e_c _l_a _d_i_s_p_o_n_i_b_i_l_i_t_� _d_e_s
 _n_o_y_a_u_x _2_._2_._x_, _l_e _g_e_s_t_i_o_n_n_a_i_r_e _d_e _m_�_m_o_i_r_e _v_i_d_�_o _s_'_a_v_�_r_e _s_t_a_b_l_e _e_t
 _r_o_b_u_s_t_e_. _V_o_u_s _d_e_v_r_i_e_z _l_'_u_t_i_l_i_s_e_r _s_i _v_o_t_r_e _c_a_r_t_e _v_i_d_�_o _l_e _s_u_p_p_o_r_t_e _e_t
 _s_i _v_o_u_s _e_m_p_l_o_y_e_z _u_n _n_o_y_a_u _2_._2_._x_. _L_a _q_u_e_s_t_i_o_n _n_e _s_e _p_o_s_e _p_a_s _s_i _v_o_u_s
 _t_r_a_v_a_i_l_l_e_z _a_v_e_c _u_n _2_._0_._x_, _d_u _m_o_i_n_s _s_u_r _u_n _P_C_.


 �  0.9.x (m68k) - introduction du gestionnaire. Notez que les versions
    0.9.x �quivalent d'un point de vue fonctionnel � la version 1.0.9
    sur architecture Intel avec les am�liorations des 1.2.x.

 �  2.1.107 - apparition du gestionnaire de m�moire vid�o sur PC ainsi
    que des nouveaux pilotes pour les consoles. Le d�filement en
    arri�re n'est pas encore disponible.

 �  2.1.113 - ajout du d�filement en arri�re au pilote vgacon.

 �  2.1.116 - ajout du d�filement en arri�re au pilote vesafb.

 �  2.2.x - matroxfb et atyfb (cartes graphiques Matrox et ATI
    respectivement).

 Le gestionnaire de m�moire vid�o offre des possibilit�s int�ressantes
 si on pr�cise quelques options au noyau lors du d�marrage. Certaines
 sont sp�cifiques � un type de carte donn�.

 �  video=xxx:off - d�sactive l'auto-d�tection d'un pilote

 �  video=map:octal-number - associe des consoles virtuelles ( VC ) �
    un gestionnaire de m�moire vid�o

 �  video=map:01 VC0 est associ�e � FB0, VC1 � FB1, VC2 � FB0, VC3 �
    FB1...

 �  video=map:0132 VC0 est associ�e � FB0, VC1 � FB1, VC2 � FB3, VC4 �
    FB2, VC5 � FB0...

 La d�tection des gestionnaires de m�moire vid�o a lieu dans un ordre
 fix� au niveau du noyau. Vous pouvez l'alt�rer gr�ce � l'option
 video=xxx qui permet de forcer la d�tection de certains p�riph�riques
 avant les autres.
 44..  UUttiilliissaattiioonn dduu ttaammppoonn ddee mm��mmooiirree vviidd��oo ssuurr aarrcchhiitteeccttuurree IInntteell

 44..11..  VVeessaaffbb,, qquu��ss aaccccoo ??

 Vesafb est un gestionnaire de m�moire vid�o sur compatible PC d�di�
 aux cartes cartes graphiques conformes aux sp�cifications VESA 2.0.
 Son fonctionnement est li� de pr�s aux gestionnaires de m�moire vid�o
 g�n�riques du noyau.

 Vesafb permet le recours aux modes graphiques sur PC pour
 l'utilisation des consoles textes en point par point. Vesafb autorise
 �galement l'affichage d'un logo et c'est vraisemblablement ce pour
 quoi vous voulez vous en servir :o)

 On ne peut malheureusement pas utiliser vesafb avec des cartes VESA
 1.2.  En effet, ces cartes n'utilisent pas un adressage lin�aire. Par
 ce terme, on entend que tous les octets de la m�moire vid�o sont
 accessibles � un instant donn�. Historiquement, les anciennes cartes
 vid�o ne rendaient la m�moire graphique disponible qu'au travers d'une
 fen�tre de 64 ko qui correspondait � la taille de la plus grande zone
 de m�moire contig�e g�rable directement par le microprocesseur (d'o�
 les limitations des cartes CGA/EGA).  Quelqu'un �crira peut-�tre un
 gestionnaire de p�riph�riques vesafb12 pour ce type de cartes, mais il
 consommera une m�moire par ailleurs pr�cieuse pour le noyau et �a
 restera de toute fa�on un sale bricolage. :o(

 Il existe cependant un moyen d�tourn� d'acc�der aux fonctionnalit�s
 VESA 2.0 sur une carte VESA 1.2. Peut-�tre pouvez vous charger depuis
 le DOS un programme de type TSR qui, utilis� conjointement avec
 loadlin, aidera � configurer la carte pour les modes graphiques
 voulus. Cela ne marchera pas toujours. Ainsi, certaines cartes de chez
 Cirrus Logic, telles les VLB 54xx, se retrouvent � une position en
 m�moire (par exemple entre 15 et 16 Mo) qui en interdit l'utilisation
 sur les syst�mes munis de plus de 32 Mo de m�moire.  Rien de
 r�dhibitoire si on dispose d'un BIOS permettant de ne pas affecter de
 m�moire entre 15 et 16 Mo ("Memory Hole") mais il m'a sembl�
 comprendre que Linux n'aime pas �a. Si l'exp�rience vous tente, vous
 pouvez essayer UNIVBE (disponible sur l'Internet).

 Vous pouvez aussi essayer divers patches noyaux. Il en existe
 notamment pour les anciennes cartes S3 telles la S3 Trio ou la Virge
 qui se conforment � la norme VESA 1.2. Les patches sont disponibles
 via :
 <ftp://ccssu.crimea.ua/pub/linux/kernel/v2.2/unofficial/s3new.diff.gz>.


 44..22..  CCoommmmeenntt ffaaiirree ffoonnccttiioonnnneerr llee ggeessttiioonnnnaaiirree vveessaaffbb ??

 Il vous faudra recompiler le noyau. <!- autant que ce soit clair.
 G.A.--> A supposer que vous utilisiez menuconfig, vous devrez passer
 par les �tapes suivantes :

 Dans le menu "Console drivers" :

 �  VGA Text Console

 �  Video Selection Support

 �  Support for frame buffer devices (experimental)

 �  VESA VGA Graphic console

 �  Advanced Low Level Drivers

 �  Choisissez les gestionnaires Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp
    et 32bpp
 �  VGA character/attributes support

 Si votre processeur (de type x86) supporte le MTRR, activez le. Il
 permet d'acc�l�rer les copies entre la m�moire syst�me et la carte
 graphique. Vous pouvez naturellement le mettre en marche une fois la
 console op�rationnelle.  _I_M_P_O_R_T_A_N_T _: _p_o_u_r _l_e_s _n_o_y_a_u_x _2_._1_._x_, _a_c_t_i_v_e_z _l_e
 _c_h_o_i_x _d_e_s _f_o_n_c_t_i_o_n_n_a_l_i_t_�_s _e_x_p_�_r_i_m_e_n_t_a_l_e_s _v_i_a _l_e _m_e_n_u _`_`_C_o_d_e _M_a_t_u_r_i_t_y
 _L_e_v_e_l_'_'_. _C_e_c_i _e_s_t _i_n_u_t_i_l_e _p_o_u_r _l_e_s _n_o_y_a_u_x _2_._2_._x_.

 �  Prompt for development and/or incomplete code/drivers

 Le support des composants VGA (en mode texte) - vgafb - appartenait �
 la liste ci-dessus mais il en a �t� supprim� en raison de son
 obsolescence. Il dispara�tra sous peu. S�lectionnez plut�t "VGA Text
 Console".

 V�rifiez bien que le support "Mac variable bpp packed pixel" n'est pas
 activ�.  [En 2.1.111/112, il semblerait qu'il le soit si "Advanced Low
 Level Drivers" l'est. Ce n'est plus le cas en 2.1.113] Les fontes
 peuvent �galement �tre stock�es en m�moire mais rien n'y oblige et
 l'emploi de setfont du paquetage kbd-0.99 reste possible pour charger
 les fontes ad�quates (reportez vous � la section relative aux fontes).

 Assurez vous que rien n'est modularis�. [J'ai des doutes quant aux
 possibilit�s de modularisation de l'ensemble - corrections bienvenues]

 Vous devrez ensuite cr�er les p�riph�riques associ�s au gestionnaire
 de m�moire vid�o dans le r�pertoire /dev. Pour le premier, il vous
 suffit de taper

 ______________________________________________________________________
 # mknod /dev/fb0 c 29 0
 ______________________________________________________________________


 Les suivants doivent �tre multiples de 32, soit, pour /dev/fb1 :

 ______________________________________________________________________
 # mknod /dev/fb1 c 29 32
 ______________________________________________________________________


 et ainsi de suite jusqu'au huiti�me si vous le souhaitez :

 ______________________________________________________________________
 # mknod /dev/fb7 c 29 224
 ______________________________________________________________________


 Recompilez votre noyau, modifiez l'/etc/lilo.conf de fa�on � ajouter
 le param�tre VGA=ASK, lancez lilo. Ceci vous permettra de choisir le
 mode graphique que vous voulez.

 Voici mon lilo.conf personnel :

 # LILO configuration file
 boot = /dev/hda3
 delay = 30
 prompt
 vga = ASK # L'utilisateur devra entrer le mode
 image = /vmlinuz
   root = /dev/hda3
   label = Linux
   read-only # Les systemes de fichiers autres que UMSDOS doivent etre montes
             # en lecture seule pour la phase de verification

 Red�marrez le noyau et essayez comme test d'entrer 0301 au prompt VGA.
 Vous devriez vous retrouver en 640x480 sur 256 couleurs avec un
 d�licieux petit logo de ping^H^H^H^Hmanchot.

 A l'invite LILO, vous DEVEZ fournir un chiffre sous la forme d'un
 ``0'' suivi de 3 digits sans ``x'' hexad�cimal. Si LILO fournit
 directement l'argument au noyau, ceci n'est pas n�cessaire.

 Une fois que tout marche convenablement, vous pouvez explorer les
 diff�rents modes (voir plus bas) et une fois choisi celui qui vous
 convient, il sera temps de le fixer via le param�tre ``VGA=x'' du
 fichier de configuration de lilo. La table plus bas vous fournira le
 nombre correspondant au mode. Par exemple, pour du 1280x1024 en 256
 couleurs, vous emploierez ``VGA=0x307'' et relancerez lilo. Le reste
 se trouve dans les HOWTO relatifs � lilo et � loadlin.

 _N_O_T_E _! vesafb n'active pas automatiquement le d�filement vers
 l'arri�re.  Vous devez le pr�ciser au noyau : video=vesa:ypan ou
 video=vesa:ywrap.  Les deux font la m�me chose mais de fa�on un peu
 diff�rente. ywrap est bien plus rapide qu'ypan mais risque de ne pas
 fonctionner sur des cartes VESA 2.0 ne respectant pas tout � fait les
 sp�cifications. L'option n'est disponible qu'� partir du noyau
 2.1.116. Les noyaux pr�c�dents ne permettent pas le d�filement vers
 l'arri�re.


 55..  DDee qquueellss mmooddeess VVEESSAA ppuuiiss--jjee mmee sseerrvviirr ??

 Cela d�pend de votre carte graphique,  en particulier de la quantit�
 de m�moire dont elle dispose. A vous de voir quels sont les modes qui
 fonctionnent le mieux.

 La table suivante fournit les num�ros des modes que vous pouvez passer
 � l'invite VGA (en fait les indices se sont vus ajouter 0x200 afin de
 s'y retrouver plus facilement dans la table).


 <!-- la table d'origine est decalee d'une colonne : en fait les modes
 0x300 et 0x301 representent le meme: 640x480, 8 bits-->
 Couleurs |   640x480   800x600 1024x768 1280x1024 1600x1200
 ---------+-------------------------------------------------
  4 bits  |       ?      0x302      ?        ?         ?
  8 bits  |0x300/0x301   0x303    0x305    0x307     0x31C
 15 bits  |      0x310   0x313    0x316    0x319     0x31D
 16 bits  |      0x311   0x314    0x317    0x31A     0x31E
 24 bits  |      0x312   0x315    0x318    0x31B     0x31F
 32 bits  |       ?        ?        ?        ?         ?


 8 bits = 256 couleurs, 15 bits = 32768 couleurs, 16 bits = 65536
 couleurs, 24 bits = 16,8 millions de couleurs, 32 bits : la m�me chose
 qu'en 24 bits mais les 8 bits restant peuvent servir � diverses fins
 et l'ensemble s'adapte parfaitement aux bus 32 bits PCI/VLB/EISA.  Les
 modes suppl�mentaires sont � la discr�tion du fabricant puisque la
 sp�cification VESA 2.0 s'arr�te au mode 0x31f. Il vous faudra s�rement
 t�tonner pour les trouver.


 55..11..  UUttiilliissaattiioonn ddeess ccaarrtteess ggrraapphhiiqquueess MMaattrrooxx

 Si vous disposez d'une carte Matrox, vous emploierez le pilote
 matroxfb au lieu de vesafb. Matroxfb g�re les Mystique Millenium I, II
 ainsi que les G100 et G200. Il permet aussi d'avoir plusieurs cartes
 dans la m�me machine.  La configuration d'une carte Matrox passe par
 les �tapes suivantes :

 Mise � jour du BIOS Matrox que vous trouverez �
 <http://www.matrox.com/mgaweb/drivers/ftp_bios.htm>. Attention, vous
 aurez besoin du DOS pour proc�der � la mise � jour.

 Allez dans le menu ``Code Maturity Level'' et activez l'option
 suivante :

 �  Prompt for development and/or incomplete code/drivers

    [Ceci peut changer dans les futurs noyaux. Le HOWTO sera alors
    modifi�]

 Dans le menu ``Console Drivers'', s�lectionnez :

 �  VGA Text Console

 �  Video Selection Support

 �  Support for frame buffer devices (experimental)

 �  Matrox Acceleration

 �  Suivant votre type de carte :

 �  Millennium I/II support

 �  Mystique support

 �  G100/G200 support

 �  Pour employer plusieurs cartes Matrox simultan�ment, activez
    l'option ``Multihead support''.

 �  Advanced Low Level Drivers

 �  Choisissez les pilotes Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp et
    ``32bpp packed pixel''.

 Recompilez votre noyau et modifiez le fichier /etc/lilo.conf.
 Inspirez vous du mien, vous irez plus vite.

 # Fichier de configuration de LILO
 boot = /dev/hda3
 delay = 30
 prompt
 vga = 792  # N�cessaire pour une r�initialisation dans un �tat normal
 # Linux bootable partition config begins
 image = /vmlinuz
   append = "video=matrox:vesa:440" # On bascule sur le pilote Matroxfb
   root = /dev/hda3
   label = Linux
   read-only # Non-UMSDOS filesystems should be mounted read-only for checking



 Vous devrez ensuite cr�er les p�riph�riques associ�s au gestionnaire
 de m�moire vid�o dans le r�pertoire /dev. Pour le premier, il vous
 suffit de taper :

 ______________________________________________________________________
 # mknod /dev/fb0 c 29 0
 ______________________________________________________________________


 Les suivants doivent �tre multiples de 32, soit, pour /dev/fb1 :

 ______________________________________________________________________
 # mknod /dev/fb1 c 29 32
 ______________________________________________________________________


 et ainsi de suite jusqu'au huiti�me si vous le souhaitez :

 ______________________________________________________________________
 # mknod /dev/fb7 c 29 224
 ______________________________________________________________________


 C'est tout ! Si l'un d'entre vous se sert simultan�ment de plusieurs
 cartes, qu'il me contacte aussi vite que possible afin que je docu�
 mente davantage.


 55..22..  UUttiilliissaattiioonn ddeess ccaarrtteess ggrraapphhiiqquueess PPeerrmmeeddiiaa..

 Les cartes de type Permedia ne sont pas support�es par le pilote
 vesafb.  Heureusement, il existe un gestionnaire de m�moire vid�o
 sp�cifique aux cartes Permedia. En supposant que vous employez
 menuconfig pour param�trer le noyau avant une compilation, ex�cutez
 les instructions suivantes :

 Allez dans le menu ``Code Maturity Level'' et activez l'option
 suivante :

 �  Prompt for development and/or incomplete code/drivers

    [Ceci peut changer dans les futurs noyaux. Le HOWTO sera alors
    modifi�]

 Dans le menu ``Console Drivers'', s�lectionnez :

 �  VGA Text Console

 �  Video Selection Support

 �  Support for frame buffer devices (experimental)

 �  Permedia2 support (experimental)

 �  Generic Permedia2 PCI board support

 �  Advanced Low Level Drivers

 �  Choisissez les pilotes Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp et
    ``32bpp packed pixel''.

 �  Si vous souhaitez incorporer les fontes, activez les options
    suivantes :

 �  Compiled-in fonts

 �  Sparc console 12x22 font

 Recompilez votre noyau et modifiez le fichier /etc/lilo.conf.
 Inspirez vous du mien pour aller plus vite.







 # Fichier de configuration de LILO
 boot = /dev/hda3
 delay = 30
 prompt
 vga = 792  # N�cessaire pour une r�initialisation dans un �tat normal
 # Linux bootable partition config begins
 image = /vmlinuz
   append = "video=pm2fb:mode:1024x768-75,font:SUN12x22,ypan" # then switch to pm2fb
   root = /dev/hda3
   label = Linux
   read-only # Non-UMSDOS filesystems should be mounted read-only for checking



 La ligne ``pm2fb:mode:1024x768-75,font:SUN12x22,ypan'' indique que le
 pilote op�rera dans une r�solution de 1024 par 768 � 75Hz avec les
 fontes SUN 12 par 22 (si vous les avez incluses). Ypan autorise le
 d�filement vers l'arri�re.  Vous pouvez employer un autre mode.

 Vous devrez ensuite cr�er les p�riph�riques associ�s au gestionnaire
 de m�moire vid�o dans le r�pertoire /dev. Pour le premier, il vous
 suffit de taper

 ______________________________________________________________________
 # mknod /dev/fb0 c 29 0
 ______________________________________________________________________


 Les suivants doivent �tre multiples de 32, soit, pour /dev/fb1 :

 ______________________________________________________________________
 # mknod /dev/fb1 c 29 32
 ______________________________________________________________________


 et ainsi de suite jusqu'au huiti�me si vous le souhaitez :

 ______________________________________________________________________
 # mknod /dev/fb7 c 29 224
 ______________________________________________________________________



 Pour davantage de renseignements concernant les fonctionnalit�s du
 pilote Permedia, consultez
 <http://www.cs.unibo.it/~nardinoc/pm2fb/index.html>.

 video=pm2fb:[option[,option[,option...]]]

 o� vous disposez des options suivantes :

 �  off pour d�sactiver le pilote.

 �  mode:resolution pour fixer la r�solution. Les modes proviennent du
    fichier fb.modes.ATI contenu dans le paquetage logiciel pbset de
    Geert Uytterhoeven. Tous les modes sont en 8 bits par pixel. Voici
    ceux disponibles :

 �  640x480-(60,72,75,90,100)

 �  800x600-(56,60,70,72,75,90,100)

 �  1024x768-(60,70,72,75,90,100,illo) illo=80KHz 100Hz

 �  1152x864-(60,70,75,80)

 �  1280x1024-(60,70,74,75)

 �  1600x1200-(60,66,76)

 �  Par d�faut, la console fonctionne en 640 par 480 � 60 Hz.

 �  font:fontname pour fixer la fonte. Par exemple : font:SUN12x22.

 �  ypan offre une taille virtuelle dans le sens vertical aussi
    importante que la m�moire vid�o l'autorise.

 �  oldmem ne servira qu'aux propri�taires d'une CybervisionPPC.
    Ajoutez cette option si votre carte est munie de SGRAM Fujitsu, ce
    qui est le cas des CyberVisionPPC ant�rieures au 30/12/1999.

 �  virtual (transitoire) est � employer si le noyau fixe lui-m�me les
    adresses d'acc�s sur les bus PCI.


 55..33..  UUttiilliissaattiioonn ddeess ccaarrtteess ggrraapphhiiqquueess AATTII

 Remarque : les informations qui suivent ne viennent pas de moi vu que
 je ne dispose pas d'une carte ATI pour les v�rifier. Si je me trompe,
 n'h�sitez pas � me corriger, � m'insulter ou � m'envoyer votre carte !
 8-)

 Les cartes ATI sont plus ou moins bien g�r�es par le pilote vesafb
 selon leur qualit� intrins�que. Heureusement, il existe un
 gestionnaire de m�moire vid�o sp�cifique aux cartes ATI. En supposant
 que vous employez menuconfig pour param�trer le noyau avant une
 compilation, ex�cutez les instructions suivantes :

 Allez dans le menu ``Code Maturity Level'' et activez l'option
 suivante :

 �  Prompt for development and/or incomplete code/drivers

    [ceci peut changer dans les futurs noyaux. Ce HOWTO sera alors
    modifi�]

 Dans le menu ``Console Drivers'', s�lectionnez :

 �  VGA Text Console

 �  Video Selection Support

 �  Support for frame buffer devices (experimental)

 �  ATI Mach64 display support

 �  Advanced Low Level Drivers

 �  Choisissez les pilotes Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp et
    ``32bpp packed pixel''.

 �  Si vous souhaitez incorporer les fontes, activez les options
    suivantes :

 �  Compiled-in fonts

 �  Sparc console 12x22 font

 Recompilez votre noyau et modifiez le fichier /etc/lilo.conf.
 Inspirez vous du mien, ce sera le plus rapide.


 # Fichier de configuration de LILO
 boot = /dev/hda3
 delay = 30
 prompt
 vga = 792  # N�cessaire pour une r�initialisation dans un �tat normal
 # Linux bootable partition config begins
 image = /vmlinuz
   append = "video=atyfb:1024x768,font:SUN12x22"
   root = /dev/hda3
   label = Linux
   read-only # Non-UMSDOS filesystems should be mounted read-only for checking



 La ligne ``atyfb:mode:1024x768,font:SUN12x22'' indique que le pilote
 op�rera dans une r�solution de 1024 par 768.

 Vous devrez ensuite cr�er les p�riph�riques associ�s au gestionnaire
 de m�moire vid�o dans le r�pertoire /dev. Pour le premier, il vous
 suffit de taper :

 ______________________________________________________________________
 # mknod /dev/fb0 c 29 0
 ______________________________________________________________________


 Les suivants doivent �tre multiples de 32, soit, pour /dev/fb1 :

 ______________________________________________________________________
 # mknod /dev/fb1 c 29 32
 ______________________________________________________________________


 et ainsi de suite jusqu'au huiti�me si vous le souhaitez :

 ______________________________________________________________________
 # mknod /dev/fb7 c 29 224
 ______________________________________________________________________



 video=atyfb:[option[,option[,option...]]]

 o� vous disposez des options suivantes :

 �  font:STRING pour fixer la fonte. Par exemple : font:SUN12x22

 �  noblink d�sactive l'extinction de l'�cran

 �  noaccel d�sactive les routines d'acc�l�ration

 �  vram:ULONG pr�cise au pilote atyfb la quantit� de m�moire vid�o
    disponible

 �  pll:ULONG ?

 �  mclk:ULONG ?

 �  vmode:ULONG ?

 �  cmode:ULONG - fixe le nombre de bits par pixel : 0, 8, 15, 16, 24
    ou 32




 55..44..  QQuueelllleess ccaarrtteess ggrraapphhiiqquueess ssee ccoonnffoorrmmeenntt aauuxx sspp��cciiffiiccaattiioonnss VVEESSAA
 22..00 ??

 Voici une liste de cartes qui fonctionnent avec vesafb:

 �  ATI PCI VideoExpression 2MB (au maximum 1280 par 1024 en 8bit)

 �  ATI PCI All-in-Wonder

 �  Matrox Millennium PCI - BIOS v3.0

 �  Matrox Millennium II PCI - BIOS v1.5

 �  Matrox Millennium II AGP - BIOS v1.4

 �  Matrox Millennium G200 AGP - BIOS v1.3

 �  Matrox Mystique & Mystique 220 PCI - BIOS v1.8

 �  Matrox Mystique G200 AGP - BIOS v1.3

 �  Matrox Productiva G100 AGP - BIOS v1.4

 �  Toutes les cartes � base de Riva 128

 �  Diamond Viper V330 PCI 4MB

 �  Genoa Phantom 3D/S3 ViRGE/DX

 �  Hercules Stingray 128/3D avec une sortie pour la t�l�vision

 �  Hercules Stingray 128/3D sans sortie pour la t�l�vision - une mise
    � jour du BIOS est n�cessaire (contactez [email protected])

 �  SiS 6326 PCI/AGP 4MB

 �  STB Lightspeed 128 (� base de Nvida Riva 128) PCI

 �  STB Velocity 128 (� base de Nvida Riva 128) PCI

 �  Jaton Video-58P ET6000 PCI 2MB-4MB (au maximum 1600 par 1200 en
    8bit)

 Une liste de cartes m�res incluant un jeu de composants graphiques :

 �  Trident Cyber9397

 �  SiS 5598

 Les cartes qui ne fonctionnent pas :

 �  TBA


 55..55..  VVeessaaffbb eesstt--iill mmoodduullaarriissaabbllee ??


 A ma connaissance, Vesafb ne peut pas �tre modularis�. Les
 d�veloppeurs de vesafb s'y att�leront peut-�tre un jour. De toute
 fa�on, si le pilote est modularis�, vous ne disposerez d'aucun
 affichage � l'�cran tant que le module vesafb n'aura pas �t� modprob�.
 Il vaut s�rement mieux le laisser dans le noyau, des fois que le
 d�marrage se passe mal.



 55..66..  CCoommmmeenntt ppuuiiss--jjee mmooddiiffiieerr llee ccuurrsseeuurr ??

 [Tir� du fichier VGA-softcursor.txt - merci � Martin Mares !]

 Linux offre une certaine latitude pour modifier l'allure du curseur.
 En principe, vous pouvez fixer la taille de celui-ci et, par la m�me
 occasion, contourner quelques probl�mes mat�riels de cartes Trident
 d�fectueuses (cf. #define TRIDENT_GLITCH dans le fichier
 drivers/char/vga.c). Si vous activez l'option de g�n�ration logicielle
 du curseur ("Software generated cursor"), des nouveaut�s se
 pr�sentent : un curseur rouge, un qui intervertisse la couleur de
 premier plan et celle du fond, une mise en relief du caract�re actif
 qui laisse le curseur mat�riel visible ou non. Je n'ai s�rement pas
 pens� � tout.

 On contr�le l'allure du curseur via la s�quence d'�chappement

 <ESC>[?1;2;3c


 d�crire � pr�sent. Les param�tres absents prennent la valeur 0.

 Le premier param�tre correspond � la taille du curseur (0=d�faut,
 1=transparent, 2=soulign�, ..., 8=caract�re plein). Ajoutez 16 pour
 rendre actif le curseur logiciel, 32 si la couleur de fond doit �tre
 syst�matiquement chang�e, 64 pour que les couleurs de premier plan et
 de fond soient distinctes.  La graisse est ignor�e pour les deux
 derniers attributs.

 Le second param�tre indique quels sont les bits d'attributs � changer
 (un simple ou exclusif). Sur un �cran VGA standard, les quatre bits de
 poids fort pr�cisent le fond et les quatre de poids faible le premier
 plan. Dans chaque quartet, les trois bits de poids faible donnent la
 couleur et celui de poids fort active la mise en relief (ou active le
 clignotement suivant la configuration de la carte VGA).

 Le troisi�me param�tre correspond aux valeurs que doivent prendre les
 bits que l'on souhaite modifier. Le positionnement d'un bit a lieu
 avant son masquage ; on force donc � 0 un bit en l'activant � la fois
 dans le masque de s�lection et dans celui de positionnement.

 Un curseur qui souligne et clignote : echo -e '\033[?2c' Un bloc qui
 clignote :                echo -e '\033[?6c' Un bloc rouge qui ne
 clignote pas :   echo -e '\033[?17;0;64c'


 66..  LLee ppiilloottee ddee mm��mmooiirree vviidd��oo ssuurr lleess AAttaarrii mm6688kk

 Cette partie d�crit les options offertes par le pilote de m�moire
 vid�o sur les machines Atari m68k.


 66..11..  QQuueellss ssoonntt lleess mmooddeess ddiissppoonniibblleess ssuurr lleess mmaacchhiinneess AAttaarrii mm6688kk ??


 Couleurs   320x200  320x480  640x200  640x400  640x480  896x608  1280x960
 ---------+---------------------------------------------------------------
  1 bit   |                            sthigh   vga2     falh2    tthigh
  2 bits  |                   stmid             vga4
  4 bits  | stlow                             ttmid/vga16 falh16
  8 bits  |          ttlow                      vga256



 ttlow, ttmid et tthigh sont seulement employ�s sur les mod�les TT
 tandis que vga2, vga4, vga15, vga256, falh3 et falh16 ne servent que
 sur le Falcon.  Lorsqu'une option video=xxx est donn�e au noyau, en
 l'absence toute sous-option, le noyau teste les modes vid�o dans
 l'ordre suivant jusqu'� ce qu'il en trouve un adapt� au mat�riel :

 �  ttmid

 �  tthigh

 �  vga16

 �  sthigh

 �  stmid

    Vous pouvez pr�ciser le mode � employer pour �viter l'auto-
    d�tection.  Par exemple, video=vga16 procure un �cran en 640 par
    480 avec une profondeur de 4 bits.


 66..22..  SSoouuss--ooppttiioonnss ssuuppppll��mmeennttaaiirreess ssuurr lleess mmaacchhiinneess AAttaarrii mm6688kk

 Options suppl�mentaires disponibles avec le param�tre video=xxx :

 �  inverse - inversion des couleur de fond et de premier plan.
    Normalement le fond est noir ; cette option le rend blanc.

 �  font - fonte � employer en mode texte. Les fontes suivantes sont
    actuellement disponibles : VGA8x8, VGA8x16, PEARL8x8.  La fonte
    VGA8x8 est utilis�e par d�faut si la dimension verticale de l'�cran
    est inf�rieure � 400 pixels sans quoi la fonte VGA8x16 est
    employ�e.

 �  internal - tr�s int�ressant. Se reporter � la section suivante.

 �  external - idem.

 �  monitorcap - description des modes multisync disponibles.  PROSCRIT
    pour les moniteurs � fr�quence fixe.


 66..33..  SSoouuss--ooppttiioonn ""iinntteerrnnaall"" ssuurr lleess mmaacchhiinneess AAttaarrii mm6688kk

 Syntaxe : internal:(xres);(yres)[;(xres_max);(yres_max);(offset)]

 L'option indique les fonctionnalit�s ajout�es par certains
 p�riph�riques vid�o tels les modes d'OverScan. (xres) et (yres)
 fournissent les dimensions �tendues de l'�cran.  Si vos modes
 d'OverScan n�cessitent une bordure noire, vous devrez expliciter les
 trois derniers arguments de la sous-option internal:.  (xres_max)
 correspond � la plus grande dimension de ligne accept�e par le
 mat�riel tandis que (yres_max) donne le nombre maximal de lignes et
 (offset) le d�calage en octets entre la partie visible de la m�moire
 vid�o et son emplacement physique.

 Les mat�riel vid�o �tendu requiert souvent une activation qui fait
 appel aux options "switches=*". [L'auteur appr�cierait de recevoir des
 informations suppl�mentaires � ce sujet. La documentation m68k du
 noyau manque de clart� sur ce sujet et l'auteur ne poss�de pas
 d'Atari ! Des exemples seront �galement les bienvenus.]


 66..44..  SSoouuss--ooppttiioonn ""eexxtteerrnnaall"" ssuurr lleess mmaacchhiinneess AAttaarrii mm6688kk

 Syntaxe :
 external:(xres);(yres);(depth);(org);(scrmem)[;(scrlen)[;(vgabase)[;(colw)[;(coltype)[;(xres_virtual)]]]]]

 On rentre dans le compliqu�. Le pr�sent document essaye d'�tre aussi
 clair que possible mais l'auteur n'a rien contre une relecture afin
 d'�tre s�r qu'il n'a rien loos^H^Hup�.

 Cette sous-option indique que vous disposez de p�riph�riques vid�o
 externes (vraisemblablement une carte vid�o) et indique comment Linux
 doit l'employer.  Normalement, le noyau se limite � ce qu'il peut
 apprendre des p�riph�riques vid�o internes. Vous devez donc lui
 fournir tous les param�tres n�cessaires afin qu'il soit en mesure de
 g�rer des p�riph�riques externes. Il y a deux limitations : vous
 basculerez dans le mode ad�quat avant l'initialisation et une fois
 celle-ci effectu�e, vous ne pourrez pas changer de mode.

 Les trois premiers param�tres sont �vidents. Ils correspondent aux
 dimensions de la zone d'affichage : hauteur et largeur en pixel
 suivies de la profondeur.  Le param�tre de profondeur servant
 d'exposant au nombre 2 donne le nombre de couleurs. Par exemple, pour
 un affichage en 256 couleurs, vous pr�ciserez un param�tre de 8. Le
 param�tre d�pend de l'adaptateur graphique externe bien que vous soyez
 de toute fa�on limit� par le mat�riel.

 Vous devez ensuite d�crire au noyau l'organisation de la m�moire vid�o
 via le param�tre (org).

 �  n - plans dispos�s normalement, les uns � la suite des autres.

 �  i - plans entrelac�s, c'est � dire 16 bits du premier plan, puis du
    suivant etc. Seuls les modes vid�o natifs d'Atari utilisent �a et
    aucune carte vid�o ne le g�re.

 �  p - pixels regroup�s. Les bits constitutifs des diff�rents plans
    d'un m�me pixel se suivent. Ce mode est le plus courant en 256
    couleurs.

 �  t - couleurs vraies. Il s'agit du mode pr�c�dent en l'absence de
    toute table de correspondance des couleurs. Ces modes sont
    g�n�ralement sur 24 bits et procurent quelque 16,8 millions de
    couleurs.

 _A _c_o_t_� _d_e _�_a, le param�tre (org) a une signification bien diff�rente
 pour les modes monochromes.

 �  n - couleurs usuelles, c'est � dire 0 pour le blanc et 1 pour le
    noir ;

 �  i - couleurs invers�es, c'est � dire 0 pour le noir et 1 pour le
    blanc.

 L'�l�ment suivant ayant trait au p�riph�rique vid�o fixe l'adresse de
 base de la m�moire vid�o. Il est donn� par le param�tre (scrmem) sous
 forme hexad�cimale (pr�fix� par 0x). Vous devriez trouver cette
 information dans la documentation fournie avec le p�riph�rique.

 Le param�tre suivant, (scrlen), fournit au noyau la taille de la zone
 de m�moire vid�o. S'il est absent, il est calcul� � partir des valeurs
 de (xres), (yres) et (depth). En bref, il ne sert � rien de pr�ciser
 une valeur. Si vous donnez � sa suite le param�tre (vgabase), laissez
 le champ vide en rentrant deux point-virgules. Autrement, oubliez le.

 Le param�tre (vgabase) est optionnel. En son absence, le noyau ne
 pourra lire ni �crire le moindre des registres de couleur du
 p�riph�rique et il vous faudra donc installer les couleurs appropri�es
 avant le d�marrage de Linux.  Si la carte est compatible VGA, vous
 pouvez donner au noyau l'adresse o� se trouvent les registres vid�o de
 fa�on � ce qu'il modifie lui-m�me les tables des couleurs. Vous
 trouverez cette information dans la documentation fournie avec le
 p�riph�rique. Afin d'�tre _c_l_a_i_r, (vgabase) est une adresse de _b_a_s_e,
 donc align�e sur un multiple de 4k. Pour l'acc�s en lecture ou en
 �criture aux registres, le noyau utilise une plage d'adresses
 comprises entre (vgabase) + 0x3c7 et  (vgabase) + 0x3c9. La valeur est
 donn�e en hexad�cimal et doit �tre pr�fix�e par 0x (tout comme
 (scrmem)).

 (colw) ne sert que si (vgabase) est sp�cifi�. Il donne au noyau la
 taille des registres de couleur, c'est � dire le nombre de bits par
 couleur (rouge/verte/bleue). La valeur par d�faut est de 6 bits mais
 il est courant d'en sp�cifier 8.

 (coltype) s'emploie en conjonction avec (vgabase). Il pr�cise aux
 noyau le type des registres de la carte graphique. Actuellement, deux
 mod�les sont g�r�s : vga et mv300. Par d�faut, vga est employ�.

 (xres_virtual) n'est n�cessaire qu'avec les cartes ProMST/ET4000 pour
 lesquelles la longueur physique des lignes diff�re de leur taille
 visible.  Avec une ProMST, on donnera la valeur 2048 tandis que pour
 l'ET4000 cela d�pendra de l'initialisation de la carte vid�o.


 77..  LLee ppiilloottee ddee mm��mmooiirree vviidd��oo aavveecc lleess AAmmiiggaa


 Cette partie d�crit les options offertes sur les Amiga, options
 voisines de celles de l'Atari m68k.


 77..11..  QQuueellss ssoonntt lleess mmooddeess ddiissppoonniibblleess ssuurr lleess mmaacchhiinneess AAmmiiggaa ??

 �a d�pend du composant employ� dans votre Amiga. Il y en a
 essentiellement trois : OCS, ECS et AGA. Tous on recours au pilote de
 m�moire vid�o.

 �  Modes NTSC

 �  ntsc - 640x200

 �  ntsc-lace - 640x400

 �  PAL modes

 �  pal - 640x256

 �  pal-lace - 640x512

 �  Modes ECS - 2 bits de couleur avec les composants ECS, 8 bits avec
    les composants AGA

 �  multiscan - 640x480

 �  multiscan-lace - 640x960

 �  euro36 - 640x200

 �  euro36-lace - 640x400

 �  euro72 - 640x400

 �  euro72-lace - 640x800

 �  super72 - 800x300

 �  super72-lace - 800x600

 �  dblntsc - 640x200

 �  dblpal - 640x256

 �  dblntsc-ff - 640x400

 �  dblntsc-lace - 640x800

 �  dblpal-ff - 640x512

 �  dblpal-lace - 640x1024

 �  Modes VGA - 2 bits de couleur avec les composants ECS, 8 bits avec
    les composants AGA

 �  vga - 640x480

 �  vga70 - 640x400


 77..22..  SSoouuss ooppttiioonnss ssuuppppll��mmeennttaaiirreess ssuurr lleess mmaacchhiinneess AAmmiiggaa mm6688kk

 Elles sont voisines de celles de l'Atari m68k :

 �  depth - pr�cise le nombre de bits par pixel.

 �  inverse - m�me chose que sur les Atari.

 �  font - m�me chose que sur les Atari, mais la fonte PEARL8x8
    remplace la fonte VGA8x8 si la largeur de la zone d'affichage est
    inf�rieure � 400 pixels.

 �  monitorcap - description des modes multisync disponibles. PROSCRIT
    pour les moniteurs � fr�quence fixe.


 77..33..  CCaarrtteess dd''eexxtteennssiioonn ggrraapphhiiqquueess gg��rr��eess ssuurr AAmmiiggaa


 �  Phase5 CyberVision 64 (composant S3 Trio64)

 �  Phase5 CyverVision 64-3D (composant S3 ViRGE)

 �  MacroSystems RetinaZ3 (composant NCR 77C32BLT)

 �  Helfrich Piccolo, SD64, GVP ECS Spectrum, Village Tronic Picasso
    IIII+ and IV/ (Cirrus Logic GD542x/543x)


 88..  LLee ppiilloottee ddee mm��mmooiirree vviidd��oo ssuurr lleess MMaacciinnttoosshh mm6688kk

 La version courante du gestionnaire de m�moire vid�o ne g�re que les
 modes choisis sous MacOS avant l'initialisation de Linux ainsi que les
 modes couleur en 1, 2, 4 et 8 bits.

 Le pilote g�re les options de la forme :

 video=macfb:<font>:<inverse>


 Les fontes  VGA8x8, VGA8x16, 6x11, etc... sont disponibles. L'option
 inverse permet bien s�r d'inverser la vid�o.




 99..  LLee ppiilloottee ddee mm��mmooiirree vviidd��oo ssuurr lleess PPoowweerrPPCC

 L'auteur aimerait recevoir des informations relatives au gestionnaire
 de m�moire vid�o sur ces machines.


 1100..  LLee ppiilloottee ddee mm��mmooiirree vviidd��oo ssuurr lleess AAllpphhaa

 1100..11..  MMooddeess ddiissppoonniibblleess


 Pour l'instant il n'y a que la carte PCI TGA. Elle offre un mode de 80
 lignes par 30 colonnes en 640x480 avec une profondeur de 8, 24 ou 32
 bits.


 1100..22..  CCaarrtteess ggrraapphhiiqquueess gg��rr��eess ppaarr llee ppiilloottee ddee mm��mmooiirree vviidd��oo

 La carte graphique suivante a �t� test�e avec succ�s :

 �  DEC TGA PCI (DEC21030) - 640x480 � 8 bits ou versions 24/32 bits


 1111..  LLee ppiilloottee ddee mm��mmooiirree vviidd��oo ssuurr lleess SSPPAARRCC

 1111..11..  CCaarrtteess ggrraapphhiiqquueess gg��rr��eess ppaarr llee ppiilloottee ddee mm��mmooiirree vviidd��oo


 �  MG1/MG2 - version SBus ou int�gr�e (Sun3) - au maximum 1600x1280
    monochrome (BWtwo)

 �  CGthree - semblable aux MG1/MG2 mais offrant la couleur -
    r�solution maximale ?

 �  GX - SBus - au maximum 1152x900 en 8bits (CGsix)

 �  TurboGX - SBus - au maximum 1152x900 en 8 bits (CGsix)

 �  SX - SS10/SS20 - au maximum 1280x1024 en 24 bits - (CGfourteen)

 �  ZX(TZX) - SBus - carte acc�l�ratrice 3D 24 bits - r�solution
    maximale ?  (Leo)

 �  TCX - AFX - Sparc 4 - au maximum 1280x1024 en 8 bits

 �  TCX(S24) - AFX - Sparc 5 - au maximum 1152x900 en 24 bits

 �  Creator - SBus - au maximum 1280x1024 en 24 bits (FFB)

 �  Creator3D - SBus - au maximum 1920x1200 en 24 bits (FFB)

 �  ATI Mach64 - carte acc�l�ratrice 8/24 bits pour Sparc64 sur bus PCI

 Une option de la PROM permet l'envoi des caract�res d'affichage �
 l'�cran ou sur une console s�rie.  Jetez un oeil � la FAQ du Frame
 Buffer sur Sparc : <http://c3-a.snvl1.sfba.home.com/Framebuffer.html>.


 1111..22..  CCoonnffiigguurraattiioonn dduu ggeessttiioonnnnaaiirree ddee mm��mmooiirree vviidd��oo


 Pendant la configuration du noyau (make config ou autre), il vous faut
 choisir entre promcon ou fbcon. La compilation des deux est possible
 mais il faudra sp�cifier au noyau le pilote � employer. Par d�faut,
 fbcon est essay� en premier au d�marrage. Si promcon n'a pas �t�
 s�lectionn�, dummycon est activ� pendant l'initialisation. Une fois
 les bus initialis�s, si fbcon est compil�, le noyau recherche les
 p�riph�riques pr�c�dents et se sert de fbcon. En l'absence de
 gestionnaires de m�moire vid�o, le noyau a recours � promcon.

 Voici les options du noyau :

 video=sbus:options


 options inclut les �l�ments suivants, s�par�s par une virgule :

                 nomargins       marge nulle;
                 margins=12x24   marge de 12 par 24 (calcul� par d�faut en
                 fonction de la r�solution);
                 off             inhibition de la d�tection des pilotes de
                 m�moire vid�o SBus/UPA;
                 font=SUN12x22   emploi d'une fonte particuli�re.



 Au d�marrage, un param�trage de la forme

  video=sbus:nomargins,font=SUN12x22


 en mode texte, rapide, avec une r�solution de 96 par 40 qui ressemble
 � une console Solaris avec la couleur et les terminaux virtuels en
 plus comme sur les compatibles PC.

 Pour que l'affichage se fasse avec la fonte SUN12x22, vous devez
 l'activer durant la configuration du noyau (d�sactivez l'option
 fontwidth != 8).  Le pilote de m�moire vid�o acc�l�r� g�re n'importe
 quelle fonte dont la largeur est comprise entre 1 et 16 pixels tandis
 que le pilote de base ne g�re que les fontes larges de 4, 8, 12 ou 16
 pixels.  Un paquetage r�cent des consoletools est recommand�.


 1122..  LLee ppiilloottee ddee mm��mmooiirree vviidd��oo ssuurr lleess MMIIPPSS


 Il n'est pas besoin de modifier quoi que ce soit avec ce type de
 machines.  Tout est g�r� automatiquement. En particulier, les Indys
 sont c�bl�s de fa�on � offrir une console 160x64. Une r��criture du
 code de gestion de la console pour les Indys �tant en cours, on
 gardera un oeil sur cette section.


 1133..  LLee ppiilloottee ddee mm��mmooiirree vviidd��oo ssuurr lleess AARRMM



 1133..11..  NNeettwwiinnddeerrss

 Pour les Netwinders (qui reposent sur le processeur RISC ARM SA110 au
 charme si d�licieusement british), il existe deux versions du
 gestionnaire de m�moire vid�o pour les Cyber2000 : un pour les noyaux
 2.0.x, l'autre pour les 2.2.y.  Tant l'activation que l'emploi du
 pilote sont assez naturels avec les deux branches du noyau. N�anmoins,
 en 2.0.x, la r�solution et la profondeur sont cod�es en dur (beuh...).
 Heureusement, la version 2.2.x est plus souple, du moins le sera une
 fois les pilotes davantage stabilis�s. Le mieux que vous puissiez
 faire afin que tout fonctionne reste encore de lire la documentation
 fournie avec la portion ARM des sources du noyau.  Les Netwinders
 int�grent un composant VGA mais il ne s'est malheureusement jusqu'ici
 trouv� personne pour porter vgafb. [Je m'y att�lerais si quelqu'un me
 fournissait un Netwinder avec lequel jouer]
 1133..22..  AArrcchhiimmeeddeess AAccoorrnn

 Les Acorns offrent un pilote de m�moire vid�o depuis les temps anciens
 des noyaux 1.9.x. Cependant, le gestionnaire Acornfb des noyaux 2.2.x
 est compl�tement nouveau puisque l'interface d'acc�s � la m�moire
 vid�o a �t� modifi�e au cours du d�veloppement des noyaux 2.1.x (qui
 devinrent naturellement les 2.2.x). Comme pr�c�demment, il n'est gu�re
 difficile d'activer le pilote et de configurer la profondeur et la
 r�solution.


 1133..33..  AAuuttrreess aarrcchhiitteeccttuurreess �� bbaassee dd''AARRMM ((SSAA 77111100ss eett vvaarriiaanntteess))

 A ma surprise, m�me le Psion 5 et le Geofox disposent d'un pilote de
 m�moire vid�o ! On m'a dit que le manchot passait d'ailleurs plut�t
 bien. S'il vous pla�t, donnez moi un Psion 5 !


 1144..  GGeessttiioonn ddee llaa mm��mmooiirree vviidd��oo aavveecc pplluussiieeuurrss ��ccrraannss

 Cette partie du document a �t� fournie gracieusement par Frederick A.
 Niles qui conserve tous ses droits sur les informations donn�es.


 1144..11..  IInnttrroodduuccttiioonn

 Les quelques pages qui suivent sont cens�es permettre une premi�re
 prise en main des configurations � deux �crans sous Linux. Bien que le
 processus se d�roule naturellement, les occasions de se tromper ne
 manquent pas.

 Je me suis focalis� sur la mise en place d'un serveur X sur un second
 moniteur. L'int�r�t en est que l'on croise de temps � autre des
 personnes se d�barrassant de vieux moniteurs de 19 ou 20 pouces �
 fr�quence fixe car ils ne peuvent plus s'en servir. On peut ainsi
 d�marrer avec un petit moniteur multisync et disposer de X sur un
 moniteur de grandes dimensions.

 Comme il s'agit d'un domaine en plein d�veloppement, l'information
 �volue rapidement. Le contenu de ce document pourrait tr�s bien �tre
 d�pass�, voire compl�tement faux, lorsque vous le lirez.

 ** ATTENTION ** Ce texte a �t� r�dig� avant la sortie de la version
 4.0 de XFree86 qui devrait modifier pas mal de choses. Essayez
 d'obtenir une nouvelle version de ce document si elle existe.


 1144..22..  RReettoouurr

 Le retour de la part des utilisateurs sera plus que certainement le
 bienvenu.  Sans vos remarques et vos questions, ce document
 n'existerait pas. N'h�sitez donc pas � me contacter � l'adresse
 suivante : [email protected].


 1144..33..  CCoonnttrriibbuuttiioonnss

 Les personnes suivantes ont particip� � l'�laboration de ce
 Mini-HOWTO :

 �  Petr Vandrovec [email protected]

 �  Andreas Ehliar [email protected] (x2x)

 �  Marco Bizzarri [email protected] (multiple X servers)

 1144..44..  AAvveerrttiisssseemmeennttss

 L'auteur de ce document d�gage toute responsabilit� quant � son
 contenu.  Vous employez les notions, exemples et tout ce qui figure
 ici � vos risques et p�rils. S'agissant d'une nouvelle version de ce
 document, des informations erron�es ou inad�quates peuvent tr�s bien
 entra�ner la d�gradation de votre mat�riel. Faites y attention et,
 bien que ce soit hautement improbable, je me d�charge de toute
 responsabilit� � cet �gard.


 1144..55..  PPrroopprrii��tt�� dduu ddooccuummeenntt

 Copyright (c) 1999 Frederick Niles

 La distribution de ce document doit se conformer aux termes de la
 licence LDP tels que d�finis � l'adresse :
 <http://sunsite.unc.edu/LDP/COPYRIGHT.html>.



 1144..66..  MMaatt��rriieell ssuuppppoorrtt��

 La plupart des cartes vid�o supposent qu'elles assument seules cette
 fonction au sein du syst�me. Elles occupent donc en permanence
 l'espace d'adressage de l'adaptateur graphique primaire. Il existe
 quelques exceptions :

 �  les cartes Matrox : Matrox Millennium, Matrox Millennium II, Matrox
    Mystique, Matrox Mystique 220, Matrox Productiva G100, Matrox
    Mystique G200, Matrox Millennium G200, Matrox Marvel G200.

 �  MDA : il s'agit essentiellement des cartes graphiques monochromes
    Hercules. �videmment, on ne dispose que du mode texte.

    Remarque : seul le second adaptateur graphique doit figurer dans la
    liste pr�c�dente.


 1144..77..  LLooggiicciieellss ccoommmmeerrcciiaauuxx

 Ce Mini-HOWTO traite avant tout de logiciel libre. Certains serveurs X
 commerciaux sont n�anmoins capables de g�rer plusieurs moniteurs tels
 le serveur Metro-X de Metro Link (www.metrolink.com) et Accelerated-X
 de Xi Graphics (www.xig.com).


 1144..88..  LLooggiicciieellss nn��cceessssaaiirreess

 Les patches et programmes suivants sont n�cessaires :

 �  "fbset", examinez :  <http://www.cs.kuleuven.ac.be/~geert/bin/>
    (remarque : ce programme est fourni avec la RedHat 6.0)

 �  patches du noyau pour la configuration � deux �crans "fbaddon" des
    cartes Matrox. Examinez :
    <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>

 �  "con2fb", examinez :  <ftp://platan.vc.cvut.cz/pub/linux/matrox-
    latest/>

 �  serveur X11 XF86_FBDev employant le gestionnaire de m�moire vid�o.
    Disponible en standard avec la version 3.3.1 de la XFree86.



 1144..99..  MMiissee eenn rroouuttee

 Commencez par patcher votre version du noyau avec le patche "fbaddon".
 Ensuite, vous configurerez le noyau et activerez la gestion de la
 m�moire vid�o. Si vous disposez de cartes Matrox, incluez le pilote
 d'acc�l�ration unifi� Matrox. Excluez le gestionnaire de m�moire vid�o
 VESA. Activez bien s�r la gestion de plusieurs adaptateurs, recompilez
 le noyau et r�initialisez le syst�me.

 A pr�sent, installez l'utilitaire "fbset" et lisez attentivement la
 documentation relative � son param�trage. La mise en place d'un
 fichier "/etc/fb.modes" est vivement recommand�e une fois que vous
 vous serez d�cid� sur une configuration. Le paquetage fbset comprend
 un script Perl de conversion du fichier XF86Config en param�tres pour
 fb.modes. Vous trouverez mon script en shell Bourne dans les annexes A
 et B.

 Vous devez vous mettre au point sur l'emploi du pilote de m�moire
 vid�o avec un seul adaptateur et bien identifier tout ce qui n'a rien
 � voir avec la gestion de plusieurs. Vous vous �pargnerez ainsi pas
 mal de noeuds au cerveau.  Je me focalise surtout sur la mise en place
 de X au niveau du second moniteur vu que la plupart des autres
 op�rations de configuration en forment un sous-ensemble.


 1144..99..11..  DD��ppllaacceemmeenntt dd''uunnee ccoonnssoollee

 Compilez le programme "con2fb". Lanc� sans arguments, il fournit le
 message suivant : "usage: con2fb fbdev console".  Une commande telle
 que "con2fb /dev/fb1 /dev/tty6" attacherait la console virtuelle
 num�ro 6 au second gestionnaire de m�moire vid�o. Ctrl-Alt-F6 vous
 basculera dans cette console qui s'affichera sur le second moniteur.


 1144..99..22..  ""ffbbsseett"" eett llee ppaarraamm��ttrraaggee dduu sseeccoonndd mmoonniitteeuurr

 La mise en place des param�tres "fbset" doit se cantonner au moniteur
 avec lequel "fbset" est employ�. Faites donc attention � bien employer
 l'option "-fb" avec le second moniteur. Plus pr�cis�ment, si vous ne
 voulez rien faire d'autre qu'accorder la r�solution verticale
 virtuelle avec la r�solution verticale r�elle : "fbset -fb /dev/fb1
 -vyres 600" (par exemple).  L'affichage en mode texte en est
 s�rieusement ralenti mais sans cela X reste vraiment hideux.


 1144..99..33..  XX eett llee ggeessttiioonnnnaaiirree ddee mm��mmooiirree vviidd��oo

 Le fichier framebuffer.txt explique bien mieux que je ne puis le faire
 mais voici les deux points essentiels :

 �  v�rifiez que le lien "X" pointe bien vers "XF86_FBDev",

 �  ajoutez une section Monitor � votre fichier XF86Config pour le
    gestionnaire de m�moire vid�o.

    Par exemple :










    # Serveur X s'appuyant sur le gestionnaire de m�moire vid�o.

    Section "Screen"
        Driver      "fbdev"
        Device      "Millennium"
        Monitor     "NEC MultiSync 5FGp"
        Subsection "Display"
            Depth       8
            Modes       "default"
            ViewPort    0 0
        EndSubsection
        Subsection "Display"
            Depth       16
            Modes       "default"
            ViewPort    0 0
        EndSubsection
        Subsection "Display"
            Depth       24
            Modes       "default"
            ViewPort    0 0
        EndSubsection
        Subsection "Display"
            Depth       32
            Modes       "default"
            ViewPort    0 0
        EndSubsection
    EndSection



 Restreignez vous aux modes "default" car je ne pense pas qu'il y en
 ait d'autres qui fonctionnent avec le pilote de m�moire vid�o Matrox.


 1144..99..44..  EExx��ccuuttiioonn dduu sseerrvveeuurr XX ssuurr llee sseeccoonndd mmoonniitteeuurr

 Positionnez la variable d'environnement FRAMEBUFFER sur le second
 p�riph�rique de m�moire vid�o : "export FRAMEBUFFER=/dev/fb1" ou :
 "setenv FRAMEBUFFER /dev/fb1" X doit �tre lanc� avec des param�tres
 lui sp�cifiant � la fois la profondeur souhait�e au niveau des
 couleurs et un num�ro correspondant � la console virtuelle employ�e.
 Par exemple : "startx -- :0 -bpp 16 vt06".  Le serveur X en 16 bits
 par pixel d'identifiant ":0" est attach� � la console virtuelle num�ro
 6. Utilisez ":1" au lancement d'un autre serveur X en le liant � une
 console d�pendant de l'autre gestionnaire de m�moire vid�o et vous
 disposerez de deux serveurs X fonctionnant simultan�ment.


 1144..1100..  RR��ssuumm��

 Les �tapes de mise en place d'un serveur X sur un second moniteur
 peuvent �tre ainsi r�sum�es :

 �  se procurer le patch du noyau, fbset et con2fb ;

 �  appliquer le patch, configurer le noyau, recompiler et
    r�initialiser ;

 �  ajouter une section XF86_FBDev au fichier XF86Config et fixer le
    lien de X.

    A chaque red�marrage :

 �  cr�er une console : "con2fb /dev/fb1 /dev/tty6" ;


 �  param�trer : "fbset -fb /dev/fb1 1280x1024" ;

 �  positionner la variable FRAMEBUFFER : "export
    FRAMEBUFFER=/dev/fb1" ;

 �  lancer X : "startx -- -bpp 16 vt06".

    Un alias de shell permet d'automatiser ces t�ches. Un script ne
    conviendrait pas puisqu'on a besoin de d�terminer le num�ro de la
    console courante. Voici mon alias (en C-shell) :

    alias startxfb = "
    setenv FRAMEBUFFER /dev/fb\!*;  # l'argument passe a l'alias est recupere
    con2fb $FRAMEBUFFER /dev/$tty;  # positionne le pilote sur la console courante
    fbset -fb $FRAMEBUFFER 1280x1024@62;  # Cf /etc/fb.modes
    startx -- :\!* -bpp 16 vt0`echo $tty | cut -dy f 2`' # execution de X
    "



 Ces lignes correspondent au contenu de mon .cshrc aux commentaires
 pr�s mais ils aident, avec les sauts de ligne, � en faciliter la
 lecture. Je fournis le num�ro du pilote de m�moire vid�o comme
 argument � l'alias.

 Si quelqu'un me fournit un �quivalent pour bash, je l'inclurai ici.
 La commande tty vous fournira le nom de la console courante.


 1144..1111..  RReemmaarrqquueess eett pprroobbll��mmeess


 �  fbset et startx _D_O_I_V_E_N_T �tre invoqu�s depuis une m�me console qui
    sera contr�l�e par le pilote de m�moire vid�o. L'automatisation au
    moyen de scripts en est diminu�e d'autant.

 �  la version 4.0 de XFree86 g�rera correctement les adaptateurs
    multiples mais la 3.3.1 en est encore incapable. Vous pouvez
    cependant disposer de deux serveurs avec la 3.3.1 et passer de l'un
    � l'autre avec x2x.

 �  Le pilote de m�moire vid�o non-actif conserve la derni�re image
    sans la mettre � jour.

 �  L'�cran qui n'est pas s�lectionn� ne conserve pas toujours son �tat
    durant ses p�riodes d'inactivit� (mais en g�n�ral il le fait).
    Geert Uytterhoeven, qui assure l'�volution du pilote de m�moire
    vid�o, et Linus Torvalds sont en d�saccord sur les changements pour
    la gestion des adaptateurs multiples li�s aux consoles (i.e.
    fbaddon) et ceux ci pourraient tr�s bien ne jamais se retrouver
    dans l'arborescence officielle du noyau (cette information a une
    forte composante de type bruit de couloir).

 �  Si vous ex�cutez X de n'importe o�, votre machine peut se retrouver
    dans un �tat passablement d�grad� qui m�lange les �v�nements de la
    souris et ceux du clavier.

 �  Le fichier framebuffer.txt dans l'arborescence du noyau mentionne
    la possibilit� de modifier les param�tres Modeline du XF86Config
    alors que X fonctionne. Le gestionnaire de m�moire vid�o Matrox
    semble obliger le serveur X � tous les ignorer. On ne dispose donc
    que d'un param�trage, celui qui est employ� lors du basculement
    depuis le mode texte.

 �  XF86_FBDev ne dispose pas d'acc�l�ration. Des patches pour les
    cartes Matrox existent : <http://www.in-
    berlin.de/User/kraxel/xfree86/>


 1144..1111..11..  FFoonnccttiioonnnneemmeenntt aavveecc xxddmm

 Je n'ai pas encore trouv� comment passer au niveau 5 dans une
 configuration � deux adaptateurs avec un serveur sur le second
 moniteur ou sur les deux.  Bien que l'ajout d'une ligne au fichier
 Xservers de xdm/gdm soit ais�, la contrainte de d�marrer le serveur X
 depuis la console g�r�e par le pilote de m�moire vid�o interdit cette
 solution. Si quelqu'un a une id�e, qu'il m'en fasse part afin que je
 puisse l'ajouter.


 1144..1111..22..  LL''uuttiilliittaaiirree xx22xx

 x2x vous permet de passer d'un serveur X � l'autre lorsque vous
 atteignez le bord d'un �cran. Aux derni�res nouvelles, ce programme se
 trouvait � l'adresse suivante :
 <http://ftp.digital.com/pub/DEC/SRC/x2x/>.  La distribution Debian en
 propose un paquetage. Je n'ai pas eu l'occasion de l'essayer mais
 plusieurs utilisateurs ont fait part d'exp�riences r�ussies.


 1144..1111..33..  AAuuttrreess ccoommmmaannddeess uuttiilleess

 Il est bon de garder pr�sente � l'esprit l'existence de certaines
 commandes quand on dispose de plusieurs adaptateurs (surtout quand on
 �crit des scripts).

 �  "chvt" permet de passer d'une console virtuelle (VT) � une autre.

 �  "openvt" ex�cute un programme dans une console diff�rente.

 �  "tty" renvoie le nom de la console courante.


 1144..1111..44..  AAnnnneexxee AA.. SSccrriipptt ccvvttmmooddee..mm ppoouurr OOccttaavvee

 Notez le positionnement de bpp.


























 ______________________________________________________________________
 #!/usr/bin/octave -q
 bpp = 16;
 DCF = sscanf(argv(1,:), "%f");
 HR  = sscanf(argv(2,:), "%f");
 SH1 = sscanf(argv(3,:), "%f");
 SH2 = sscanf(argv(4,:), "%f");
 HFL = sscanf(argv(5,:), "%f");
 VR  = sscanf(argv(6,:), "%f");
 SV1 = sscanf(argv(7,:), "%f");
 SV2 = sscanf(argv(8,:), "%f");
 VFL = sscanf(argv(9,:), "%f");
 pixclock = 1000000 / DCF;
 left_margin = HFL - SH2;
 right_margin = SH1 - HR;
 hsync_len = SH2 - SH1;

 # 3) vertical timings:
 upper_margin = VFL - SV2;
 lower_margin = SV1 - VR;
 vsync_len = SV2 - SV1;

 RR = DCF / (HFL * VFL) *1e6;
 HSF = DCF / HFL * 1e3;

 printf("mode \"%dx%d\"\n",HR,VR);
 printf("   # D: %3.2f MHz, H: %3.2f kHz, V: %2.2f Hz\n", DCF, HSF, RR);
 printf("   geometry %d %d %d %d %d\n", HR, VR, HR, VR, bpp);
 printf("   timings %d %d %d %d %d %d %d\n", ...
                                  pixclock, left_margin, right_margin, ...
                                  upper_margin, lower_margin, ...
                                  hsync_len, vsync_len);
 printf("endmode\n");
 ______________________________________________________________________




 1144..1111..55..  AAnnnneexxee BB..  SSccrriipptt ""ccvvttffiillee"" eenn SShheellll BBoouurrnnee

 Le script Octave "cvtmode" est utilis�.

 ______________________________________________________________________
 #!/bin/sh

 # Shell script to convert XF86Config file to fb.modes file.
 # Uses octave script cvtmode.m

 if [ -z $1 ]; then
   FILE=/etc/X11/XF86Config
 else
   FILE=$1
 fi

 i=1
 LEN=`grep Modeline $FILE | wc -l`
 while expr $i \< $LEN > /dev/null ;
 do
   CURLINE=`grep Modeline $FILE | cut -d'"' -f 3-20 | head -$i | tail -1 `
   ./cvtmode.m $CURLINE
   echo " "
   i=`expr $i + 1`
 done
 ______________________________________________________________________


 1155..  GGeessttiioonn ddeess ffoonntteess

 Afin de pouvoir modifier les fontes, vous devez installer kbd-0.99. Le
 logiciel est disponible via
 <ftp://ftp.win.tue.nl/pub/linux/utils/kbd>.

 Le t�l�-chargement et l'installation de kbd-0.99 r�side en ce que vous
 pourrez charger les fontes internationales (dont l'Euro) dans votre
 console.  Je trouve tr�s chic *en fran�ais dans le texte* d'avoir
 trois symboles sur mon clavier : le dollar, la livre et l'Euro.


 1166..  CCoommmmuuttaattiioonn ddee mmooddee

 Pour changer de mode (640x480, 800x800, etc.), vous avez besoin de
 fbset (fbset-19990118.tar.gz pour l'instant) :
 <http://www.cs.kuleuven.ac.be/~geert/bin/fbset-19990118.tar.gz>.  Le
 logiciel est fourni avec une documentation compl�te sur son emploi.


 1166..11..  XX1111 eett vveessaaffbb ??

 Si votre version de XFree86 est ant�rieure � la 3.3.3.1, il est urgent
 de proc�der � une mise � jour. Cette version comprend le pilote FBDev
 X pour les gestionnaires de m�moire vid�o. Autrement, vous pouvez
 compiler votre propre pilote FBDev pour des versions de XFree telles
 la 3.3.2 ou la 3.3.3.

 Allez sur  <http://www.xfree86.org> et t�l�-chargez les derni�res
 sources du serveur X. [NdT : le recours � un miroir comme
 <ftp://ftp.lip6.fr/pub/X11> sera peut-�tre plus rapide]


 �  D�compactez les sources.

 �  �ditez le fichier xc/config/cf/xf86site.def, et d�commentez le
    #define relatif � XF68FBDevServer.

 �  D�commentez _t_o_u_t_e_s les r�f�rences � FB_VISUAL_STATIC_DIRECTCOLOR.
    Elles ne servent plus � rien. Si vous partez des sources de XFree86
    3.3.3.1, sautez cette �tape (la r�f�rence a �t� supprim�e).

 �  �ditez xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_io.c et
    changez K_RAW en K_MEDIUMRAW.

 Recompilez le pilote. Ne vous souciez pas des r�f�rences ayant trait �
 m68k : les architectures Intel sont support�es. Recompilez le tout. �a
 va prendre un moment compte tenu de la taille des sources.

 Si vous manquez de temps, les sites suivants proposent des versions
 pr�-compil�es. Notez que ces sites n'ont rien d'officiel et que vous
 utiliserez leurs binaires � vos risques et p�rils.

 Pour une version libc5 : <http://user.cs.tu-
 berlin.de/~kraxel/linux/XF68_FBDev.gz>.  Pour une version glibc2 :
 <http://user.cs.tu-berlin.de/~kraxel/linux/XF68_FBDev.libc6.gz>,
 <http://pobox.com/~brion/linux/fbxserver.html>.

 On signale qu'X11 ne fonctionne pas avec certaines cartes graphiques
 lorsque le gestionnaire vesafb est actif. Si vous �tes dans ce cas,
 essayez le nouveau pilote XF86_FBdev pour X11.

 Utilis� conjointement � vesafb, ce pilote peut permettre l'emploi de
 X11 � des r�solutions autrement inaccessibles au pilote X11 usuel
 (cartes MGA G200 par exemple).

 XF86_FBdev requiert la configuration suivante du fichier XF86Config :

 Section "Screen"
         Driver          "FBDev"
         Device          "Primary Card"
         Monitor         "Primary Monitor"
         SubSection      "Display"
                 Modes           "default"
         EndSubSection
 EndSection



 Vous devrez �galement positionner XkbDisable dans la section Keyboard
 ou bien ex�cuter XF86_FBDev avec l'option '-kb' afin de g�rer
 correctement votre clavier. Sans XkbDisable, il vous faudra inclure
 les lignes suivantes dans votre .Xmodmap pour pr�ciser les effets des
 touches. Le m�me r�sultat s'obtient en �ditant son xkb si on le
 d�sire.  _X_F_r_e_e_8_6 _3_._3_._3_._1 _n_e _p_r_�_s_e_n_t_e _p_l_u_s _c_e _d_�_f_a_u_t_. _I_l _e_s_t _d_o_n_c
 _v_i_v_e_m_e_n_t _c_o_n_s_e_i_l_l_� _d_'_e_f_f_e_c_t_u_e_r _u_n_e _m_i_s_e _� _j_o_u_r _v_e_r_s _c_e_t_t_e _v_e_r_s_i_o_n _q_u_i
 _d_e _p_l_u_s _c_o_r_r_i_g_e _d_'_a_u_t_r_e_s _b_u_g_s _e_t _i_n_c_l_u_t _F_B_D_e_v _p_a_r_m_i _l_e_s _s_e_r_v_e_u_r_s_.


 ! Keycode settings required
 keycode 104 = KP_Enter
 keycode 105 = Control_R
 keycode 106 = KP_Divide
 keycode 108 = Alt_R Meta_R
 keycode 110 = Home
 keycode 111 = Up
 keycode 112 = Prior
 keycode 113 = Left
 keycode 114 = Right
 keycode 115 = End
 keycode 116 = Down
 keycode 117 = Next
 keycode 118 = Insert
 keycode 119 = Delete



 Certaines adaptations seront s�rement n�cessaires (copier les codes du
 gestionnaire X11 utilis� et positionner le nom du pilote sur FBDev)
 mais c'est en substance ce qu'il vous faudra faire pour que le pilote
 vesafb de X11 fonctionne.  Les probl�mes li�s � X11 devraient �tre
 r�solus dans les prochaines versions en ce qui concerne les cartes
 vid�o support�es.


 1177..  vviidd��oo CCoonnvveerrssiioonn ddeess MMooddeelliinneess eenn ppaarraamm��ttrreess dd''aaffffiicchhaaggee dduu
 ppiilloottee ddee mm��mmooiirree

 Rien n'est plus simple si XFree86 (X11) est install� sur votre machine
 et que vous pouvez vous en servir normalement.

 Le pilote de m�moire vid�o requiert les champs suivants :

 �  pixclock - horloge pixel en picosecondes

 �  left_margin - dur�e entre la synchro et la zone affich�e

 �  right_margin - dur�e entre la zone affich�e et la synchro

 �  upper_margin - dur�e entre la synchro et la zone affich�e


 �  lower_margin - dur�e entre la zone affich�e et la synchro

 �  hsync_len - longueur de la synchro horizontale

 �  vsync_len - longueur de la synchro verticale


 Une ligne "Modeline:" XFree86 comprend les champs suivants :

 Modeline  "1280x1024" DCF HR SH1 SH2 HFL VR SV1 SV2 VFL




 Quelques calculs sont n�cessaires pour la conversion. A titre
 d'exemple voici la conversion de valeurs extraites de mon XF86Config.

 Modeline  "1280x1024" 110.00 1280 1328 1512 1712 1024 1025 1028 1054




 Tout d'abord le param�tre pixclock. XFree86 l'exprime en MHz et le
 pilote de m�moire vid�o en picosecondes (pourquoi? myst�re). On divise
 donc un million par DCF soit : 1,000,000 / 110.0 = 9090.9091


 Pour les dur�es horizontales :

 �  left_margin = HFL - SH2

 �  right_margin = SH1 - HR

 �  hsync_len = SH2 - SH1


 Soit, dans notre exemple :

 �  left_margin = 1712 - 1512 = 200

 �  right_margin = 1328 - 1280 = 48

 �  hsync_len = 1512 - 1328 = 184


 Enfin les dur�es verticales :

 �  upper_margin = VFL - SV2

 �  lower_margin = SV1 - VR

 �  vsync_len = SV2 - SV1


 Soit :

 �  upper_margin = 1054 - 1028 = 26

 �  lower_margin = 1025 - 1024 = 1

 �  vsync_len = 1028 - 1025 = 3


 Les valeurs obtenues sont pass�es au gestionnaire de m�moire vid�o.
 Dans le cas du pilote matroxfb :

 video=matrox:xres:<>,yres:<>,depth:<>,left:<>,right:<>,hslen:<>,upper:<>,lower:<>,vslen:<>



 J'ai donc ins�r� la ligne suivante dans mon /etc/lilo.conf :

 append = "video=matrox:xres:1280,yres:1024,depth:32,left:200,right:48,hslen:184,upper:26,lower:0,vslen:3"




 Notez que le pixclock n'est pas employ� ici. Il n'est n�cessaire que
 si celui par d�faut ne vous convient pas. Il se fixe de la m�me fa�on
 ainsi qu'il a �t� auparavant expliqu� dans ce document.


 1188..  DDaavvaannttaaggee dd''iinnffoorrmmaattiioonnss ??

 Que ceux qui sont int�ress�s aillent faire un tour du cot� de
 <http://www.csoft.net/~systems/jim/fb.html> pour des informations
 relatives � la programmation du pilote.

 La traduction originale de ce document en fran�ais se trouve �
 l'adresse suivante :
 <http://www.freenix.org/unix/linux/HOWTO/mini/Vesafb.html>.