  Framebuffer HOWTO
  Alex Buell,  <mailto:alex.buell@tahallah.demon.co.uk>,
  traduit par Franois Romieu,  <romieu@ensta.fr>
  v1.2, 22 Juillet 1999

  Ce document dcrit l'emploi des priphriques d'accs  la mmoire
  vido avec diverses configurations matrielles munies de Linux. La
  gestion de plusieurs crans est galement traite.
  ______________________________________________________________________

  Table des matires























































  1. Contributions

  2. Qu'est-ce qu'un tampon de mmoire vido ?

  3. Quels avantages prsente le tampon de mmoire vido ?

  4. Utilisation du tampon de mmoire vido sur architecture Intel

     4.1 Vesafb, qus 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 spcifications VESA 2.0 ?
     5.5 Vesafb est-il modularisable ?
     5.6 Comment puis-je modifier le curseur ?

  6. Le pilote de mmoire vido sur les Atari m68k

     6.1 Quels sont les modes disponibles sur les machines Atari m68k ?
     6.2 Sous-options supplmentaires 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 mmoire vido avec les Amiga

     7.1 Quels sont les modes disponibles sur les machines Amiga ?
     7.2 Sous options supplmentaires sur les machines Amiga m68k
     7.3 Cartes d'extension graphiques gres sur Amiga

  8. Le pilote de mmoire vido sur les Macintosh m68k

  9. Le pilote de mmoire vido sur les PowerPC

  10. Le pilote de mmoire vido sur les Alpha

     10.1 Modes disponibles
     10.2 Cartes graphiques gres par le pilote de mmoire vido

  11. Le pilote de mmoire vido sur les SPARC

     11.1 Cartes graphiques gres par le pilote de mmoire vido
     11.2 Configuration du gestionnaire de mmoire vido

  12. Le pilote de mmoire vido sur les MIPS

  13. Le pilote de mmoire vido 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 mmoire vido avec plusieurs crans

     14.1 Introduction
     14.2 Retour
     14.3 Contributions
     14.4 Avertissements
     14.5 Proprit du document
     14.6 Matriel support
     14.7 Logiciels commerciaux
     14.8 Logiciels ncessaires
     14.9 Mise en route
        14.9.1 Dplacement d'une console
        14.9.2 "fbset" et le paramtrage du second moniteur
        14.9.3 X et le gestionnaire de mmoire vido
        14.9.4 Excution du serveur X sur le second moniteur
     14.10 Rsum
     14.11 Remarques et problmes
        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 paramtres d'affichage du pilote de mmoire vido

  18. Davantage d'informations ?



  ______________________________________________________________________

  11..  CCoonnttrriibbuuttiioonnss

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


    Jeff Noxon jeff@planetfall.com

    Francis Devereux f.devereux@cs.ucl.ac.uk

    Andreas Ehliar ehliar@futurniture.se

    Martin McCarthy marty@ehabitat.demon.co.uk

    Simon Kenyon simon@koala.ie

    David Ford david@kalifornia.com

    Chris Black cblack@cmpteam4.unil.ch

    N Becker nbecker@fred.net

    Bob Tracy rct@gherkin.sa.wlk.com

    Marius Hjelle marius.hjelle@roman.uib.no

    James Cassidy jcassidy@misc.dyn.ml.org

    Andreas U. Trottmann andreas.trottmann@werft22.com

    Lech Szychowski lech7@lech.pse.pl

    Aaron Tiensivu tiensivu@pilot.msu.edu

    Jan-Frode Myklebust pour ses informations sur les cartes Permedia
     janfrode@ii.uib.no

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

     Un grand merci  Rick Niles frederick.a.niles@gsfc.nasa.gov 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 brion@pobox.com

    Gerd Knorr kraxel@cs.tu-berlin.de

  bien sr l'auteur du code :

    Martin Schaller - auteur du concept originel de priphrique
     d'accs  la mmoire vido.

    Roman Hodek Roman.Hodek@informatik.uni-erlangen.de

    Andreas Schwab schwab@issan.informatik.uni-dortmund.de

    Guenther Kelleter

    Geert Uytterhoeven Geert.Uytterhoeven@cs.kuleuven.ac.be

    Roman Zippel roman@sodom.obdg.de

    Pavel Machek pavel@atrey.karlin.mff.cuni.cz

    Gerd Knorr kraxel@cs.tu-berlin.de

    Miguel de Icaza miguel@nuclecu.unam.mx

    David Carter carter@compsci.bristol.ac.uk

    William Rucklidge wjr@cs.cornell.edu

    Jes Sorensen jds@kom.auc.dk

    Sigurdur Asgeirsson

    Jeffrey Kuskin jsk@mojave.stanford.edu

    Michal Rehacek michal.rehacek@st.mff.cuni.edu

    Peter Zaitcev zaitcev@lab.ipmce.su

    David S. Miller davem@dm.cobaltmicro.com

    Dave Redman djhr@tadpole.co.uk

    Jay Estabrook

    Martin Mares mj@ucw.cz

    Dan Jacobowitz dan@debian.org

    Emmanuel Marty core@ggi-project.org

    Eddie C. Dost ecd@skynet.be

    Jakub Jelinek jj@ultra.linux.cz

    Phil Blundell philb@gnu.org

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

  22..  QQuu''eesstt--ccee qquu''uunn ttaammppoonn ddee mmmmooiirree vviiddoo ??

  Un tampon de mmoire vido dfinit une abstraction logicielle d'accs
  aux priphriques vido. Il correspond  la mmoire d'affichage de
  certains contrleurs graphiques et propose une interface unifie aux
  logiciels qui n'ont alors plus  se soucier des dtails de bas niveau
  relatifs au matriel [Extrait du fichier framebuffer.txt crit par
  Geert Uytterhoeven's. Se reporter aux sources du noyau].


  33..  QQuueellss aavvaannttaaggeess pprrsseennttee llee ttaammppoonn ddee mmmmooiirree vviiddoo ??


  Le logo de linux au dmarrage !  Plus srieusement, on dispose d'une
  interface indpendante de l'architecture matrielle. Les gestionnaires
  de console des machines de type Intel sont rests radicalement
  diffrents de ceux des autre plate-formes jusqu' une phase de
  dveloppement avance des noyaux 2.1.x. Avec l'introduction dans le
  noyau 2.1.109 de cette interface, les choses se sont amliores : la
  gestion des consoles sur PC s'est uniformise, 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'accs  la mmoire vido.
  Peut-tre quelqu'un finira-t-il par intgrer le code des versions
  2.1.x dans ces noyaux. Le portage version 0.9.x pour les machines m68k
  fai exception car il intgre 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 amliorations des 1.2.x.

    2.1.107 - apparition du gestionnaire de mmoire vido sur PC ainsi
     que des nouveaux pilotes pour les consoles. Le dfilement en
     arrire n'est pas encore disponible.

    2.1.113 - ajout du dfilement en arrire au pilote vgacon.

    2.1.116 - ajout du dfilement en arrire au pilote vesafb.

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

  Le gestionnaire de mmoire vido offre des possibilits intressantes
  si on prcise quelques options au noyau lors du dmarrage. Certaines
  sont spcifiques  un type de carte donn.

    video=xxx:off - dsactive l'auto-dtection d'un pilote

    video=map:octal-number - associe des consoles virtuelles ( VC ) 
     un gestionnaire de mmoire vido

    video=map:01 VC0 est associe  FB0, VC1  FB1, VC2  FB0, VC3 
     FB1...

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

  La dtection des gestionnaires de mmoire vido a lieu dans un ordre
  fix au niveau du noyau. Vous pouvez l'altrer grce  l'option
  video=xxx qui permet de forcer la dtection de certains priphriques
  avant les autres.
  44..  UUttiilliissaattiioonn dduu ttaammppoonn ddee mmmmooiirree vviiddoo ssuurr aarrcchhiitteeccttuurree IInntteell

  44..11..  VVeessaaffbb,, qquuss aaccccoo ??

  Vesafb est un gestionnaire de mmoire vido sur compatible PC ddi
  aux cartes cartes graphiques conformes aux spcifications VESA 2.0.
  Son fonctionnement est li de prs aux gestionnaires de mmoire vido
  gnriques 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 linaire. Par
  ce terme, on entend que tous les octets de la mmoire vido sont
  accessibles  un instant donn. Historiquement, les anciennes cartes
  vido ne rendaient la mmoire graphique disponible qu'au travers d'une
  fentre de 64 ko qui correspondait  la taille de la plus grande zone
  de mmoire contige grable directement par le microprocesseur (d'o
  les limitations des cartes CGA/EGA).  Quelqu'un crira peut-tre un
  gestionnaire de priphriques vesafb12 pour ce type de cartes, mais il
  consommera une mmoire par ailleurs prcieuse pour le noyau et a
  restera de toute faon un sale bricolage. :o(

  Il existe cependant un moyen dtourn d'accder aux fonctionnalits
  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
  mmoire (par exemple entre 15 et 16 Mo) qui en interdit l'utilisation
  sur les systmes munis de plus de 32 Mo de mmoire.  Rien de
  rdhibitoire si on dispose d'un BIOS permettant de ne pas affecter de
  mmoire entre 15 et 16 Mo ("Memory Hole") mais il m'a sembl
  comprendre que Linux n'aime pas a. Si l'exprience 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>.


  44..22..  CCoommmmeenntt ffaaiirree ffoonnccttiioonnnneerr llee ggeessttiioonnnnaaiirree vveessaaffbb ??

  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'acclrer les copies entre la mmoire systme et la carte
  graphique. Vous pouvez naturellement le mettre en marche une fois la
  console oprationnelle.  _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 disparatra sous peu. Slectionnez plutt "VGA Text
  Console".

  Vrifiez 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 stockes en mmoire mais rien n'y oblige et
  l'emploi de setfont du paquetage kbd-0.99 reste possible pour charger
  les fontes adquates (reportez vous  la section relative aux fontes).

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

  Vous devrez ensuite crer les priphriques associs au gestionnaire
  de mmoire vido dans le rpertoire /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 huitime si vous le souhaitez :

  ______________________________________________________________________
  # mknod /dev/fb7 c 29 224
  ______________________________________________________________________


  Recompilez votre noyau, modifiez l'/etc/lilo.conf de faon  ajouter
  le paramtre 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

  Redmarrez le noyau et essayez comme test d'entrer 0301 au prompt VGA.
  Vous devriez vous retrouver en 640x480 sur 256 couleurs avec un
  dlicieux 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'' hexadcimal. Si LILO fournit
  directement l'argument au noyau, ceci n'est pas ncessaire.

  Une fois que tout marche convenablement, vous pouvez explorer les
  diffrents modes (voir plus bas) et une fois choisi celui qui vous
  convient, il sera temps de le fixer via le paramtre ``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 dfilement vers
  l'arrire.  Vous devez le prciser au noyau : video=vesa:ypan ou
  video=vesa:ywrap.  Les deux font la mme chose mais de faon un peu
  diffrente. 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
  spcifications. L'option n'est disponible qu' partir du noyau
  2.1.116. Les noyaux prcdents ne permettent pas le dfilement vers
  l'arrire.


  55..  DDee qquueellss mmooddeess VVEESSAA ppuuiiss--jjee mmee sseerrvviirr ??

  Cela dpend de votre carte graphique,  en particulier de la quantit
  de mmoire dont elle dispose. A vous de voir quels sont les modes qui
  fonctionnent le mieux.

  La table suivante fournit les numros 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 mme 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 supplmentaires sont  la discrtion du fabricant puisque la
  spcification VESA 2.0 s'arrte au mode 0x31f. Il vous faudra srement
  ttonner pour les trouver.


  55..11..  UUttiilliissaattiioonn ddeess ccaarrtteess ggrraapphhiiqquueess MMaattrrooxx

  Si vous disposez d'une carte Matrox, vous emploierez le pilote
  matroxfb au lieu de vesafb. Matroxfb gre les Mystique Millenium I, II
  ainsi que les G100 et G200. Il permet aussi d'avoir plusieurs cartes
  dans la mme 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 procder  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'', slectionnez :

    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 simultanment, 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  # Ncessaire pour une rinitialisation 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 crer les priphriques associs au gestionnaire
  de mmoire vido dans le rpertoire /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 huitime si vous le souhaitez :

  ______________________________________________________________________
  # mknod /dev/fb7 c 29 224
  ______________________________________________________________________


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


  55..22..  UUttiilliissaattiioonn ddeess ccaarrtteess ggrraapphhiiqquueess PPeerrmmeeddiiaa..

  Les cartes de type Permedia ne sont pas supportes par le pilote
  vesafb.  Heureusement, il existe un gestionnaire de mmoire vido
  spcifique aux cartes Permedia. En supposant que vous employez
  menuconfig pour paramtrer le noyau avant une compilation, excutez
  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'', slectionnez :

    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  # Ncessaire pour une rinitialisation 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 oprera dans une rsolution de 1024 par 768  75Hz avec les
  fontes SUN 12 par 22 (si vous les avez incluses). Ypan autorise le
  dfilement vers l'arrire.  Vous pouvez employer un autre mode.

  Vous devrez ensuite crer les priphriques associs au gestionnaire
  de mmoire vido dans le rpertoire /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 huitime si vous le souhaitez :

  ______________________________________________________________________
  # mknod /dev/fb7 c 29 224
  ______________________________________________________________________



  Pour davantage de renseignements concernant les fonctionnalits 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 dsactiver le pilote.

    mode:resolution pour fixer la rsolution. 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 dfaut, 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 mmoire vido l'autorise.

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

    virtual (transitoire) est  employer si le noyau fixe lui-mme les
     adresses d'accs sur les bus PCI.


  55..33..  UUttiilliissaattiioonn ddeess ccaarrtteess ggrraapphhiiqquueess AATTII

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

  Les cartes ATI sont plus ou moins bien gres par le pilote vesafb
  selon leur qualit intrinsque. Heureusement, il existe un
  gestionnaire de mmoire vido spcifique aux cartes ATI. En supposant
  que vous employez menuconfig pour paramtrer le noyau avant une
  compilation, excutez 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'', slectionnez :

    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  # Ncessaire pour une rinitialisation 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
  oprera dans une rsolution de 1024 par 768.

  Vous devrez ensuite crer les priphriques associs au gestionnaire
  de mmoire vido dans le rpertoire /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 huitime 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 dsactive l'extinction de l'cran

    noaccel dsactive les routines d'acclration

    vram:ULONG prcise au pilote atyfb la quantit de mmoire vido
     disponible

    pll:ULONG ?

    mclk:ULONG ?

    vmode:ULONG ?

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




  55..44..  QQuueelllleess ccaarrtteess ggrraapphhiiqquueess ssee ccoonnffoorrmmeenntt aauuxx ssppcciiffiiccaattiioonnss VVEESSAA
  22..00 ??

  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 tlvision

    Hercules Stingray 128/3D sans sortie pour la tlvision - une mise
      jour du BIOS est ncessaire (contactez support@hercules.com)

    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 mres incluant un jeu de composants graphiques :

    Trident Cyber9397

    SiS 5598

  Les cartes qui ne fonctionnent pas :

    TBA


  55..55..  VVeessaaffbb eesstt--iill mmoodduullaarriissaabbllee ??


  A ma connaissance, Vesafb ne peut pas tre modularis. Les
  dveloppeurs de vesafb s'y attleront peut-tre un jour. De toute
  faon, 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 srement mieux le laisser dans le noyau, des fois que le
  dmarrage se passe mal.



  55..66..  CCoommmmeenntt ppuuiiss--jjee mmooddiiffiieerr llee ccuurrsseeuurr ??

  [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 mme
  occasion, contourner quelques problmes matriels de cartes Trident
  dfectueuses (cf. #define TRIDENT_GLITCH dans le fichier
  drivers/char/vga.c). Si vous activez l'option de gnration logicielle
  du curseur ("Software generated cursor"), des nouveauts se
  prsentent : un curseur rouge, un qui intervertisse la couleur de
  premier plan et celle du fond, une mise en relief du caractre actif
  qui laisse le curseur matriel visible ou non. Je n'ai srement pas
  pens  tout.

  On contrle l'allure du curseur via la squence d'chappement

  <ESC>[?1;2;3c


  dcrire  prsent. Les paramtres absents prennent la valeur 0.

  Le premier paramtre correspond  la taille du curseur (0=dfaut,
  1=transparent, 2=soulign, ..., 8=caractre plein). Ajoutez 16 pour
  rendre actif le curseur logiciel, 32 si la couleur de fond doit tre
  systmatiquement change, 64 pour que les couleurs de premier plan et
  de fond soient distinctes.  La graisse est ignore pour les deux
  derniers attributs.

  Le second paramtre indique quels sont les bits d'attributs  changer
  (un simple ou exclusif). Sur un cran VGA standard, les quatre bits de
  poids fort prcisent 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 troisime paramtre 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 slection 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'


  66..  LLee ppiilloottee ddee mmmmooiirree vviiddoo ssuurr lleess AAttaarrii mm6688kk

  Cette partie dcrit les options offertes par le pilote de mmoire
  vido sur les machines Atari m68k.


  66..11..  QQuueellss ssoonntt lleess mmooddeess ddiissppoonniibblleess ssuurr lleess mmaacchhiinneess AAttaarrii mm6688kk ??


  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 employs sur les modles TT
  tandis que vga2, vga4, vga15, vga256, falh3 et falh16 ne servent que
  sur le Falcon.  Lorsqu'une option video=xxx est donne au noyau, en
  l'absence toute sous-option, le noyau teste les modes vido dans
  l'ordre suivant jusqu' ce qu'il en trouve un adapt au matriel :

    ttmid

    tthigh

    vga16

    sthigh

    stmid

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


  66..22..  SSoouuss--ooppttiioonnss ssuuppppllmmeennttaaiirreess ssuurr lleess mmaacchhiinneess AAttaarrii mm6688kk

  Options supplmentaires disponibles avec le paramtre 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 utilise par dfaut si la dimension verticale de l'cran
     est infrieure  400 pixels sans quoi la fonte VGA8x16 est
     employe.

    internal - trs intressant. Se reporter  la section suivante.

    external - idem.

    monitorcap - description des modes multisync disponibles.  PROSCRIT
     pour les moniteurs  frquence fixe.


  66..33..  SSoouuss--ooppttiioonn ""iinntteerrnnaall"" ssuurr lleess mmaacchhiinneess AAttaarrii mm6688kk

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

  L'option indique les fonctionnalits ajoutes par certains
  priphriques vido tels les modes d'OverScan. (xres) et (yres)
  fournissent les dimensions tendues de l'cran.  Si vos modes
  d'OverScan ncessitent une bordure noire, vous devrez expliciter les
  trois derniers arguments de la sous-option internal:.  (xres_max)
  correspond  la plus grande dimension de ligne accepte par le
  matriel tandis que (yres_max) donne le nombre maximal de lignes et
  (offset) le dcalage en octets entre la partie visible de la mmoire
  vido et son emplacement physique.

  Les matriel vido tendu requiert souvent une activation qui fait
  appel aux options "switches=*". [L'auteur apprcierait de recevoir des
  informations supplmentaires  ce sujet. La documentation m68k du
  noyau manque de clart sur ce sujet et l'auteur ne possde pas
  d'Atari ! Des exemples seront galement les bienvenus.]


  66..44..  SSoouuss--ooppttiioonn ""eexxtteerrnnaall"" ssuurr lleess mmaacchhiinneess AAttaarrii mm6688kk

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

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

  Cette sous-option indique que vous disposez de priphriques vido
  externes (vraisemblablement une carte vido) et indique comment Linux
  doit l'employer.  Normalement, le noyau se limite  ce qu'il peut
  apprendre des priphriques vido internes. Vous devez donc lui
  fournir tous les paramtres ncessaires afin qu'il soit en mesure de
  grer des priphriques externes. Il y a deux limitations : vous
  basculerez dans le mode adquat avant l'initialisation et une fois
  celle-ci effectue, vous ne pourrez pas changer de mode.

  Les trois premiers paramtres sont vidents. Ils correspondent aux
  dimensions de la zone d'affichage : hauteur et largeur en pixel
  suivies de la profondeur.  Le paramtre de profondeur servant
  d'exposant au nombre 2 donne le nombre de couleurs. Par exemple, pour
  un affichage en 256 couleurs, vous prciserez un paramtre de 8. Le
  paramtre dpend de l'adaptateur graphique externe bien que vous soyez
  de toute faon limit par le matriel.

  Vous devez ensuite dcrire au noyau l'organisation de la mmoire vido
  via le paramtre (org).

    n - plans disposs normalement, les uns  la suite des autres.

    i - plans entrelacs, c'est  dire 16 bits du premier plan, puis du
     suivant etc. Seuls les modes vido natifs d'Atari utilisent a et
     aucune carte vido ne le gre.

    p - pixels regroups. Les bits constitutifs des diffrents plans
     d'un mme pixel se suivent. Ce mode est le plus courant en 256
     couleurs.

    t - couleurs vraies. Il s'agit du mode prcdent en l'absence de
     toute table de correspondance des couleurs. Ces modes sont
     gnralement sur 24 bits et procurent quelque 16,8 millions de
     couleurs.

  _A _c_o_t_ _d_e __a, le paramtre (org) a une signification bien diffrente
  pour les modes monochromes.

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

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

  L'lment suivant ayant trait au priphrique vido fixe l'adresse de
  base de la mmoire vido. Il est donn par le paramtre (scrmem) sous
  forme hexadcimale (prfix par 0x). Vous devriez trouver cette
  information dans la documentation fournie avec le priphrique.

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

  Le paramtre (vgabase) est optionnel. En son absence, le noyau ne
  pourra lire ni crire le moindre des registres de couleur du
  priphrique et il vous faudra donc installer les couleurs appropries
  avant le dmarrage de Linux.  Si la carte est compatible VGA, vous
  pouvez donner au noyau l'adresse o se trouvent les registres vido de
  faon  ce qu'il modifie lui-mme les tables des couleurs. Vous
  trouverez cette information dans la documentation fournie avec le
  priphrique. Afin d'tre _c_l_a_i_r, (vgabase) est une adresse de _b_a_s_e,
  donc aligne sur un multiple de 4k. Pour l'accs en lecture ou en
  criture aux registres, le noyau utilise une plage d'adresses
  comprises entre (vgabase) + 0x3c7 et  (vgabase) + 0x3c9. La valeur est
  donne en hexadcimal et doit tre prfixe par 0x (tout comme
  (scrmem)).

  (colw) ne sert que si (vgabase) est spcifi. 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 dfaut est de 6 bits mais
  il est courant d'en spcifier 8.

  (coltype) s'emploie en conjonction avec (vgabase). Il prcise aux
  noyau le type des registres de la carte graphique. Actuellement, deux
  modles sont grs : vga et mv300. Par dfaut, vga est employ.

  (xres_virtual) n'est ncessaire qu'avec les cartes ProMST/ET4000 pour
  lesquelles la longueur physique des lignes diffre de leur taille
  visible.  Avec une ProMST, on donnera la valeur 2048 tandis que pour
  l'ET4000 cela dpendra de l'initialisation de la carte vido.


  77..  LLee ppiilloottee ddee mmmmooiirree vviiddoo aavveecc lleess AAmmiiggaa


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


  77..11..  QQuueellss ssoonntt lleess mmooddeess ddiissppoonniibblleess ssuurr lleess mmaacchhiinneess AAmmiiggaa ??

  a dpend du composant employ dans votre Amiga. Il y en a
  essentiellement trois : OCS, ECS et AGA. Tous on recours au pilote de
  mmoire vido.

    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


  77..22..  SSoouuss ooppttiioonnss ssuuppppllmmeennttaaiirreess ssuurr lleess mmaacchhiinneess AAmmiiggaa mm6688kk

  Elles sont voisines de celles de l'Atari m68k :

    depth - prcise le nombre de bits par pixel.

    inverse - mme chose que sur les Atari.

    font - mme chose que sur les Atari, mais la fonte PEARL8x8
     remplace la fonte VGA8x8 si la largeur de la zone d'affichage est
     infrieure  400 pixels.

    monitorcap - description des modes multisync disponibles. PROSCRIT
     pour les moniteurs  frquence fixe.


  77..33..  CCaarrtteess dd''eexxtteennssiioonn ggrraapphhiiqquueess ggrreess ssuurr AAmmiiggaa


    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)


  88..  LLee ppiilloottee ddee mmmmooiirree vviiddoo ssuurr lleess MMaacciinnttoosshh mm6688kk

  La version courante du gestionnaire de mmoire vido ne gre 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 gre les options de la forme :

  video=macfb:<font>:<inverse>


  Les fontes  VGA8x8, VGA8x16, 6x11, etc... sont disponibles. L'option
  inverse permet bien sr d'inverser la vido.




  99..  LLee ppiilloottee ddee mmmmooiirree vviiddoo ssuurr lleess PPoowweerrPPCC

  L'auteur aimerait recevoir des informations relatives au gestionnaire
  de mmoire vido sur ces machines.


  1100..  LLee ppiilloottee ddee mmmmooiirree vviiddoo ssuurr lleess AAllpphhaa

  1100..11..  MMooddeess ddiissppoonniibblleess


  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.


  1100..22..  CCaarrtteess ggrraapphhiiqquueess ggrreess ppaarr llee ppiilloottee ddee mmmmooiirree vviiddoo

  La carte graphique suivante a t teste avec succs :

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


  1111..  LLee ppiilloottee ddee mmmmooiirree vviiddoo ssuurr lleess SSPPAARRCC

  1111..11..  CCaarrtteess ggrraapphhiiqquueess ggrreess ppaarr llee ppiilloottee ddee mmmmooiirree vviiddoo


    MG1/MG2 - version SBus ou intgre (Sun3) - au maximum 1600x1280
     monochrome (BWtwo)

    CGthree - semblable aux MG1/MG2 mais offrant la couleur -
     rsolution 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 acclratrice 3D 24 bits - rsolution
     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 acclratrice 8/24 bits pour Sparc64 sur bus PCI

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


  1111..22..  CCoonnffiigguurraattiioonn dduu ggeessttiioonnnnaaiirree ddee mmmmooiirree vviiddoo


  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 spcifier au noyau le pilote  employer. Par dfaut,
  fbcon est essay en premier au dmarrage. Si promcon n'a pas t
  slectionn, dummycon est activ pendant l'initialisation. Une fois
  les bus initialiss, si fbcon est compil, le noyau recherche les
  priphriques prcdents et se sert de fbcon. En l'absence de
  gestionnaires de mmoire vido, le noyau a recours  promcon.

  Voici les options du noyau :

  video=sbus:options


  options inclut les lments suivants, spars par une virgule :

                  nomargins       marge nulle;
                  margins=12x24   marge de 12 par 24 (calcul par dfaut en
                  fonction de la rsolution);
                  off             inhibition de la dtection des pilotes de
                  mmoire vido SBus/UPA;
                  font=SUN12x22   emploi d'une fonte particulire.



  Au dmarrage, un paramtrage de la forme

   video=sbus:nomargins,font=SUN12x22


  en mode texte, rapide, avec une rsolution 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 (dsactivez l'option
  fontwidth != 8).  Le pilote de mmoire vido acclr gre n'importe
  quelle fonte dont la largeur est comprise entre 1 et 16 pixels tandis
  que le pilote de base ne gre que les fontes larges de 4, 8, 12 ou 16
  pixels.  Un paquetage rcent des consoletools est recommand.


  1122..  LLee ppiilloottee ddee mmmmooiirree vviiddoo ssuurr lleess MMIIPPSS


  Il n'est pas besoin de modifier quoi que ce soit avec ce type de
  machines.  Tout est gr automatiquement. En particulier, les Indys
  sont cbls de faon  offrir une console 160x64. Une rcriture du
  code de gestion de la console pour les Indys tant en cours, on
  gardera un oeil sur cette section.


  1133..  LLee ppiilloottee ddee mmmmooiirree vviiddoo ssuurr lleess AARRMM



  1133..11..  NNeettwwiinnddeerrss

  Pour les Netwinders (qui reposent sur le processeur RISC ARM SA110 au
  charme si dlicieusement british), il existe deux versions du
  gestionnaire de mmoire vido 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. Nanmoins,
  en 2.0.x, la rsolution et la profondeur sont codes en dur (beuh...).
  Heureusement, la version 2.2.x est plus souple, du moins le sera une
  fois les pilotes davantage stabiliss. 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
  intgrent un composant VGA mais il ne s'est malheureusement jusqu'ici
  trouv personne pour porter vgafb. [Je m'y attlerais si quelqu'un me
  fournissait un Netwinder avec lequel jouer]
  1133..22..  AArrcchhiimmeeddeess AAccoorrnn

  Les Acorns offrent un pilote de mmoire vido depuis les temps anciens
  des noyaux 1.9.x. Cependant, le gestionnaire Acornfb des noyaux 2.2.x
  est compltement nouveau puisque l'interface d'accs  la mmoire
  vido a t modifie au cours du dveloppement des noyaux 2.1.x (qui
  devinrent naturellement les 2.2.x). Comme prcdemment, il n'est gure
  difficile d'activer le pilote et de configurer la profondeur et la
  rsolution.


  1133..33..  AAuuttrreess aarrcchhiitteeccttuurreess  bbaassee dd''AARRMM ((SSAA 77111100ss eett vvaarriiaanntteess))

  A ma surprise, mme le Psion 5 et le Geofox disposent d'un pilote de
  mmoire vido ! On m'a dit que le manchot passait d'ailleurs plutt
  bien. S'il vous plat, donnez moi un Psion 5 !


  1144..  GGeessttiioonn ddee llaa mmmmooiirree vviiddoo aavveecc pplluussiieeuurrss ccrraannss

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


  1144..11..  IInnttrroodduuccttiioonn

  Les quelques pages qui suivent sont censes permettre une premire
  prise en main des configurations  deux crans sous Linux. Bien que le
  processus se droule 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'intrt en est que l'on croise de temps  autre des
  personnes se dbarrassant de vieux moniteurs de 19 ou 20 pouces 
  frquence fixe car ils ne peuvent plus s'en servir. On peut ainsi
  dmarrer avec un petit moniteur multisync et disposer de X sur un
  moniteur de grandes dimensions.

  Comme il s'agit d'un domaine en plein dveloppement, l'information
  volue rapidement. Le contenu de ce document pourrait trs bien tre
  dpass, voire compltement faux, lorsque vous le lirez.

  ** ATTENTION ** Ce texte a t rdig 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.


  1144..22..  RReettoouurr

  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'hsitez donc pas  me contacter  l'adresse
  suivante : Frederick.A.Niles@gsfc.nasa.gov.


  1144..33..  CCoonnttrriibbuuttiioonnss

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

    Petr Vandrovec vandrove@vc.cvut.cz

    Andreas Ehliar ehliar@lysator.liu.se (x2x)

    Marco Bizzarri m.bizzarri@icube.it (multiple X servers)

  1144..44..  AAvveerrttiisssseemmeennttss

  L'auteur de ce document dgage toute responsabilit quant  son
  contenu.  Vous employez les notions, exemples et tout ce qui figure
  ici  vos risques et prils. S'agissant d'une nouvelle version de ce
  document, des informations errones ou inadquates peuvent trs bien
  entraner la dgradation de votre matriel. Faites y attention et,
  bien que ce soit hautement improbable, je me dcharge de toute
  responsabilit  cet gard.


  1144..55..  PPrroopprriitt dduu ddooccuummeenntt

  Copyright (c) 1999 Frederick Niles

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



  1144..66..  MMaattrriieell ssuuppppoorrtt

  La plupart des cartes vido supposent qu'elles assument seules cette
  fonction au sein du systme. 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 prcdente.


  1144..77..  LLooggiicciieellss ccoommmmeerrcciiaauuxx

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


  1144..88..  LLooggiicciieellss nncceessssaaiirreess

  Les patches et programmes suivants sont ncessaires :

    "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 mmoire vido.
     Disponible en standard avec la version 3.3.1 de la XFree86.



  1144..99..  MMiissee eenn rroouuttee

  Commencez par patcher votre version du noyau avec le patche "fbaddon".
  Ensuite, vous configurerez le noyau et activerez la gestion de la
  mmoire vido. Si vous disposez de cartes Matrox, incluez le pilote
  d'acclration unifi Matrox. Excluez le gestionnaire de mmoire vido
  VESA. Activez bien sr la gestion de plusieurs adaptateurs, recompilez
  le noyau et rinitialisez le systme.

  A prsent, installez l'utilitaire "fbset" et lisez attentivement la
  documentation relative  son paramtrage. La mise en place d'un
  fichier "/etc/fb.modes" est vivement recommande une fois que vous
  vous serez dcid sur une configuration. Le paquetage fbset comprend
  un script Perl de conversion du fichier XF86Config en paramtres 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 mmoire
  vido 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
  oprations de configuration en forment un sous-ensemble.


  1144..99..11..  DDppllaacceemmeenntt dd''uunnee ccoonnssoollee

  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
  numro 6 au second gestionnaire de mmoire vido. Ctrl-Alt-F6 vous
  basculera dans cette console qui s'affichera sur le second moniteur.


  1144..99..22..  ""ffbbsseett"" eett llee ppaarraammttrraaggee dduu sseeccoonndd mmoonniitteeuurr

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


  1144..99..33..  XX eett llee ggeessttiioonnnnaaiirree ddee mmmmooiirree vviiddoo

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

    vrifiez que le lien "X" pointe bien vers "XF86_FBDev",

    ajoutez une section Monitor  votre fichier XF86Config pour le
     gestionnaire de mmoire vido.

     Par exemple :










     # Serveur X s'appuyant sur le gestionnaire de mmoire vido.

     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 mmoire vido Matrox.


  1144..99..44..  EExxccuuttiioonn dduu sseerrvveeuurr XX ssuurr llee sseeccoonndd mmoonniitteeuurr

  Positionnez la variable d'environnement FRAMEBUFFER sur le second
  priphrique de mmoire vido : "export FRAMEBUFFER=/dev/fb1" ou :
  "setenv FRAMEBUFFER /dev/fb1" X doit tre lanc avec des paramtres
  lui spcifiant  la fois la profondeur souhaite au niveau des
  couleurs et un numro correspondant  la console virtuelle employe.
  Par exemple : "startx -- :0 -bpp 16 vt06".  Le serveur X en 16 bits
  par pixel d'identifiant ":0" est attach  la console virtuelle numro
  6. Utilisez ":1" au lancement d'un autre serveur X en le liant  une
  console dpendant de l'autre gestionnaire de mmoire vido et vous
  disposerez de deux serveurs X fonctionnant simultanment.


  1144..1100..  RRssuumm

  Les tapes de mise en place d'un serveur X sur un second moniteur
  peuvent tre ainsi rsumes :

    se procurer le patch du noyau, fbset et con2fb ;

    appliquer le patch, configurer le noyau, recompiler et
     rinitialiser ;

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

     A chaque redmarrage :

    crer une console : "con2fb /dev/fb1 /dev/tty6" ;


    paramtrer : "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 tches. Un script ne
     conviendrait pas puisqu'on a besoin de dterminer le numro 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
  prs mais ils aident, avec les sauts de ligne,  en faciliter la
  lecture. Je fournis le numro du pilote de mmoire vido 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.


  1144..1111..  RReemmaarrqquueess eett pprroobbllmmeess


    fbset et startx _D_O_I_V_E_N_T tre invoqus depuis une mme console qui
     sera contrle par le pilote de mmoire vido. L'automatisation au
     moyen de scripts en est diminue d'autant.

    la version 4.0 de XFree86 grera 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 mmoire vido non-actif conserve la dernire image
     sans la mettre  jour.

    L'cran qui n'est pas slectionn ne conserve pas toujours son tat
     durant ses priodes d'inactivit (mais en gnral il le fait).
     Geert Uytterhoeven, qui assure l'volution du pilote de mmoire
     vido, et Linus Torvalds sont en dsaccord sur les changements pour
     la gestion des adaptateurs multiples lis aux consoles (i.e.
     fbaddon) et ceux ci pourraient trs bien ne jamais se retrouver
     dans l'arborescence officielle du noyau (cette information a une
     forte composante de type bruit de couloir).

    Si vous excutez X de n'importe o, votre machine peut se retrouver
     dans un tat passablement dgrad qui mlange les vnements de la
     souris et ceux du clavier.

    Le fichier framebuffer.txt dans l'arborescence du noyau mentionne
     la possibilit de modifier les paramtres Modeline du XF86Config
     alors que X fonctionne. Le gestionnaire de mmoire vido Matrox
     semble obliger le serveur X  tous les ignorer. On ne dispose donc
     que d'un paramtrage, celui qui est employ lors du basculement
     depuis le mode texte.

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


  1144..1111..11..  FFoonnccttiioonnnneemmeenntt aavveecc xxddmm

  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 dmarrer le serveur X
  depuis la console gre par le pilote de mmoire vido interdit cette
  solution. Si quelqu'un a une ide, qu'il m'en fasse part afin que je
  puisse l'ajouter.


  1144..1111..22..  LL''uuttiilliittaaiirree xx22xx

  x2x vous permet de passer d'un serveur X  l'autre lorsque vous
  atteignez le bord d'un cran. Aux dernires 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'expriences russies.


  1144..1111..33..  AAuuttrreess ccoommmmaannddeess uuttiilleess

  Il est bon de garder prsente  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" excute un programme dans une console diffrente.

    "tty" renvoie le nom de la console courante.


  1144..1111..44..  AAnnnneexxee AA.. SSccrriipptt ccvvttmmooddee..mm ppoouurr OOccttaavvee

  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");
  ______________________________________________________________________




  1144..1111..55..  AAnnnneexxee BB..  SSccrriipptt ""ccvvttffiillee"" eenn SShheellll BBoouurrnnee

  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
  ______________________________________________________________________


  1155..  GGeessttiioonn ddeess ffoonntteess

  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 tl-chargement et l'installation de kbd-0.99 rside en ce que vous
  pourrez charger les fontes internationales (dont l'Euro) dans votre
  console.  Je trouve trs chic *en franais dans le texte* d'avoir
  trois symboles sur mon clavier : le dollar, la livre et l'Euro.


  1166..  CCoommmmuuttaattiioonn ddee mmooddee

  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 complte sur son emploi.


  1166..11..  XX1111 eett vveessaaffbb ??

  Si votre version de XFree86 est antrieure  la 3.3.3.1, il est urgent
  de procder  une mise  jour. Cette version comprend le pilote FBDev
  X pour les gestionnaires de mmoire vido. 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 tl-chargez les dernires
  sources du serveur X. [NdT : le recours  un miroir comme
  <ftp://ftp.lip6.fr/pub/X11> sera peut-tre plus rapide]


    Dcompactez les sources.

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

    Dcommentez _t_o_u_t_e_s les rfrences  FB_VISUAL_STATIC_DIRECTCOLOR.
     Elles ne servent plus  rien. Si vous partez des sources de XFree86
     3.3.3.1, sautez cette tape (la rfrence a t supprime).

    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 rfrences ayant trait 
  m68k : les architectures Intel sont supportes. 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-compiles. Notez que ces sites n'ont rien d'officiel et que vous
  utiliserez leurs binaires  vos risques et prils.

  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 rsolutions 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 excuter XF86_FBDev avec l'option '-kb' afin de grer
  correctement votre clavier. Sans XkbDisable, il vous faudra inclure
  les lignes suivantes dans votre .Xmodmap pour prciser les effets des
  touches. Le mme rsultat s'obtient en ditant son xkb si on le
  dsire.  _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 srement ncessaires (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 problmes lis  X11 devraient tre
  rsolus dans les prochaines versions en ce qui concerne les cartes
  vido supportes.


  1177..  vviiddoo CCoonnvveerrssiioonn ddeess MMooddeelliinneess eenn ppaarraammttrreess dd''aaffffiicchhaaggee dduu
  ppiilloottee ddee mmmmooiirree

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

  Le pilote de mmoire vido requiert les champs suivants :

    pixclock - horloge pixel en picosecondes

    left_margin - dure entre la synchro et la zone affiche

    right_margin - dure entre la zone affiche et la synchro

    upper_margin - dure entre la synchro et la zone affiche


    lower_margin - dure entre la zone affiche 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 ncessaires 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 paramtre pixclock. XFree86 l'exprime en MHz et le
  pilote de mmoire vido en picosecondes (pourquoi? mystre). On divise
  donc un million par DCF soit : 1,000,000 / 110.0 = 9090.9091


  Pour les dures 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 dures 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 passes au gestionnaire de mmoire vido.
  Dans le cas du pilote matroxfb :

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



  J'ai donc insr 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 ncessaire que
  si celui par dfaut ne vous convient pas. Il se fixe de la mme faon
  ainsi qu'il a t auparavant expliqu dans ce document.


  1188..  DDaavvaannttaaggee dd''iinnffoorrmmaattiioonnss ??

  Que ceux qui sont intresss 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 franais se trouve 
  l'adresse suivante :
  <http://www.freenix.org/unix/linux/HOWTO/mini/Vesafb.html>.









































