  Vesafb mini-HOWTO
  Alex Buell, alex.buell@tahallah.demon.co.uk
  v0.5, 2 August 1998

  Ce document dcrit l'utilisation du gestionnaire vesafb sous Linux
  pour un pc comprenant une carte graphique conforme aux spcifications
  VESA 2.0.
  ______________________________________________________________________

  Table des matires


  1. Remerciements

  2. Vesafb, qus acco ?

  3. Qu'est-ce qu'un gestionnaire de mmoire graphique ?

  4. Comment fais-je fonctionner le gestionnaire vesafb ?

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

  6. Existe-t-il un serveur X11 adapt  vesafb ?

  7. Vesafb peut-il tre modularis ?

  8. Divers



  ______________________________________________________________________

  11..  RReemmeerrcciieemmeennttss

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


    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

    Aaron Tiensivu tiensivu@pilot.msu.edu

  et bien sr l'auteur du pilote:


    Gerd Knorr kraxel@cs.tu-berlin.de


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

    Martin Mares mj@ucw.cz

    S'il y en a d'autres, qu'ils lvent la main. :o)


  22..  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 l'adressage linaire.
  Quelqu'un crira peut-tre un gestionnaire de priphriques vesafb12
  pour ce type de cartes, mais cela consommera de la mmoire par
  ailleurs prcieuse pour le noyau. :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.  Ce
  n'est pas rdhibitoire si l'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 ).


  33..  QQuu''eesstt--ccee qquu''uunn ggeessttiioonnnnaaiirree ddee mmmmooiirree ggrraapphhiiqquuee ??

  Ce gestionnaire fournit une abstraction du matriel graphique. Il
  reproduit le tampon mmoire de certains composants vido et offre aux
  applications l'accs au matriel via une interface bien dfinie.
  Ainsi, les logiciels n'ont plus  se proccuper des dtails de bas-
  niveau [ Traduit approximativement de
  /usr/src/linux/Documentation/fb/framebuffer.txt ]


  44..  CCoommmmeenntt ffaaiiss--jje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 ??

  [NB : les informations qui suivent sont bases sur mon exprience
  concernant le noyau Linux 2.1.112 sur un P75+ muni d'une carte ATI
  VideoExpress avec 2Mo de mmoire vido. N'hsitez pas  me faire part
  de vos expriences particulires. ]

  A supposer que vous utilisiez menuconfig, vous devrez passer par les
  tapes suivantes :

  Dans le menu "Code maturity level options" :

    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" :


    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

  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 disparaitra sous peu. Slectionnez plutt "VGA Text
  Console".

  Vrifiez bien que le support "Mac variable bpp packed pixel" n'est pas
  activ.  [ En 2.2.111, il semblerait qu'il le soit si "Advanced Low
  Level Drivers" l'est ].

  Assurez vous que rien n'est modularis. [J'ai des doutes quand aux
  possibilits de modularisation de l'ensemble - les prcisions seront
  les bienvenues]

  Recompilez le 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.

  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 pingouin.

  Maintenant que a fonctionne, il vous reste  essayer les diffrents
  modes VESA ( cf ci-dessous ),  choisir celui que vous prfrez et 
  le figer via le paramtre "VGA=toto" du lilo.conf. Pour cela, aprs
  avoir fait votre choix, cherchez sa reprsentation dcimale dans les
  tables qui suivent et utilisez ce nombre. Par exemple, pour du 1280
  par 1024 en 256 couleurs, vous utiliserez "VGA=775". N'oubliez pas de
  relancer lilo. C'est tout. Pour davantage d'informations sur le sujet,
  reportez vous aux HOWTO sur LILO et Loadlin.


  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 ).








  Couleurs | 640x480 800x600 1024x768 1280x1024 1600x1200
  ---------+---------------------------------------------
  256      |  0301    0303     0305     0307      031C
  32,768   |  0310    0313     0316     0319      031D
  65,536   |  0311    0314     0317     031A      031E
  16.8M    |  0312    0315     0318     031B      031F



  La mme chose en dcimal :


  Couleurs | 640x480 800x600 1024x768 1280x1024 1600x1200
  ---------+---------------------------------------------
  256      |   769     771      773      775       796
  32,768   |   784     787      790      793       797
  65,536   |   785     788      791      794       798
  16.8M    |   786     789      792      795       799



  [L'auteur apprcierait fortement de recevoir les codes 03xx pour les
  modes manquants, i.e. 1152x900]


  66..  EExxiissttee--tt--iill uunn sseerrvveeuurr XX1111 aaddaapptt  vveessaaffbb ??

  Oui. Si pour une raison ou une autre votre serveur habituel digre mal
  vesafb, vous devrez utiliser la version XF86_FBdev. Tlchargez
  X332servonly.tgz depuis  ou un de ses mirroirs, dcompressez le,
  effectuez les modifications ncessaires dans le fichier
  xc/config/cf/xf86site.def et dcommentez le #define relatif 
  XF68FBDevServer. Ne prtez pas attention  ce qui se rapporte  m68k.
  L'architecture PC est supporte. Compilez le tout, il y en a pour un
  moment. Ooommmm...

  Il n'y a pas encore actuellement de binaire XF86_FBdev disponible tel
  quel mais Debian y travaille et les versions libc5/glibc devraient
  sortir.

  Certains ont signal que X11 n'est pas exploitable sur certaines
  cartes lorsque le gestionnaire vesafb est activ. Si vous vous
  retrouvez dans ce cas, essayez le dernier serveur XF86_FBdev pour X11.

  Ce gestionnaire, utilis avec vesafb, peut permettre de faire
  fonctionner X11 avec certains chipsets  des rsolutions qui ne
  seraient pas autrement supportes par quelque serveur X que ce soit (
  ex. MGA G-200 ).

  Esperons que les problmes de support des cartes graphiques avec X11
  seront rsolus par les versions  venir.


  77..  VVeessaaffbb ppeeuutt--iill ttrree mmoodduullaarriiss ??

  En ce qui concerne le 2.1.112, vesafb ne peut tre compil en tant que
  module.  D'ailleurs, aprs modularisation, on ne verrait rien 
  l'cran jusqu' ce que l'on effectue un modprobe sur vesafb. Il est
  donc surement plus sage pour l'instant de le laisser dans le noyau,
  des fois que le boot ne se droule pas correctement.


  88..  DDiivveerrss

  Les infos donnes ici sont valables pour la version 2.1.112 du noyau.
  Ce HOWTO sera mis  jour selon l'avancement du dveloppement du noyau.
  N'hsitez pas  transmettre  l'auteur vos commentaires et
  approfondissements.

  A noter : le dfilement en arrire ne fonctionne pas encore.






























































