Sophie

Sophie

distrib > Mandriva > 9.0 > i586 > by-pkgid > 0d5cd12c82d627a82c59047e1ba7b8a9 > files > 2400

howto-html-fr-9.0-0.2mdk.noarch.rpm

<HTML>
<HEAD>
<TITLE>Rendre le processus automatique</TITLE>
</HEAD>
<BODY>
<H1>6. <A NAME="s6"></A>Rendre le processus automatique</H1>
<P>
<A HREF="XFree86-XInside.html#toc6">Contenu de cette section</A></P>

<P>Le petit script qui suit automatise la plupart du travail. Faites tr&egrave;s
attention au ScanType (type de balayage) et aux deux lignes Polarity
(polarit&eacute;): le script ne les positionne pas et, si vous avez la paresse de
ne pas les corriger, les risques d'endommager votre moniteur augmentent en
fl&egrave;che. </P>
<P>Remarquez que je ne sais pas si le drapeau "Doublescan" (balayage double) a
une signification quelconque dans XInside: si vous tentez de convertir un
mode de double balayage de faible r&eacute;solution FAITES ATTENTION, vous pouvez
assez facilement casser votre moniteur puisque le taux de rafra&icirc;chissement 
que vous obtenez sera doubl&eacute; (en fait mon 400x300 &agrave; 72Hz est devenu un 
400x300 &agrave; 144Hz!).</P>
<P></P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
#!/bin/sh
##########################################################################
# XF2XInside
#
# Ce script convertit les lignes de mode video du format XF86Config au
# format XInside pour remplir les besoins du fichier etc/Xtimings.
#
# C'est une bidouille vite programmee, n'en attendez pas des verifications
# d'erreurs fines (et ne parlons pas de l'interface utilisateur).
#
# Si vous l'appelez sans argument, il devrait vous dire quoi faire.
#
#                               (juillet 1996, hcz@tazlwurm.bb.bawue.de)
#
# Au fait: Les nouveaux modes crees comme expliques dans ce HOWTO
# fonctionnent, mais n'apparaissent pas dans le menu de Xsetup. Quelqu'un
# sait-il pourquoi ?
#
##########################################################################
#----------------------------------------------- On y va:
# Modifiez ceci si votre fichier de lignes de modes video est ailleurs:
XF=/usr/X11/lib/X11/XF86Config
if [ $# -ne 1 ] ; then
  echo &quot;utilisation: ${0##*/} &lt;mode&gt;&quot;
  echo &quot; exemple: ${0##*/} 1024x764&quot;
  echo -e &quot; role: convertit une entree de ligne de mode video de $XF au\nformat XInside (stdout, ou la sortie standard)&quot;
  exit 1
fi
egrep -i &quot;^[\t ]*modeline.+\&quot;$1\&quot;&quot;  /usr/X11/lib/X11/XF86Config |
gawk '
NF &lt; 11  { print &quot;! mauvaise ligne:\n! &quot; $0 &quot;\n!&quot;; next }
{
  print &quot;//&quot;, $0  &quot;:&quot;
  name = $2
  DOT_CLK = $3;
  A = $4;
  B = $5;
  C = $6;
  D = $7;
  a = $8;
  b = $9;
  c = $10;
  d = $11;
  VerFrequency =  1000000 / ((D / DOT_CLK) * d)
  print &quot;[MODE_PREAJUSTE]&quot;
  printf &quot;  NomDuModePreajuste = \&quot;%dx%d @ %.0dHz\&quot;;\n&quot;, A, a, VerFrequency
  print &quot;  HorPixel\t\t= &quot; A &quot;;&quot;
  print &quot;  VerPixel\t\t= &quot; a &quot;;&quot;
  print &quot;  PixelWidthRatio\t= 4;\n  PixelHeightRatio\t= 3;&quot;
  print &quot;  HorFrequency\t\t= &quot; DOT_CLK / D * 1000 &quot;;\t// kHz&quot;
  print &quot;  VerFrequency\t\t= &quot; VerFrequency  &quot;;\t// Hz&quot;
  print &quot;  ScanType\t\t= NONINTERLACED;\t\t// *VERIFIEZ*&quot;
  print &quot;  HorSyncPolarity\t= NEGATIVE;\t\t\t// *VERIFIEZ*&quot;
  print &quot;  VerSyncPolarity\t= NEGATIVE;\t\t\t// *VERIFIEZ*&quot;
  print &quot;  CharacterWidth\t= 8;&quot;
  print &quot;  PixelClock\t\t= &quot; DOT_CLK &quot;;&quot;
  HorTotalTime = D / DOT_CLK
  print &quot;  HorTotalTime\t\t= &quot; HorTotalTime &quot;;&quot;
  print &quot;  HorAddrTime \t\t= &quot; A / DOT_CLK &quot;;&quot;
  print &quot;  HorBlankStart\t\t= &quot; A / DOT_CLK &quot;;&quot;
  print &quot;  HorBlankTime\t\t= &quot; D / DOT_CLK - A / DOT_CLK &quot;;&quot;
  print &quot;  HorSyncStart\t\t= &quot; B / DOT_CLK &quot;;&quot;
  print &quot;  HorSyncTime\t\t= &quot; C / DOT_CLK - B / DOT_CLK &quot;;&quot;
  VerTotalTime  = ( HorTotalTime * d ) / 1000
  print &quot;  VerTotalTime\t\t= &quot; VerTotalTime &quot;;&quot;
  print &quot;  VerAddrTime\t\t= &quot; ( HorTotalTime * a ) / 1000 &quot;;&quot;
  VerBlankStart = ( HorTotalTime * a ) / 1000
  print &quot;  VerBlankStart\t\t= &quot; VerBlankStart &quot;;&quot;
  print &quot;  VerBlankTime\t\t= &quot; VerTotalTime - VerBlankStart &quot;;&quot;
  print &quot;  VerSyncStart\t\t= &quot; ( HorTotalTime * b ) / 1000 &quot;;&quot;
  print &quot;  VerSyncTime\t\t= &quot; ( HorTotalTime * ( c - b ) ) / 1000
  print &quot;&quot;
}'
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P></P>
<HR>
<P>
Chapitre <A HREF="XFree86-XInside-7.html">suivant</A>,
Chapitre <A HREF="XFree86-XInside-5.html">Pr&eacute;c&eacute;dent</A>
<P>
Table des mati&egrave;res de <A HREF="XFree86-XInside.html#toc6">ce chapitre</A>,
 <A HREF="XFree86-XInside.html#toc">Table des mati&egrave;res</A> g&eacute;n&eacute;rale</P>
<P>
<A HREF="XFree86-XInside.html">D&eacute;but</A> du document,
 <A HREF="#0"> D&eacute;but de ce chapitre</A></P>
</BODY>
</HTML>