Logo de AulaDigital

XFree86 Como 5

Linux XFree86 COMO: Introducción de información sobre la tarjeta de vídeo. Anterior Siguiente Indice

5. Introducción de información sobre la tarjeta de vídeo.

Ahora su archivo XF86Config está listo para funcionar, con la excepción de la información completa sobre la tarjeta de vídeo. Lo que vamos a hacer es emplear el servidor X para comprobar el resto de la información, introduciéndola posteriormente en XF86Config.

En lugar de tantear esta información usando el servidor X, los valores XF86Config para muchas tarjetas están listados en los ficheros modeDB.txt, AccelCards, and Devices. Estos archivos se encuentran todos en /usr/X11R6/lib/X11/doc. Además, hay varios archivos README N. del T. Léame. para determinados chipsets. Se debe buscar en esos ficheros información sobre su tarjeta de vídeo, y emplearla (los valores de frecuencias de reloj, tipo de chipset, y las posibles opciones) en el archivo XF86Config. Si no hay ningún tipo de información, se puede tantear como se describe aquí.

En estos ejemplos mostraremos la configuración para una tarjeta de vídeo #9 GXE 64, que emplea el chipset XF86_S3. Se da la circunstancia de que esta tarjeta es la que emplea el autor, pero lo discutido aquí es aplicable a cualquier tarjeta.

Lo primero a hacer es determinar el tipo de chipset de vídeo empleado en la tarjeta. Si ejecuta SuperProbe (que reside en /usr/X11R6/bin) le informará acerca de esto, pero se necesita conocer el nombre del chipset de vídeo como lo conoce el servidor X.

Para hacer esto, ejecute el comando

X -showconfig

Esto le proporcionará los nombres de chipset conocidos por su servidor X. (Las páginas man los enumeran también). Por ejemplo, para el servidor acelerador XF86_S3, obtenemos:

XFree86 Version 3.1 / X Window System
(protocol Version 11, revision 0, vendor release 6000)
Operating System: Linux 
Configured drivers:
  S3: accelerated server for S3 graphics adaptors (Patchlevel 0)
      mmio_928, s3_generic

Los nombres válidos de chipset para este servidor son mmio_928 y s3_generic. La página man del servidor XF86_S3 describe estos chipsets y qué tarjetas los emplean. En el caso de la tarjeta de vídeo #9 GXE 64, el apropiado es mmio_928.

Si no se sabe qué chipset usar, el servidor X puede comprobarlo por tí. Para hacer esto, ejecutar el comando

X -probeonly > /tmp/x.out 2>&1

si se emplea bash como intérprete de comandos. Si se emplea csh, probar:

X -probeonly &> /tmp/x.out 

Este comando debe ser ejecutado cuando el sistema no esté bajo carga, es decir, mientras no tenga lugar ninguna otra actividad en el sistema. Este comando intentará calcular las frecuencias de reloj de su tarjeta (como vimos antes), y la carga del sistema puede estropear los cálculos.

El resultado de lo anterior (en /tmp/x.out) debe contener líneas como las que siguen:

XFree86 Version 3.1 / X Window System 
(protocol Version 11, revision 0, vendor release 6000) 
Operating System: Linux  
Configured drivers: 
  S3: accelerated server for S3 graphics adaptors (Patchlevel 0) 
      mmio_928, s3_generic 
   ... 
(--) S3: card type: 386/486 localbus 
(--) S3: chipset:   864 rev. 0 
(--) S3: chipset driver: mmio_928 

Aquí observamos que los dos chipsets válidos para este servidor (en este caso, XF86_S3) son mmio_928 y s3_generic. El servidor tras tantear encontró una tarjeta de vídeo empleando el chipset mmio_928.

Añadir en la sección Device del archivo XF86Config una línea Chipset, que contenga el nombre del chipset determinado anteriormente. Por ejemplo,

Section "Device" 
        # Aqui ya teniamos definido el identificador...
        Identifier "#9 GXE 64"  
        # adicion de esta linea:
        Chipset "mmio_928"
EndSection

Ahora necesitamos determinar las frecuencias de funcionamiento de reloj empleadas por la tarjeta de vídeo. La frecuencia de funcionamiento de reloj, o dot clock es simplemente la velocidad a la que la tarjeta de vídeo puede enviar puntos de imagen o pixels al monitor. Como hemos visto, cada resolución de monitor tiene un dot clock asociado a él. Ahora necesitamos determinar cúales frecuencias de reloj son utilizables por la tarjeta de vídeo.

Primero debe de mirar en los archivos (modeDB.txt, y demás) mencionados anteriormente, y ver si las frecuencias de reloj de su tarjeta se enumeran allí.

Los dot clocks serán normalmente listados de 8 ó 16 valores, todos los cuales están en MHz. Por ejemplo, si miramos en modeDB.txt podemos observar una entrada para la tarjeta de vídeo Cardinal ET4000, que tiene este aspecto:

