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