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.