# chip    ram   virtual   clocks                           default-mode  flags
 ET4000   1024  1024 768   25  28  38  36  40  45  32   0  "1024x768"    

Como podemos observar, las frecuencias de barrido para esta tarjeta son 25, 28, 38, 36, 40, 45, 32, y 0 MHz.

En la sección Devices del fichero XF86Config, se debe añadir una línea Clocks que contenga el listado de dot clocks para su tarjeta.

Por ejemplo, para los clocks anteriores, añadiríamos la línea

        Clocks 25 28 38 36 40 45 32 0

A la sección Devices del fichero, tras Chipset. ¡Téngase en cuenta que el orden de los valores es importante! no desordene el listado o borre los duplicados.

Si no se pueden encontrar las frecuencias de barrido asociadas a su tarjeta, el servidor X puede también tantearlas. Empleando el comando X -probeonly descrito anteriormente, el resultado contendría líneas con el siguiente aspecto:

(--) S3: clocks:  25.18  28.32  38.02  36.15  40.33  45.32  32.00  00.00

Podemos entonces añadir una línea Clocks que contenga todos esos valores, tal y como los obtenemos. Se puede usar más de una línea Clocks en XF86Config en el caso de que todos los valores no cupiesen en una. Nuevamente, es preciso asegurarse de que se introducen en el mismo orden en que son proporcionados.

Asegúrese de que no hay una línea Clocks (o de que esté descomentada) en la sección Devices del fichero al usar X -probeonly para tantear las frecuencias. Si hubiese una línea Clocks presente, el servidor no tantearía esos valores, emplearía los valores presentes en XF86Config.

Téngase en cuenta que algunas tarjetas aceleradoras emplean chips de frecuencias programables. (ver la página man de XF86_Accel para más detalles; esto generalmente es aplicable a tarjetas S3, AGX y XGA-2.) Este chip permite, esencialmente, al servidor X, comunicar a la tarjeta qué dot clocks usar. Si este es el caso, puede que no se pueda encontrar el listado de los dot clocks para la tarjeta en ninguno de los ficheros anteriores. O la lista de las frecuencias de reloj obtenida al usar X -probeonly puede sólo contener uno o dos valores concretos, siendo el resto duplicados o cero.

Para tarjetas que empleen un chip programable, se debe emplear un línea ClockChip, en lugar de Clocks en el fichero XF86Config. ClockChip proporciona el nombre del chip que emplea la tarjeta de vídeo; las páginas man de cada servidor describen cuáles son. Por ejemplo, en el fichero README.S3, podemos ver que varias tarjetas S3-864 emplean un chip ``ICD2061A'', y que debemos emplear la línea

   ClockChip "icd2061a" 

en lugar de Clocks en el archivo XF86Config. Como con Clocks, esta línea deberá estar en la sección Devices, tras Chipset.

Análogamente, algunas tarjetas aceleradoras precisan que se especifique el tipo de chip RAMDAC en el fichero XF86Config, empleando una línea Ramdac. La página man de XF86_Accel describe esta opción. Normalmente, el servidor X averiguará correctamente el RAMDAC.

Algunas tarjetas de vídeo requieren que se especifiquen ciertas opciones en la sección Devices de XF86Config. Estas opciones serán descritas en la página man de su servidor, así como en otros ficheros (como README.cirrus o README.S3. Estas opciones son activadas empleando la línea Option. Por ejemplo, la tarjeta #9 GXE 64 necesita dos opciones:

        Option "number_nine" 
        Option "dac_8_bit" 

Generalmente, el servidor X funcionará sin estas opciones, pero son necesarias para conseguir prestaciones óptimas. Hay demasiadas opciones para describirlas aquí, y cada una depende de la tarjeta de vídeo empleada en particular. Si debe usar alguna de estas opciones, ---me temo que no--- las páginas man del servidor X y algunos ficheros en /usr/X11R6/lib/X11/doc especificarán cuáles son.

Así que cuando se haya terminado, se acabará con una sección Devices que tendrá este aspecto:

Section "Device"  
        # Esta seccion device es para esta #9 GXE 64 solo! 
        Identifier "#9 GXE 64" 
        Chipset "mmio_928" 
        ClockChip "icd2061a" 
        Option "number_nine" 
        Option "dac_8_bit" 
EndSection 

La mayoría de las tarjetas de vídeo precisarán una línea Clocks, en lugar de ClockChip, como se describió anteriormente. La anterior sección Device es únicamente válida para una tarjeta de vídeo en particular, la #9 GXE 64.

Hay otras opciones que pueden ser incluidas en la sección Devices. Comprobar las páginas man del servidor para los detalles más escurridizos, aunque lo anterior debe de bastar para la mayoría de los sistemas.


Anterior Siguiente Indice