[gull] Résolution dans un serveur X

Dominique Lovy Dominique.Lovy at chiphy.unige.ch
Fri Jul 22 14:32:52 CEST 2005


Le Vendredi, 22 Juillet 2005 11.17, Jean-Bruno Luginbühl a écrit :

> Ha? Mais comment faire avec un écran qui est à plasma? Donc plus de
> fréquences de rafraichissement? Et surtout comment calculer les dpi's en
> fonction de ces fréquences?

Les dpis se calculent simplement en divisant un nombre de pixels (dots) par
une dimension physique en inch.
La valeur courante etait 75 dpi pour les vieux écrans 14", et ce nombre
semble rester inscrit dans différents programmes, malgré l'évolution du matériel

>> Je cherche à changer la "résolution" de mon écran. Il fait 330mmx228mm
>> avec un affichage à 1400x1050. Mon "problème" c'est que les informations
>> de KDE me donne 75dpix75dpi. En fait ce serait plutôt 113dpix115dpi

1400 / ( 330 / 25.4 ) = 108
1050 / ( 228/25.4) = 117

Cette valeur n'a pas beaucoup d'importance en général.

> 
> > Il me semble que c'est le Modeline (Le chiffre juste apres la resolution me 
> 
> La doc XFree me donne ceci sur Modeline :
> 
> ModeLine "name" mode-description
>         This entry is a more compact version of the Mode entry, and it
>         also can be used to specify video modes for the monitor. is a
>         single line format for specifying video modes. In most cases
>         this isn't necessary because the built-in set of VESA standard
>         modes will be sufficient. 
> 
> 
>         The mode-description is in four sections, the first three of
>         which are mandatory. The first is the dot (pixel) clock. This is
>         a single number specifying the pixel clock rate for the mode in
>         MHz. The second section is a list of four numbers specifying the
>         horizontal timings. These numbers are the hdisp, hsyncstart,
>         hsyncend, and htotal values. The third section is a list of four
>         numbers specifying the vertical timings. These numbers are the
>         vdisp, vsyncstart, vsyncend, and vtotal values. The final
>         section is a list of flags specifying other characteristics of
>         the mode. Interlace indicates that the mode is interlaced.
>         DoubleScan indicates a mode where each scanline is doubled.
>         +HSync and -HSync can be used to select the polarity of the
>         HSync signal. +VSync and -VSync can be used to select the
>         polarity of the VSync signal. Composite can be used to specify
>         composite sync on hardware where this is supported.
>         Additionally, on some hardware, +CSync and -CSync may be used to
>         select the composite sync polarity. The HSkew and VScan options
>         mentioned above in the Modes entry description can also be used
>         here. 
>         
> C'est du Chinois pour moi. D'autant plus que mon fichier XFree dans
> cette section ne contient rien pour mon écran (la résolution est dans la
> section "screen" :

Description (très approximative) d'une modeline en quelques lignes:

L'horloge (de sortie) de la carte graphique est fixée au premier nombre (en MHz)

Pour un balayage horizontal:
- on attend n1 periodes d'horloge (marge de gauche)
- on sort les n2 pixels de la ligne sur n2 periodes d'horloges
- on attend n3 periodes d'horloge (marge de droite)
- on attend n4 periodes d'horloge (signal de synchro horizontale)
Ces 4 nombres n1 a n4 sont donnes indirectement par les 4 premieres valeurs
entieres sur la modeline
( en fait, hdisp = n2, hsyncstart = n2 + n3,
hsyncend = n2 + n3 + n4, htotal = n1 + n2 + n3 + n4)

Même chose pour le balayage vertical:
- on attend n5 lignes (marge du haut)
- on sort les n6 lignes de l'image
- on attend n7 lignes (marge du bat)
- on attend n8 lignes (signal de synchro de trame)
(données par les 4 valeurs entieres suivantes)

En jouant sur les modelines, il est donc possible de deplacer
quelque peu l'image dans les 4 directions.

Mais les modelines ne permettent de calculer que les fréquences
de ligne et d'image, mais pas de dpi !

> 
> Section "Monitor"
>     Identifier "monitor1"
>     VendorName "Generic"
>     ModelName "Flat Panel 1400x1050"
>     HorizSync 31.5-90
>     VertRefresh 59-75
> 
>     # Sony Vaio C1(X,XS,VE,VN)?
>     # 1024x480 @ 85.6 Hz, 48 kHz hsync
>     ModeLine "1024x480"    65.00 1024 1032 1176 1344   480  488  494  563

Par exemple ici,
 frequence de ligne = 65000 kHz / 1344 = 48.36 kHz
 frequence d'image = 65000000 Hz / 1344 / 563 = 85.90 Hz


Il fut un temps ou bidouiller les modelines était obligatoire. Sigh... :-)

Dom




More information about the gull mailing list