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