CÓMO configurar los ajustes de vídeo en XFree86

Eric S. Raymond esr@thyrsus.com
Traducción: David Marín Carreño davefx@bigfoot.com

v3.2, 20 de Febrero de 1998. Traducción: 2 de Noviembre de 1998.
Cómo hacer una línea de modo para su tarjeta de vídeo y su monitor con XFree86. La distribución XFree86 incluye en la actualidad grandes facilidades para configurar las combinaciones más usuales; este documento es útil sobre todo si usted se encuentra afinando una línea de modo personalizada para un monitor de altas prestaciones o un hardware muy poco usual. También puede ayudarle en la utilización de xvidtune para modificar un modo estándar que no funcione de manera adecuada en su monitor.

1. Advertencias.

Usted ha de utilizar este documento EXCLUSIVAMENTE BAJO SU PROPIA RESPONSABILIDAD. Existe la posibilidad de que pueda dañar su monitor o incluso pueda lesionarse usted mismo cuando lleve el monitor más allá de las especificaciones del fabricante. En la sección Forzando su monitor se comentan con detalle todas las precauciones que deben tomarse. Cualquier daño causado por forzar su monitor será su responsabilidad.

La versión más actualizada de este documento CÓMO en su versión original inglesa puede encontrarse en la página Web del Linux Documentation Project. En su versión en castellano, puede encontrar la última revisión en la página personal de David Marín Carreño.

Por favor, dirija comentarios, críticas y sugerencias de mejora a esr@snark.thyrsus.com. Por favor, no envíe correo suplicando una solución mágica para su propio y especial problema de monitor, ya que el hacerlo sólo agotará mi tiempo y contribuirá a su frustación -- todo lo que yo sé acerca de la materia en cuestión YA está en este documento.

2. Introducción.

El servidor XFree86 permite a los usuarios configurar su subsistema de vídeo y esto permite conseguir un uso óptimo del hardware existente. Este tutorial está orientado a ayudarle a aprender cómo generar sus propios números de ajuste para conseguir un uso óptimo de su tarjeta de vídeo y monitor.

Presentaremos un método para primero conseguir algo que funcione, y luego enseñarle cómo puede experimentar comenzando a partir de esa base para desarrollar ajustes que pueda optimizar a su gusto.

A partir de XFree86 3.2, XFree86 proporciona el programa XF86Setup(1) que configura fácilmente y de manera interactiva un modo de monitor que funcione, sin líos acerca de los números de frecuencia y retardo de vídeo. Esto es por lo que realmente usted no necesitará calcular un modo de monitor base en la mayoría de los casos. Desafortunadamente, XF86Setup(1) tiene algunas limitaciones; sólo conoce los modos de vídeo estándar hasta 1280x1024. Si tiene un monitor de altas prestaciones capaz de llegar a 1600x1200 o más, deberá calcular su modo base de monitor usted mismo.

Las versiones recientes de XFree86 incluyen una herramienta llamada xvidtune(1) que quizá encuentre bastante útil para probar y ajustar los modos de monitor. Comienza con un mensaje de advertencia espantoso acerca de las posibles consecuencias de los errores cometidos con él. Si usted pone toda su atención a este documento y aprende qué hay detrás de los curiosos números de las casillas de xvidtune, será capaz de utilizar xvidtune de forma efectiva y completamente segura.

Si usted ya tiene un modo que casi funciona (en concreto, si uno de los modos VESA predefinidos le da una imagen estable pero que está desplazada a la izquierda, la derecha, o es demasiado pequeña, o demasiado grande) puede saltar directamente a la sección Arreglando problemas con la imagen. Ésta le mostrará los métodos adecuados para corregir los defectos particulares de su configuración.

Si usted tiene xvidtune(1), podrá probar nuevos modos en caliente, sin modificar los archivos de configuración de X o incluso sin llegar a reiniciar el servidor X. Si no, XFree86 le permite cambiar, con una sola pulsación de teclas, entre los distintos modos definidos en Xconfig (ver XFree86.man para más detalles). ¡Utilice esta capacidad para ahorrarse jaleos! Cuando quiera probar un nuevo modo, déle una etiqueta única de modo y añádala al final de su lista de combinaciones de teclas. Deje un modo que sepa que funcione bien como el predeterminado para volver a él en caso de que el modo de prueba no funcione.

3. Cómo funcionan las pantallas de vídeo.

Saber cómo funciona una pantalla es esencial para comprender qué números colocar en los variados campos del fichero Xconfig. Esos valores son utilizados por el servidor XFree86 para controlar la pantalla a bajo nivel.

La pantalla genera una imagen a partir de una serie de puntos. Los puntos están colocados de izquierda a derecha para formar líneas. Las líneas están colocadas de arriba a abajo para formar la imagen. Los puntos emiten luz cuando son impactados por un rayo de electrones dentro de la pantala. Para hacer que el rayo choque con cada punto durante un mismo periodo de tiempo, éste se encuentra continuamente desplazándose por la pantalla según un patrón constante.

Este patrón comienza en la esquina superior izquierda de la pantalla, cruza de la pantalla hacia la derecha en línea recta, y se detiene temporalmente en la parte derecha de la pantalla. Entonces el rayo se coloca de nuevo en la parte izquierda de la pantalla, pero una línea más abajo. La nueva línea es barrida de izquierda a derecha justo como se hizo en la primera. Este patrón de movimiento se repite hasta que la última línea de la pantalla se ha barrido. Entonces, el rayo se mueve desde la esquina inferior derecha hasta la superior izquierda, iniciándose el proceso de nuevo.

Hay una variación de este esquema que es conocida como entrelazado: consiste en barrer sólo las líneas pares el primer recorrido de pantalla, y las impares durante el segundo.

Comenzar el rayo en la parte superior de la pantalla se conoce como el comienzo de una imagen. La imagen termina cuando el rayo alcanza de nuevo la esquina superior izquierda al provenir de la esquina inferior derecha de la pantalla. Una imagen se compone de todas las líneas que el rayo trazó desde la parte superior de la pantalla hasta la inferior.

Si el rayo de electrones estuviera activado todo el tiempo que está barriendo la imagen, todos los puntos de la pantalla se iluminarían. La pantalla no tendría borde negro. En los bordes la imagen se distorsionaría a causa de que el rayo es difícil de controlar ahí. Para reducir la distorsión, los puntos que hay cerca de los bordes de la pantalla no son iluminados por el rayo aún cuando el rayo puede apuntarlos. El area visible de la pantalla se reduce de esta manera.

Otra cosa importante que debe comprenderse es qué es del rayo cuando no se está dibujando ningún punto en el área visible. El tiempo que en el que el rayo dibujaría los bordes laterales de la pantalla se utiliza para hacer volver al rayo desde el borde derecho al izquierdo y para mover el rayo a la primera línea. El tiempo en el que el rayo debería estar iluminando los bordes superior e inferior de la pantalla se utilizan para mover el rayo desde la esquina inferior derecha de la pantalla a la esquina superior derecha.

Las tarjetas adaptadoras generan las señales que hacen que la pantalla enfoque el rayo de electrones a cada punto para generar una imagen. La tarjeta también controla cuándo la pantalla mueve el rayo desde la parte derecha a la izquierda bajando una línea generando una señal denominada pulso de sincronización (o de refresco) horizontal (en inglés, horizontal sync pulse). Un pulso de sincronización horizontal ocurre al final de cada línea. El adaptador también genera un pulso de sincronización (o de refresco) vertical que hace a la pantalla mover el rayo a la esquina superior izquierda. Cerca del final de cada imagen se genera un pulso de sincronización vertical.

El monitor requiere que haya cortos periodos de tiempo tanto antes como después de los pulsos de sincronización vertical y horizontal para que la posición del rayo de electrones pueda estabilizarse. Si el rayo no puede estabilizarse, la imagen no permanecerá en su sitio.

En una sección posterior, volveremos a estas bases con definiciones, fórmulas y ejemplos para ayudarle a utilizarlas.

4. Cosas básicas que ha de saber acerca de su pantalla y adaptador.

Hay algunas cosas fundamentales que necesita saber antes de trastear con una entrada de Xconfig. Estas son:

Las frecuencias de sincronización del monitor:

La frecuencia de sincronización horizontal es sólo el número de veces por segundo que el monitor puede escribir una línea horizontal completa; es el dato más importante de su monitor. La frecuencia vertical de sincronización es el número de veces por segundo que el monitor puede cruzar su rayo verticalmente.

Las frecuencias de sincronización suelen estar listadas en la página de especificaciones de su manual de monitor. La frecuencia vertical de sincronización suele estar normalmente medida en Hz (ciclos por segundo), la horizontal en KHz (kilociclos por segundo). Los rangos normales están entre 50 y 150Hz vertical, y entre 31 y 135KHz horizontal.

Si tiene un monitor multifrecuencia (multisync), estas frecuencias suelen darse como rangos. Algunos monitores, especialmente los de gama baja, tienen múltiples frecuencias fijadas. Pueden también ser configurados, pero sus opciones estarán severamente limitadas por las características de serie del monitor. Escoja el par más alto de frecuencias para mayor resolución. Y tenga cuidado --- intentar fijar un monitor de frecuencias fijas a una velocidad mayor de para la que está diseñado puede dañarlo fácilmente.

Versiones anteriores de esta guía eran bastante atrevidas acerca de forzar los monitores multifrecuencia, poniéndolos más allá de su frecuencia vertical nominal más alta para así conseguir mayores prestaciones. Ahora ya tenemos algunas razones para ser algo más cautos al respecto; trataremos esto en la sección Forzando su Monitor.

La frecuencia de la tarjeta controladora:

La página de especificaciones del manual de su tarjeta de vídeo normalmente le dará el dot clock de su tarjeta (esto es, el número total de píxeles por segundo que puede escribir en la pantalla). Si usted no tiene esta información, el servidor X se la proporcionará. Incluso si X cuelga su monitor, aún emitirá una línea de reloj y otra información a la salida estándar. Si redirecciona esto a un fichero, esta información se guardará incluso si tiene que reinicializar el ordenador para hacer volver a la consola. (Las últimas versiones de los servidores X dan soporte a la opción --probeonly que imprime esta información y sale sin haber iniciado X ni haber cambiado el modo gráfico.)

Su mensaje de inicialización de X debería ser parecido a uno de los siguientes ejemplos:

Si está usando XFree86:

Xconfig: /usr/X11R6/lib/X11/Xconfig
(**) stands for supplied, (--) stands for probed/default values
(**) Mouse: type: MouseMan, device: /dev/ttyS1, baudrate: 9600
Warning: The directory "/usr/andrew/X11fonts" does not exist.
         Entry deleted from font path.
(**) FontPath set to "/usr/lib/X11/fonts/misc/,/usr/lib/X11/fonts/75dpi/"
(--) S3: card type: 386/486 localbus
(--) S3: chipset:   924
                    ---
    Chipset -- este es el tipo exacto de chip; un nombre clave del 86C911

(--) S3: chipset driver: s3_generic
(--) S3: videoram:  1024k
                    -----
        Tamaño del la memoria de vídeo para almacenar la imagen

(**) S3: clocks:  25.00  28.00  40.00   3.00  50.00  77.00  36.00  45.00
(**) S3: clocks:   0.00   0.00  79.00  31.00  94.00  65.00  75.00  71.00
                  ------------------------------------------------------
                           Posibles frecuencias de tarjeta en MHz

(--) S3: Maximum allowed dot-clock: 110MHz
                                    ------
                                 Ancho de Banda
(**) S3: Mode "1024x768": mode clock =  79.000, clock used =  79.000
(--) S3: Virtual resolution set to 1024x768
(--) S3: Using a banksize of 64k, line width of 1024
(--) S3: Pixmap cache:
(--) S3: Using 2 128-pixel 4 64-pixel and 8 32-pixel slots
(--) S3: Using 8 pages of 768x255 for font caching

Si utiliza SGCS o X/Inside X:

WGA: 86C911 (mem: 1024k clocks: 25 28 40 3 50 77 36 45 0 0 79 31 94 65 75 71)
---  ------       -----         --------------------------------------------
 |     |            |              Posibles frecuencias de tarjeta en MHz
 |     |            +-- Tamaño de la memoria de vídeo para almacenar la imagen
 |     +-- Tipo de chip
 +-- Tipo de servidor

Nota: haga esto con la máquina sin carga (siempre y cuando sea posible). Ya que X es una aplicación, sus bucles de temporización pueden colisionar con la actividad de disco, haciendo que los números de arriba sean inexactos. Haga esto bastantes veces y vigile los números hasta su estabilización; si no lo consigue, comience a matar procesos hasta que lo haga. Usuarios de SVr4: el proceso mousemgr es bastante proclive a liarlo todo.

Para evitar la inexactitud de la detección, debería coger los tiempos de reloj y ponerlos en su fichero Xconfig como el valor de la propiedad Clocks --- esto suprime el bucle de temporización y le da a X una lista exacta de los valores de reloj con los que puede probar. Utilizando los datos del ejemplo de arriba:

wga
        Clocks  25 28 40 3 50 77 36 45 0 0 79 31 94 65 75 71

En sistemas con una carga muy variable, esto puede ayudar a evitar fallos misteriosos en el arranque de X. Es posible que X se inicie, consiguiendo sus ajustes de manera errónea debido a la carga del sistema, y no pueda ser capaz de encontrar una frecuencia dot clock que se ajuste en su base de datos de configuraciones --- ¡o que encuentre una configuración errónea!.

4.1 El ancho de banda de vídeo del monitor.

Si usted está ejecutando XFree86, su servidor detectará su tarjeta y le dirá cuál es su mayor dot clock disponible.

Si no, su mayor dot clock disponible será, aproximadamente, el ancho de banda de vídeo del monitor. Hay mucha elasticidad en este campo. Algunos monitores pueden funcionar como mucho al 30% de su ancho de banda nominal. Los riesgos aquí vienen de exceder la frecuencia máxima de refresco vertical; lo discutiremos con detalle más tarde.

Conocer el ancho de banda le permitirá realizar elecciones más inteligentes entre varias configuraciones posibles. Puede afectar a su calidad de visionado de la imagen (especialmente la agudeza de los detalles pequeños).

El ancho de banda de su monitor debería estar incluido en la página de especificaciones de su manual. Si no, mire a la mayor resolución de su monitor. Ésta es una forma sencilla de averiguar, grosso modo, el ancho de banda de su monitor (y así saber cuál es el mayor dot clock que puede utilizar):

        640x480                 25
        800x600                 36
        1024x768                65
        1024x768 interlaced     45
        1280x1024               110
        1600x1200               185

Por cierto, no hay nada mágico en esta tabla; estos números son sólo los dot clocks más bajos para cada resolución en los modos estándar de la base de datos de XFree86 (excepto el último, que he hallado yo mismo). El ancho de banda de su monitor puede en realidad ser mayor que el mínimo requerido para esta resolución máxima, por lo que no tema probar con un dot clock unos pocos MHz superior.

También sepa que el ancho de banda raramente se deduce de dot clocks menores a 65MHz. Con una tarjeta SVGA y con la mayoría de monitores de alta resolución, usted puede conseguir cerca del límite del ancho de banda de su monitor. Los siguientes son ejemplos:

        Brand                           Video Bandwidth
        ----------                      ---------------
        NEC 4D                          75Mhz
        Nano 907a                       50Mhz
        Nano 9080i                      60Mhz
        Mitsubishi HL6615               110Mhz
        Mitsubishi Diamond Scan         100Mhz
        IDEK MF-5117                    65Mhz
        IOCOMM Thinksync-17 CM-7126     136Mhz
        HP D1188A                       100Mhz
        Philips SC-17AS                 110Mhz
        Swan SW617                      85Mhz
        Viewsonic 21PS                  185Mhz

Incluso los monitores de gama baja no tienen un ancho de banda terriblemente restringido a sus resoluciones. El NEC Multisync II es un buen ejemplo --- no puede mostrar ni siquiera 800x600 según sus especificaciones. Sólo puede mostrar 800x560. Para tan bajas resoluciones no se necesitan altos dot clocks ni un gran ancho de banda; probablemente lo mejor que pueda seleccionar sea 32MHz o 36 MHz, ambos todavía no muy lejos del ancho de banda indicado en el monitor de 30 MHz.

Con estas frecuencias de muestra, la imagen de su pantalla no es tan aguda como debería ser, pero definitivamente es de una calidad tolerable. Por supuesto que sería mejor si el NEC Multisync II tuviera un ancho de banda de vídeo mayor que 36 MHz. Pero esto no es crítico para funciones comunes tales como edición de textos, en la que la diferencia no es tan grande para que cause una gran distorsión de imagen (sus ojos se darían cuenta enseguida si esto llegara a ocurrir).

4.2 Qué controlan estos valores.

Los rangos de frecuencia de sincronización de su monitor, junto con el dot clock de su tarjeta de vídeo, determinan la mayor resolución que puede emplear. Pero es el controlador software lo que puede limitar el potencial de su hardware. Una combinación de hardware superior sin un controlador de dispositivos eficiente es un desperdicio de dinero. Por otra parte, con un controlador de dispositivos versátil, pero con un hardware menos capaz, usted puede ensanchar el margen del hardware un poquito. Esta es la filosofía de diseño de XFree86.

5. Interpretando las especificaciones básicas.

Esta sección explica qué quieren decir las especificaciones de más arriba, y algunas otras cosas que usted necesitará saber. Primero, algunas definiciones. Al lado de cada una, entre paréntesis, se encuentra el nombre de variable que utilizaremos para ellas cuando hagamos cálculos

frecuencia de sincronización horizontal (FSH).

Barridos horizontales por segundo (ver más arriba).

frecuencia de sincronización vertical (FSV).

Barridos verticales por segundo (ver más arriba). Es muy importante el valor máximo de esta variable.

dot clock (FRTV).

Más correctamente, `frecuencia de reloj de la tarjeta de vídeo'; La frecuencia del reloj interno de su tarjeta de vídeo --- el máximo número de puntos que puede emitir.

ancho de banda de vídeo (ABV).

La frecuencia más alta a la que puede enviar datos a la entrada de vídeo del monitor y todavía esperar distinguir algo en la pantalla. Si su tarjeta de vídeo produce un patrón alternativo encendido/apagado, la frecuencia más baja será la mitad de la FRTV, por lo que en teoría el ancho de banda comienza a tener sentido para valores mayores que FRTV/2. Para una visión muy rica en pequeños detalles, no puede ponerse muy por debajo de la mayor FRTV, y preferiblemente por encima de este valor.

Longitud de la imagen (LIH, LIV).

La longitud de imagen horizontal (LIH) es el número de pulsaciones del reloj de la tarjeta de vídeo que el cañón de electrones de su monitor necesita para recorrer una línea horizontal, incluyendo los bordes inactivos izquierdo y derecho. La longitud de imagen vertical (LIV) es el número de líneas recorridas en la imagen completa, incluyendo los bordes inactivos superior e inferior.

Tasa de refresco de la pantalla (TR).

Es el número de veces que la pantalla se redibuja por segundo. Cuanto mayor sea, mejor, ya que ello reduce el parpadeo. 60Hz es bueno, el estándar VESA es 72Hz o mejor. Puede hallarlo con:

        TR = FRTV / (LIH * LIV)

Dése cuenta de que el producto del denominador no es justo la resolución visible del monitor, sino que es normalmente algo mayor. Detallaremos esto más abajo.

Las tasas de refresco con las que se especifican los modos entrelazados (como por ejemplo, 87Hz entrelazado) son en realidad las tasas de refresco de media imagen: una imagen completa parece tener esa frecuencia de refresco pero en realidad cada línea se renueva la mitad de veces.

En materia de cálculos nos referiremos a una imagen entrelazada con la tasa de refresco de toda la imagen, por ejemplo: 43,5Hz. La calidad de un modo entrelazado es mejor que la de un modo no entrelazado con la misma tasa de refresco de imagen completa, pero definitivamente peor que la del modo no entrelazado correspondiente a media tasa de refresco.

5.1 Acerca del ancho de banda.

A los fabricantes de monitores les gusta anunciar un gran ancho de banda porque ello supone agudeza en la intensidad y en los cambios de color de la pantalla. Un gran ancho de banda significa detalles visibles más pequeños.

Su monitor utiliza señales electrónicas para mostrar una imagen ante sus ojos. Esas señales llegan en forma de onda una vez que se convierten a un formato analógico a partir de un formato digital. Pueden ser consideradas como combinaciones de muchas funciones de onda simples, cada una con su frecuencia propia, muchas de ellas en el rango de los MHz, como por ejemplo 20MHz, 40MHz, o incluso 70MHz. El ancho de banda de su monitor es, en efecto, la mayor frecuencia de señal analógica que puede manejar sin distorsión.

Para nuestros propósitos, lo importante del ancho de banda de vídeo es que marca el punto límite aproximado de la mayor frecuencia de reloj de la tarjeta de vídeo (dot clock) que puede utilizar.

5.2 Frecuencias de Sincronización y Tasa de Refresco:

Cada línea horizontal barrida es sólo la parte visible de la longitud de la anchura de la pantalla. En todo momento sólo existe un punto realmente activo en la pantalla, pero con una velocidad de refresco suficiente la "inercia" de visión de su ojo le permite percibir la imagen completa.

Observe estas figuras:

     _______________________
    |                       |     La frecuencia de sinc. horizontal
    |                       |     es el número de veces por
    |                       |     segundo que el rayo de electrones
    |---------------------->|     del monitor puede trazar
    |                       |     un patrón como éste.
    |                       |
    |                       |
    |                       |
    |_______________________|    
     _______________________
    |        ^              |     La frecuencia de sinc. vertical
    |       ^ |             |     es el número de veces por
    |       | v             |     segundo que el rayo de
    |       ^ |             |     electrones del monitor puede
    |       | |             |     trazar un patrón como éste.
    |       ^ |             |
    |       | v             |
    |       ^ |             |
    |_______|_v_____________|    

Recuerde que el camino de dibujo de la pantalla es una línea de zig-zag muy tensa: el rayo de electrones se mueve de izquierda a derecha y de arriba a abajo al mismo tiempo.

Ahora podemos ver cómo se relacionan el dot clock y el tamaño de imagen con la tasa de refresco. Por definición, un hercio (Hz) es un ciclo por segundo. Por lo tanto, si su longitud horizontal de imagen es LHI y su longitud vertical de imagen es LVI, entonces para cubrir toda la pantalla son necesarios LHI x LVI señales. Ya que su tarjeta emite FRTV señales por segundo por definición, entonces lógicamente el cañón de electrones de su monitor puede barrer la pantalla de izquierda a derecha y vuelta y de arriba a abajo y vuelta FRTV / (LHI x LVI) veces por segundo. Esa es la velocidad de refresco de su pantalla, ya que indica las veces que su pantalla puede ser actualizada (esto es, refrescada) por segundo.

Usted debe entender este concepto para diseñar una configuración que optimice la resolución frente al parpadeo en cualquier modo que se ajuste a sus necesidades.

Para aquellos que entiendan mejor los gráficos que el texto, aquí va uno:

        TR                                     ABV
         |   mín FSH                     máx FSH |
         |    |             R1        R2  |      |
máx FSV -+----|------------/----------/---|------+----- máx FSV
         |    |:::::::::::/::::::::::/:::::\     |
         |    \::::::::::/::::::::::/:::::::\    |
         |     |::::::::/::::::::::/:::::::::|   |
         |     |:::::::/::::::::::/::::::::::\   |
         |     \::::::/::::::::::/::::::::::::\  |
         |      \::::/::::::::::/::::::::::::::| |
         |       |::/::::::::::/:::::::::::::::| |
         |        \/::::::::::/:::::::::::::::::\| 
         |        /\:::::::::/:::::::::::::::::::|
         |       /  \:::::::/::::::::::::::::::::|\
         |      /    |:::::/:::::::::::::::::::::| |
         |     /     \::::/::::::::::::::::::::::| \
min FSV -+----/-------\--/-----------------------|--\--- min FSV
         |   /         \/                        |   \
         +--/----------/\------------------------+----\- FRTV
           R1        R2  \                       |     \
                          min FSH                |    max FSH
                                                ABV

Este es el gráfico de un modo de monitor genérico. El eje de las x del gráfico muestra la tasa de pulsos de reloj (FRTV), el eje de las y representa la tasa de refresco (TR). La región rellena del gráfico describe las capacidades del monitor: cada punto de esta región es un posible modo de vídeo.

Las líneas etiquetadas 'R1' y 'R2' representan resoluciones fijas (tales como 640x480); quieren ilustrar cómo una resolución puede llevarse a cabo con múltiples combinaciones de dot clock y tasa de refresco. La línea R2 representaría una resolución mayor que R1.

Los límites superior e inferior de la región permitida son sólo líneas horizontales que representan los valores límite para la frecuencia de sincronización vertical. El ancho de banda de vídeo es un límite superior a la velocidad de reloj y en la gráfica se representa como una línea vertical que limita la región de resoluciones posibles por la derecha.

Bajo el epígrafe Capacidades de dibujo del monitor) usted encontrará un programa que le ayudará a dibujar un diagrama como este (pero mucho más bonito, con gráficos X) para su propio monitor. Esa sección también trata el interesante tema acerca de la derivación de los bordes resultantes de los límites de la frecuencia de sincronización horizontal.

6. Regateos al configurar su sistema.

Otra manera de ver la fórmula que utilizamos arriba es

        FRTV = TR * LIH * LIV

Esto es, su velocidad de reloj es fija. Puede utilizar esos puntos por segundo para comparar tanto tasa de refresco, resolución horizontal y resolución vertical. Si uno de estos aumenta, al menos uno de los otros dos debe disminuir.

Fíjese, sin embargo, que su velocidad de refresco no puede ser mayor que la máxima velocidad de refresco de su monitor. Esto es, para un monitor dado a una frecuencia de reloj determinada, existe un producto mínimo de longitudes de imagen por debajo del cual usted no puede forzarlo.

Al escoger sus ajustes, recuerde: si establece TR demasiado bajo, será invadido por el parpadeo de la pantalla.

Probablemente no quiera poner la tasa de refresco por debajo de 50-60Hz. Esta es la velocidad de parpadeo de los tubos fluorescentes; si usted es sensible a estos, deberá llegar a los 72Hz, el estándar ergonómico de VESA.

El parpadeo fatiga muchos los ojos, aunque los ojos humanos son muy adaptativos y la tolerancia de la gente puede variar mucho. Si usted observa su monitor con un ángulo de 48º, está utilizando un fondo oscuro y un buen color que contraste como primer plano, ajusta el brillo a un nivel medio o bajo, *podría* sentirse cómodo con solo 45Hz.

La prueba de fuego es ésta: abra un xterm con fondo blanco y texto negro utilizando xterm -bg white -fg black y hágalo tan grande que cubra todo el área visible. Ponga su monitor a 3/4 de su brillo máximo, y gire su cara mirando lejos del monitor. Intente observar a su monitor de lado (utilizando las células de visión periférica de la retina, mucho más sensibles). Si no siente ningún parpadeo es que la tasa de refresco es buena para usted. Si no, sería mejor que configurara una tasa de refresco mayor, ya que ese parpadeo medio invisible fatigará sus ojos y le causará dolores de cabeza, incluso si la pantala parece perfecta a una visión normal.

Para modos entrelazados, la cantidad de parpadeo depende de más factores como la resolución vertical y los contenidos de la pantalla en cada instante. Experimente. No deseará utilizar menos de 85Hz de tasa de media imagen.

Supongamos que ha escogido una velocidad aceptable mínima de refresco. Para escoger su LHI y LVI aún le quedará bastante margen de maniobra.

7. Requirimientos de memoria.

La cantidad de memoria de vídeo disponible tiene la capacidad de limitar la resolución que pueda alcanzar en pantallas de color o escala de grises. Puede que no sea un factor a tener en cuenta en pantallas con sólo dos colores: blanco y negro sin grados de gris intermedios.

Para resoluciones de 256 colores, se requiere un byte de memoria para cada punto que se muestre. Este byte contiene la información que determina qué mezcla de rojo, verde y azul se genera para cada punto. Para saber la cantidad de memoria requerida, multiplique el número de puntos visibles por línea por el número de líneas visibles. Para una pantalla con una resolución de 800x600, éste será 800 x 600 = 480.000, que es el número de puntos visibles en la pantalla. Este es también, a un byte por punto, el número de bytes de memoria de vídeo que necesita en su tarjeta.

Esto es, la cantidad de memoria requerida típicamente será (RH x RV)/1024 Kbytes de VRAM, redondeando. Si usted posee más memoria de la estrictamente requerida, tendrá memoria extra para una pantalla virtual más grande por la que desplazarse.

Sin embargo, si sólo tiene 512K, usted no podrá utilizar esta resolución. Incluso aunque tenga un buen monitor, sin memoria RAM suficiente, no podrá tomar partido del potencial de su monitor. En el otro extremo, si su SVGA tiene un mega, pero su monitor puede mostrar como mucho 800x600, entonces la alta resolución está más allá de sus posibilidades (vea Utilizando Modos Entrelazados para buscar un remedio posible).

No se preocupe si tiene más memoria de la necesaria; XFree86 hará uso de ella permitiéndole desplazar su area de visionado (vea la documentación del fichero Xconfig acerca del parámetro del tamaño de pantalla virtual). Recuerde también que una tarjeta con 512K de memoria no tiene 512.000 bytes, sino 512 x 1024 = 524.288 bytes.

Si está ejecutando SGCS X (ahora llamado X/Inside) utilizando una tarjeta S3, y desea utilizar 16 colores (4 bits por píxel), puede establecer una profundidad 4 en Xconfig y duplicar la resolución que su tarjeta puede manejar. Las tarjetas S3, por ejemplo, suelen alcanzar 1024x768x256. Usted puede hacerlas llegar hasta 1280x1024x16 con profundidad 4.

8. Calculando tamaños de imagen.

Atención: este método ha sido desarrollado para monitores multifrecuencia. Probablemente funcione también en monitores con frecuencias fijas, pero no hay una completa seguridad acerca de ello.

Comience dividiendo FRTV entre la mayor FSH disponible para conseguir una longitud de imagen horizontal.

Por ejemplo: supongamos que usted tiene una SVGA Sigma Legend con una velocidad de reloj de 65MHz, y su monitor tiene una frecuencia de barrido horizontal de 55KHz. El valor de (FRTV / FSH) es entonces 1181 (65MHz = 65000KHz; 65000/55 = 1181).

Ahora un primer truco de magia oscura. Necesita redondear esta cifra al múltiplo de 8 más cercano. Esto tiene que ver con los controladores hardware VGA utilizados por las tarjetas SVGA y S3; utiliza un registro de 8 bits. Otras tarjetas como la ATI 8514/A no tienen este requerimiento, pero no estamos seguros y esa corrección puede ser errónea. Por lo tanto, disminuimos la longitud de imagen horizontal útil redondeando hacia el valor de 1176.

Esta cifra (FRTV / FSH redondado a un múltiplo de 8) es la mínima LHI que puede utilizar. Puede conseguir mayores LHI (y, posiblemente, más puntos horizontales en la pantalla) ajustando el pulso de sincronización para producir una FSH más baja. Pero esto se verá penalizado con un parpadeo más lento y visible.

Como regla general, el 80% de la longitud horizontal de imagen está disponible para la resolución horizontal, la parte visible de la línea de barrido horizontal (esto da, aproximadamente, para los bordes y el tiempo de retorno de barrido -- esto es, el tiempo que necesita el rayo para moverse desde el borde derecho hasta el borde izquierdo de la siguiente línea de barrido). En este ejemplo, son 944 pulsos.

Ahora bien, para conseguir la razón de pantalla normal de 4:3, ajuste su resolución vertical a 3/4 partes de la resolución horizontal que ha calculado. Para este ejemplo, son 708 pulsos. Para conseguir su LVI real, multiplíquelo por 1,05 para conseguir 743 pulsos.

El 4:3 no es técnicamente mágico; nada le impide utilizar otras razones de proporción alto-ancho que no guarden proporción áurea si eso le permite aprovechar mejor su pantalla. Esa proporción se alcanza calculando la altura y anchura de imagen a partir de la diagonal conveniente, simplemente multiplicando la diagonal por 0,8 para conseguir la anchura y por 0,6 para conseguir la altura.

Por lo tanto, LHI=1176 y LVI=743. Dividiendo 65MHz entre este producto nos da una saludable y fantástica tasa de refresco de 74,4Hz. Es incluso mejor que el estándar VESA. Y se obtiene una resolución 944x708, mejor que la de 800x600 que se esperaba. No está nada mal.

Se puede todavía mejorar la tasa de refresco hasta casi 76 Hz, utilizando el hecho de que los monitores pueden sincronizar horizontalmente a 2KHz o más de su frecuencia nominal, y disminuyendo la LVI un poco (esto es, tomando menos del 75% de 944 en el ejemplo anterior). Pero antes de intentar esta maniobra de "forzado", si la hace, asegúrese de que el cañón de electrones de su monitor puede llegar a sincronizar a 76Hz en vertical. (el popular NEC 4D, por ejemplo, no puede. Sólo llega hasta 75 Hz de FSV). (Vea la sección Forzando su monitor para más información acerca de esta materia. )

Ya está, y la mayoría de cosas son sólo operaciones aritméticas simples y básicas acerca de dispositivos de raster. ¡Casi nada de magia negra!.

9. Magia negra y pulsos de sincronización.

Bien. Ya ha calculado los números de LHI/LVI para su FRTV elegida, encontrado la tasa de refresco aceptable, y comprobado que tiene suficiente VRAM. Ahora llegamos a la auténtica magia negra -- necesita saber cuándo y dónde colocar un pulso de sincronización.

Los pulsos de sincronización realmente controlan las frecuencias horizontal y vertical del monitor. La FSH y la FSV que usted ha extraído de la hoja de especificaciones son nominales, aproximadamente las frecuencias máximas de sincronización. El pulso de sincronización incluído en la señal que procede de la tarjeta de vídeo le dice al monitor a qué velocidad debe funcionar.

¿Recuerda las dos figuras de arriba? Sólo una parte del tiempo requerido para barrer una imagen se utiliza para mostrar un determinada pantalla (p.e. su resolución).

9.1 Sincronización horizontal.

Según la definición previa, se tarda LIH impulsos de reloj para trazar una línea horizontal. Llamaremos a partir de ahora al número de impulsos visibles (su resolución horizontal de pantalla) RH. Entonces, lógicamente, RH < LIH por definición. Para mayor concreción, asumamos que ambas empiezan en el mismo instante, tal y como se explica aquí:

  |___ __ __ __ __ __ __ __ __ __ __ __ __
  |_ _ _ _ _ _ _ _ _ _ _ _                |
  |_______________________|_______________|_____ 
  0                       ^               ^     unidad: impulsos de reloj
                          |   ^       ^   |
                          RH  |       |  LIH
                          |   |-------|   |
                          |---|  PSH  |---|
                          TGH1         TGH2

Ahora, nos gustaría colocar un pulso de sincronización de longitud PSH tal y como se explica en el gráfico, por ejemplo, entre el final de los impulsos de reloj para mostar datos y el final de los impulsos de reloj para toda la imagen. ¿Por qué así?. Porque si podemos hacer esto, entonces su imagen no se moverá a la derecha o a la izquierda. Permanecerá en el lugar de la pantalla donde debe estar, cubriendo perfectamente la zona visualizable de su monitor.

Aún más, deseamos poner alrededor de 30 impulsos de "tiempo de guardia" a cada lado del pulso de sincronización. Esto está representado como TGH1 y TGH2. En una configuración típica TGH1 es distinto de TGH2, pero si está construyendo una configuración partiendo de cero, deseará comenzar sus experimentos con ambos equivalentes (esto es, con el pulso de sincronización centrado).

El síntoma de un pulso de sincronización mal colocado es que la imagen se encuentra desplazada en la pantalla, con un borde demasiado ancho y con el otro lado de la imagen mostrándose cerca del borde de la pantalla, produciendo una línea blanca y una banda de "imagen fantasma" en ese lado. Un pulso de sincronización vertical fuera de su lugar puede hacer que la imagen baile como en una televisión con un marco vertical mal ajustado (de hecho, está causado por el mismo fenómeno).

Si tiene suerte, la anchura de los pulsos de sincronización de su monitor estarán documentada en su página de especificación. Si no, aquí comienza la verdadera magia negra...

Aquí tendrá que actuar con el método ensayo-error. Pero en casi todos los casos, podremos asegurar con certeza que un pulso de sincronización tiene de 3,5 a 4 microsegundos de duración.

Para concretar de nuevo, tomemos PSH para que sea 3,8 microsegundos, (lo que por cierto, no es un mal valor para comenzar a experimentar).

Ahora, utilizando el reloj de 65Mhz de arriba, sabremos que PSH es equivalente a 247 impulsos de reloj (= 65 * 10^6 * 3,8 * 10^-6)[recordatorio M=10^6, micro=10^-6]

A algunos fabricantes les gusta mencionar sus parámetros horizontales de imagen como tiempos más que como anchura de puntos. Uste puede ver los siguientes términos:

tiempo activo, active time (TAH)

Corresponde a RH, pero en milisegundos. TAH * FRTV = RH.

tiempo de borrado, blanking time (TBH)

Corresponde a (LIH - RH), pero en milisegundos. TBH * FRTV = (LIH - RH).

pórtico frontal, front porch (PFH)

Este es TGH1.

tiempo de sincronización

Este es PSH.

pórtico posterior, back porch (PPH)

Este es TGH2.

9.2 Sincronización Vertical.

Volviendo al dibujo anterior, ¿cómo colocamos los 247 impulsos de reloj tal y como se muestra en el gráfico?.

Usando nuestro ejemplo, RH es 944 y LIH es 1176. La diferencia entre los dos es de 1176 - 944 = 232 < 247!! Obviamente tenemos que realizar un apaño aquí. ¿Qué podemos hacer?.

Lo primero es aumentar 1176 a 1184, y bajar 944 a 936. Ahora la diferencia es 1184-936=248. Algo más cerca.

Luego, en lugar de utilizar 3,8 utilizaremos 3,5 para calcular PSH; entonces tendremos 65*3.5=227. Tiene mejor aspecto. Pero 248 no es mucho mayor que 227. Suele ser necesario tener alrededor de 30 impulsos de reloj entre RH y el comienzo del pulso de sincronización, y lo mismo con el final del pulso y LIH. ¡Y ambos deben ser múltiplos de ocho! ¿Estamos atascados?.

No. Hagamos esto: 936 % 8 = 0, (936 + 32) % 8 = 0 también. Pero 936 + 32 = 968, 968 + 227 = 1195, 1195 + 32 = 1227. Hmm.. No parece tener mal aspecto. Pero no es un múltiplo de 8: redondeamos hasta 1232.

Pero ahora tenemos un problema potencial, el pulso de sincronización no puede estar situado justo en la mitad entre h y H nunca más. Felizmente, utilizando nuestra calculadora encontramos 1232 - 32 = 1200 que es también múltiplo de 8 y (1232 - 32) - 968 = 232 que corresponden a utilizar un pulso de sincronización de 3,57 microsegundos de duración, todavía dentro de lo razonable.

Además, 936/1232   0.76 o 76%, no demasiado alejado de 80%, por lo que debería funcionar bien.

Aún más: utilizando la actual longitud de imagen horizontal, básicamente le pedimos a nuestro monitor que sincronice a 52.7kHz (= 65MHz/1232) lo que está dentro de su capacidad. No hay problema.

Utilizando la regla sencilla mencionada antes, 936*75%=702. Esta es nuestra nueva resolución vertical. 702 * 1.05 = 737, nuestra nueva longitud de imagen vertical.

Tasa de refresco de la pantalla = 65Mhz/(737*1232)=71.6 Hz. Aún excelente.

Imaginemos que la distribución del pulso vertical es similar:

   |___ __ __ __ __ __ __ __ __ __ __ __ __
   |_ _ _ _ _ _ _ _ _ _ _ _                |
   |_______________________|_______________|_____ 
   0                      RV              LIV     unit: pulsos de reloj
                           ^   ^       ^
                           |   |       |
                           |---|-------|
                            TGV    PSV

Comenzamos el pulso de sincronización nada más pasar el final de los impulsos de datos visualizables. TGV es el tiempo de guardia requerido para el pulso vertical. La mayoría de los monitores se sienten cómodos con un TGV de 0 (sin tiempo de guardia) y utilizaremos ese valor en este ejemplo. Unos pocos necesitan dos o tres impulsos de reloj de tiempo de guardia, y normalmente no penaliza añadirlos.

Volviendo al ejemplo: al igual que la definición de longitud de imagen, un impulso vertical de reloj es el tiempo empleado por trazar una línea horizontal completa. En nuestro ejemplo, es 1232/65MHz=18.9us.

La experiencia demuestra que el pulso vertical debe estar en el rango de entre 50us y 300us. Como ejemplo utilizaremos 150us, lo que se traduce a 8 impulsos verticales de reloj (150us/18.95us 8).

Algunos fabricantes mencionan sus parámetros de imagen vertical como tiempos en lugar de anchura de puntos. Puede observar los siguientes términos:

tiempo activo, active time (TAV)

Corresponde a RV, pero en milisegundos. TAV * FSV = RV.

tiempo de borrado, blanking time (TBV)

Corresponde a (LIV - RV), pero en milisegundos. TBV * FSV = (LIV - RV).

pórtico frontal, front porch (PFV)

Equivalente a TGV.

tiempo de sincronización

Equivalente a PSV.

pórtico posterior, back porch (PPV)

Es como un segundo tiempo de guardia tras el pulso de sinc. vertical. A menudo es cero.

10. Resumiendo.

La tabla de modos de vídeo del fichero Xconfig contiene líneas de números, siendo cada línea una especificación completa para un modo de operación del servidor X. Los campos se agrupan en cuatro secciones: la sección de nombre, la de frecuencia de reloj, la sección horizontal y la vertical.

La sección de nombre contiene un campo, el nombre del modo de vídeo especificado por el resto de la línea. Este nombre es el mencionado en los la línea "Modes" de la sección de ajuste del controlador de gráficos del fichero Xconfig. El campo de nombre puede omitirse si el nombre de una línea anterior es el mismo que el de la línea actual.

La sección de frecuencia de reloj contiene sólo el campo de frecuencia de reloj (lo que nosotros hemos llamado FRTV) de la línea de modo de vídeo. El número de este campo especifica qué frecuencia de reloj fue utilizada para generar los números de las secciones posteriores.

La sección horizontal consta de cuatro campos que especifican cómo debe generarse cada línea horizontal de la imagen. El primer campo de la sección contiene el número de puntos por línea que se iluminarán para formar una imagen (lo que llamamos RH). El segundo campo de la sección (SH1) indica en qué punto comienza el pulso de sincronización horizontal. El tercer campo (SH2) indica en qué punto termina el pulso de sincronización horizontal. El cuarto campo especifica la longitud total de imagen horizontal (LIH).

La sección vertical también contiene cuatro campos. El primero contiene el número de líneas visibles que aparecerán en la pantalla (RV). El segundo campo (SV1) indica el número de línea en el que comienza el pulso de sincronización vertical. El tercer campo (SV2) especifica el número de línea en el que finaliza el pulso de sincronización vertical. El cuarto campo contiene la longitud total de imagen vertical (LIV).

Ejemplo:

     #Nombremodo  reloj   ajuste horizontales   ajustes verticales

     "752x564"     40      752 784  944 1088     564 567 569 611
                     44.5     752 792  976 1240     564 567 570 600
(Nota: X11R5 no da soporte a frecuencias de reloj fraccionales)

Para Xconfig, todos los números recién mencionados - el número de puntos iluminados en cada línea, el número de puntos que separan los puntos iluminados del comienzo del pulso de sincronización, el número de puntos que representa la duración del pulso, y el número de puntos tras el final del pulso de sincronización - se van incrementando para producir el número de puntos por línea. El número de puntos horizontales debe ser siempre divisible entre ocho.

Ejemplo de números horizontales: 800 864 1024 1088

Esta línea de ejemplo tiene el número de puntos iluminados (800) seguido por el número de punto en el que comienza el pulso de sincronización (864), seguido por el número de punto en el que termina (1024), seguido por el número del último punto de la línea horizontal (1088).

Fíjese de nuevo en que todos los números horizontales (800, 864, 1024 y 1088) son divisibles entre 8. Esto no es requerido por los números verticales.

El número de líneas desde la parte superior de la pantalla hasta la inferior forma la imagen. La señal de tiempo básica para una imagen es la línea. Una imagen estará formada por un número de líneas. Después de que la última línea iluminada se haya mostrado, se produce un retardo de un número de líneas antes de que se genere un pulso vertical de sincronización. Entonces el pulso de sincronización durará unas pocas líneas, y finalmente se generará el retardo requerido tras el pulso: las últimas líneas de la imagen. Los números que especifican este modo de funcionamiento se introducen de una manera similar a la del siguiente ejemplo.

Ejemlo de números verticales: 600 603 609 630

Este ejemplo indica que hay 600 líneas visibles en la pantalla, que el pulso vertical de sincronización comienza en la línea número 603 y acaba en la 609, y que se utiliza un total de 630 líneas.

Fíjese en que los números verticales no tienen por qué ser divisibles entre 8.

Volvamos al ejemplo con el que hemos estado trabajando. Según se ha mencionado arriba, todo lo que tenemos que hacer de ahora en adelante es escribir nuestros resultados en Xconfig tal y como aquí se expone:

<nombre>   FRTV     RH  SH1 SH2   LIH   RV  SV1 SV2 LIV
donde CH1 es la señal de comienzo del pulso de sincronización horizontal y SH2 la señal de su finalización; de manera similar, SV1 es la línea de comienzo del pulso de sincronización vertical y SV2 la línea de su finalización.
#Nombre modo  reloj   ajuste horizontales   ajustes verticales  opciones
        936x702  65      936 968 1200 1232     702 702 710 737
No se necesita ninguna opción especial; este es un modo no entrelazado. Ahora se puede decir que hemos acabado.

11. Forzando su monitor.

Usted no debería intentar sobrepasar las tasas de barrido de su monitor si es uno de tipo frecuencias fijas. Puede realmente fundir su hardware si lo intenta. Hay algunos problemas sutiles acerca de forzar un monitor multifrecuencia de los que debería ser consciente.

Tener un reloj de pixel mayor que el ancho de banda máximo del monitor es bastante inocuo. (Nota: el límite teórico se alcanza cuando el reloj de píxel es el doble del ancho de banda. Esta es una aplicación directa del teorema de Nyquist: considere los píxeles como series distribuidas espacialmente de la unidad de señales y sabrá por qué).

Lo problemático es sobrepasar las frecuencias máximas de sincronización. Algunos monitores modernos pueden tener circuitería de protección que apaga el monitor bajo tasas peligrosas, pero no tenga fe en ello. En particular existen viejos monitores multifrecuencia (como el Multisync II) que utilizan sólo un transformador horizontal. Estos monitores no opondrán mucha resistencia ante una frecuencia de sincronización excesiva. Aunque su monitor tenga circuitería de regulación de alto voltaje (que puede no encontrarse en monitores de frecuencia fija), ésta puede no cubrir todos los rangos de frecuencia concebibles, lo cual es normal en modelos baratos. Esto no sólo implica mayor carga en la circuitería, sino que también puede causar que el fósforo de la pantalla envejezca antes, y puede hacer que el monitor emita más radiación de la especificada (incluyendo rayos X).

Otra importancia del ancho de banda es que la impedancia de entrada del monitor está especificada sólo para ese rango, y utilizar otras frecuencias de reloj puede causar reflejos de onda, lo que probablemente cause pequeñas interferencias en la pantalla y ruidos en las ondas de radio.

Sin embargo, el problema básico de magnitud en cuestión es la tasa de giro (la pendiente de las señales de vídeo) de las tarjetas gráficas, y que normalmente es independiente de la frecuencia real de pixel, pero que está relacionada (si el fabricante cuida de esos problemas) con la frecuencia máxima de pixel de la tarjeta.

Por lo tanto, tenga cuidado...

12. Utilizando modos entrelazados.

(Esta sección se debe a la colaboración de David Kastrup dak@poll.informatik.rwth-aachen.de).

A una frecuencia fija de pixel, una pantalla entrelazada va a tener considerablemente menos parpaedo que una pantalla no entrelazada, si la circuitería vertical de su monitor es capaz de dar soporte a ese modo de manera estable. Es a causa de que estos modos entrelazados se inventaron en primer lugar.

Los modos entrelazados alcanzaron su mala reputación debido a que son inferiores que los modos no entrelazados a la misma frecuencia vertical FSV (que es la dada normalmente en los anuncios). Pero son definitivamente superiores a la misma frecuencia de barrido horizontal, y ahí es donde radican los límites decisivos de su monitor/tarjeta gráfica.

A una tasa de refresco fija (o a media tasa de imagen, o FSV) la visualización entrelazada parpadeará más: una representación entrelazada a 90Hz será inferior a otra representación no entrelazada a 90Hz. Sin embargo, sólo necesitará la mitad de ancho de banda de video y la mitad de frecuencia de sincronización horizontal. Si se compara con un modo no entrelazado que tenga la misma frecuencia de píxel y las mismas tasas de barrido, será muy superior: no entrelazado a 45Hz es intolerable. He trabajado durante años con mi Multisync 3D (a 1024x768) con modo entrelazado a 90Hz y estoy muy satisfecho. Y creo que necesitaría al menos una representación a 70Hz no entrelazada para conseguir un índice de comodidad similar.

Sin embargo, debe vigilar algunos puntos: utilice modos entrelazados sólo con altas resoluciones, de modo que las líneas iluminadas alternativamente estén cercanas unas de otras. Puede desear jugar con las anchuras y posiciones de los pulsos de sincronización para conseguir las posiciones de línea más estables. Si hay líneas alternadas brillantes y oscuras, el entrelazado hará que salten unas en otras. Poseo una aplicación que escoge un fondo de ese tipo para los menús (XCept) (afortunadamente ninguna otra aplicación que conozca hace lo mismo). Cambio a 800x600 para utilizar XCept porque sí termina haciendo daño a los ojos.

Por la misma razón, utilice al menos fuentes 100dpi, u otras fuentes en las que los trazos horizontales sean, al menos, de dos puntos de ancho (de todos modos, son las únicas que pueden escogerse para altas resoluciones de manera sensata).

Y por supuesto, nunca utilice un modo entrelazado cuando su hardware podría dar soporte a un modo no entrelazado con la misma tasa de refresco.

Si, sin embargo, encuentra que para alguna resolución usted está llevando tanto al monitor como a la tarjeta de video a sus límites más altos, y consiguiendo una visión con un parpadeo insatisfactorio o borroso (ancho de banda excedido), puede intentar utilizar la misma resolución con un modo entrelazado. Por supuesto esto no es aplicable si la FSV de su monitor está ya cerca de sus límites.

Diseñar modos entrelazados es fácil: hágalo como un modo no entrelazado. Sólo deben hacerse dos consideraciones: usted necesita un número total impar de líneas verticales (el último número en la línea de modo), y después de especificar la opción "interlace", la FSV real de su monitor se duplica. Su monitor necesita ser capaz de proporcionar una tasa de 90Hz si el modo especificado, ignorando la etiqueta "Interlace", fuera de 45Hz.

Como ejemplo, aquí está mi línea de modo para 1024x768 entrelazado: mi Multisync 3D es capaz de llegar a 90Hz vertical y 38KHz horizontal.

ModeLine "1024x768" 45 1024 1048 1208 1248 768 768 776 807 Interlace

Ambos límites están rozándose en este modo. Especificar el mismo modo, pero sin la etiqueta "Interlace", todavía está casi al límite de la capacidad horizontal del monitor (y hablando estrictamente, un poco por debajo del límite mínimo de tasa vertical), pero produce un parpadeo de imagen insoportable.

Reglas básicas de diseño: si tiene diseñado un modo con menos de la mitad de la capacidad vertical de su monitor, haga impar el número total de líneas y añada la opción "Interlace". La calidad de imagen se verá completamente mejorada en la mayor parte de los casos.

Si tiene un modo no entrelazado que casi agota las especificaciones de su monitor en el que la FSV está un 30% o más por debajo del máximo de su monitor, el diseñar un modo entrelazado (posiblemente con una resolución algo mayor) podría conseguir resultados superiores, pero no puedo prometerlo.

13. Preguntas y Respuestas.

P. El ejemplo que se da en este documento no es un tamaño de pantalla estándar. ¿Puedo utilizarlo?.

R. ¿Por qué no?. No hay NINGUNA razón por la que usted deba utilizar 640x480, 800x600, o incluso 1024x768. Los servidores XFree86 le permiten configurar su hardware con total libertad. Suele llevar dos o tres intentos el conseguir la configuración correcta. A lo que se debe intentar llegar es a una alta tasa de refresco con un área de visión razonable, no a una alta resolución bajo el precio de un parpadeo que ponga los ojos rojos.

P. ¿Es esta la única resolución dadas la frecuencia de píxel de 65MHz y la FSH de 55KHz?.

R. ¡Claro que no!. Desde aquí animo a seguir el método general y realizar algo de ensayo-error para llegar a una configuración que sea realmente de su agrado. Experimentar con esto puede dar mucha diversión. La mayor parte de las configuraciones sólo dan una modesta configuración de video, pero en la práctica un monitor multifrecuencia moderno no puede dañarse fácilmente. Asegúrese, sin embargo, de que su monitor puede dar soporte a las tasas de imagen de su modo antes de utilizarlo durante largos periodos de tiempo.

Cuidado con los monitores de frecuencia fija. Este tipo de trasteo puede dañarlos de manera rápida. Asegúrese de que utiliza tasas de refresco válidas para cada experimento que realice.

P. Ha mencionado sólo dos resoluciones estándar. En Xconfig, hay muchas resoluciones estándar disponibles. ¿Puede decirme si hay algún truco para apañar configuraciones?.

R. ¡Claro!. Tome, por ejemplo, el "estándar" 640x480 listado en el Xconfig. Utiliza una frecuencia de píxel de 25Mhz, una LIH de 800 y una LIV de 525, por lo que la tasa de refresco ronda los 59,5Hz. No está mal. Pero 28Mhz es una frecuencia de píxel que suele estar disponible para muchas tarjetas SVGA. Si la utilizamos para llevar un 640x480, siguiendo el procedimiento comentado más arriba, llegaríamos a longitudes de imagen de 812 (redondeado a 808) y 505. Ahora la tasa de refresco ha aumentado hasta 68Hz, una mejora importante sobre el modo estándar.

P. ¿Puede resumir lo que ha comentado hasta ahora?.

R. En pocas palabras:

  1. para cualquier frecuencia de píxel fija, aumentar la resolución máxima disminuye la tasa de refresco y esto introduce más parpadeo.
  2. si desea mayor resolución y su monitor es capaz de mostrarla, intente conseguir una tarjeta SVGA que proporcione una frecuencia de píxel (FRTV) concordante. Cuanto más alta sea, mejor.

14. Arreglando problemas con la imagen.

Bien. Ya tiene sus números para la configuración de X. Los pone en Xconfig con una etiqueta de modo de prueba. Arranca X, cambia al nuevo modo, ... y la imagen no se muestra correctamente. ¿Qué hacer?. Esta es una lista de las distorsiones de imagen más comunes y de cómo arreglarlas.

(Es solucionando estas distorsiones menores donde xvidtune(1) brilla realmente.)

La imagen se mueve cambiando la configuración de pulso de sincronización. Se escala cambiando la longitud de imagen (necesita mover el pulso de sincronización para mantenerla en la misma posición relativa, si no escala la imagen la moverá también). Aquí hay algunas recetas más específicas:

Las posiciones horizontal y vertical son independientes. Esto es: mover la imagen horizontalmente no afecta a su colocación vertical, ni vicerversa. Sin embargo, esto no se aplica a la escala. Si cambia el tamaño horizontal y no hace nada al vertical, o viceversa, el cambio total en ambos puede estar limitado. En particular, si su imagen es muy grande en ambas dimensiones probablemente tenga que ir a una frecuencia de píxel mayor para solucionarlo. Como esto incrementa la resolución utilizable, rara vez llega a ser un problema.

14.1 La imagen está desplazada a la izquierda o a la derecha.

Para arreglarlo, mueva el pulso de sincronización horizontal. Esto es: incremente o disminuya (en múltiplos de 9) los dos números centrales de la sección horizontal que definen el comienzo y final del pulso de sincronización horizontal.

Si la imagen está situada a la izquierda, y quiere moverla hacia la derecha, disminuya los números. Si es al revés, incremente el pulso de sincronización.

14.2 La imagen está desplazada hacia arriba o hacia abajo.

Para solucionar esto, mueva el pulso de sincronización vertical. Esto es, incremente o reduzca los dos números centrales de la sección vertical de su línea de modo que definen el comienzo y el final del pulso de sincronización vertical.

Si la imagen está arriba (el borde inferior es muy grande, desea mover la imagen hacia abajo) reduzca los números. Si la imagen se encuentra muy abajo (el borde superior es muy grande, y desea mover la imagen hacia arriba) aumente los números.

14.3 La imagen es muy grande tanto vertical como horizontalmente.

Cambie a una velocidad de píxel superior. Si tiene varias frecuencias en su fichero de modos, puede que se esté activando una velocidad más baja por error.

14.4 La imagen es muy ancha (o muy estrecha) horizontalmente.

Para solucionar esto, incremente (disminuya) la longitud de imagen horizontal. Esto es, cambie el cuarto número en la primera sección de la línea de modos. Para evitar mover la imagen, también mueva el pulso de sincronización (segundo y tercer números) la mitad de lo que ha cambiado la longitud de imagen, para mantenerlo en la misma posición relativa.

14.5 La imagen es muy alta (o muy estrecha) verticalmente.

Para solucionar esto, incremente (disminuya) la longitud de imagen vertical. Esto es, cambie el cuarto número en la segunda sección de la línea de modos. Para evitar mover la imagen, también mueva el pulso de sincronización (segundo y tercer números) la mitad de lo que ha cambiado la longitud de imagen, para mantenerlo en la misma posición relativa.

Cualquier distorsión que no pueda ser atajada combinando estas técnicas es, probablemente, signo de que algo más básico ha ido mal, como un error de cálculo o una velocidad de píxel mayor de la que el monitor puede manejar.

Finalmente, recuerde que incrementar cualquier longitud de imagen disminuirá la tasa de refresco, y al revés.

15. Representando gráficamente las capacidades del monitor.

Para dibujar el diagrama de un modo del monitor, usted necesitará el paquete gnuplot (un lenguaje de representación gráfica gratuito para sistemas operativos UNIX) y la herramienta modeplot, un script para gnuplot que representa gráficamente el diagrama de las características de su monitor, introducidas como opciones en línea de comandos.

Esta es una copia de modeplot:

#!/bin/sh
#
# modeplot -- genera un gráfico en modo X de los modos de monitor disponibles
#
# Utilice `modeplot -?' para ver las opciones de control.
#
# ($Id: video-modes.sgml,v 1.5 1998/02/21 02:23:11 esr Exp $)

# Descripción del monitor. Ancho de banda en MHz, frecuencias horizontales en KHz
# y verticales en Hz.
TITLE="Viewsonic 21PS"
BANDWIDTH=185
MINHSF=31
MAXHSF=85
MINVSF=50
MAXVSF=160
ASPECT="4/3"
vesa=72.5       # Mínima velocidad de refresco recomendada por VESA

while [ "$1" != "" ] 
do
        case $1 in
        -t) TITLE="$2"; shift;; 
        -b) BANDWIDTH="$2"; shift;; 
        -h) MINHSF="$2" MAXHSF="$3"; shift; shift;; 
        -v) MINVSF="$2" MAXVSF="$3"; shift; shift;; 
        -a) ASPECT="$2"; shift;; 
        -g) GNUOPTS="$2"; shift;; 
        -?) cat <<EOF
opciones de control de modeplot:

-t "<descripción>"      nombre del monitor         por defecto: "Viewsonic 21PS" 
-b <nn>                ancho de banda en MHz      por defecto: 185 
-h <min> <max>      FSH mín y máx (KHz)        por defecto: 31 85
-v <min> <max>      FSV mín y máx (Hz)         por defecto: 50 160
-a <razón de aspecto>  razón ancho/alto           por defecto: 4/3 
-g "<opciones>"        opciones para gnuplot

Las opciones -b, -h y -v son obligatorias, -a, -t, -g son opcionales.
Uste puede utilizar -g para redireccionar la salida de gnuplot para que
el gráfico de modo se imprima en su impresora.  Vea gnuplot(1) para más
detalles.

La utilidad modeplot fue creada por Eric S. Raymond <esr@thyrsus.com> basada
en el análisis y código de Martin Lottermoser <Martin.Lottermoser@mch.sni.de>.
La traducción de esta utilidad al castellano fue realizada por 
David Marín Carreño <davefx@bigfoot.com>.

Esta es la $Revision: 1.5 $ de modeplot.
EOF
                exit;;
        esac
        shift
done

gnuplot $GNUOPTS <<EOF
set title "Gráfico de modos de $TITLE"

# Números mágicos. Desafortunadamente, el dibujo es muy sensible a los cambios
# que se realicen en estos, y pueden hacer que no se represente la realidad
# en algunos monitores.  Necesitamos fijar unos valores para conseguir 
# incluso una aproximación del diagrama de modos.  Estos han salido de
# investigar montones de valores en la base de datos ModeDB.
F1 = 1.30       # factor para convertir la resolución horizontal en anchura de imagen
F2 = 1.05       # factor para convertir la resolución vertical en altura de imagen

# Definiciones de funciones (la multiplicación por 1.0 fuerza los cálculos en reales)
ac = (1.0*$ASPECT)*F1/F2
refresh(hsync, dcf) = ac * (hsync**2)/(1.0*dcf)
dotclock(hsync, rr) = ac * (hsync**2)/(1.0*rr)
resolution(hv, dcf) = dcf * (10**6)/(hv * F1 * F2)

# Pone etiquetas en los ejes
set xlabel 'DCF (MHz)'
set ylabel 'RR (Hz)' 6  # La coloca justo sobre el eje Y

# Genera el diagrama
set grid
set label "AB" at $BANDWIDTH+1, ($MAXVSF + $MINVSF) / 2 left
set arrow from $BANDWIDTH, $MINVSF to $BANDWIDTH, $MAXVSF nohead
set label "FSV máx" at 1, $MAXVSF-1.5
set arrow from 0, $MAXVSF to $BANDWIDTH, $MAXVSF nohead
set label "FSV mín" at 1, $MINVSF-1.5
set arrow from 0, $MINVSF to $BANDWIDTH, $MINVSF nohead
set label "FSH mín" at dotclock($MINHSF, $MAXVSF+17), $MAXVSF + 17 right
set label "FSH máx" at dotclock($MAXHSF, $MAXVSF+17), $MAXVSF + 17 right
set label "VESA $vesa" at 1, $vesa-1.5
set arrow from 0, $vesa to $BANDWIDTH, $vesa nohead # style -1
plot [dcf=0:1.1*$BANDWIDTH] [$MINVSF-10:$MAXVSF+20] \
  refresh($MINHSF, dcf) notitle with lines 1, \
  refresh($MAXHSF, dcf) notitle with lines 1, \
  resolution(640*480,   dcf) title "640x480  " with points 2, \
  resolution(800*600,   dcf) title "800x600  " with points 3, \
  resolution(1024*768,  dcf) title "1024x768 " with points 4, \
  resolution(1280*1024, dcf) title "1280x1024" with points 5, \
  resolution(1600*1280, dcf) title "1600x1200" with points 6

pause 9999
EOF

Una vez que sepa que tiene modeplot y el paquete gnuplot en su máquina, necesitará saber las siguientes características del monitor:

El programa de dibujo necesitará asumir algunos datos que no tienen por qué ser correctos. Este es el porqué de que el gráfico resultante es sólo una descripción grosso modo. Estos datos asumidos son:

  1. Todas las resoluciones tienen una razón de aspecto fija RA = RH/RV. Las resoluciones estándar tienen RA = 4/3 o RA = 5/4. El programa modeplot asume 4/3 por defecto, pero usted puede hacer que ésto no sea así.
  2. Para los modos considerados, las longitudes de imagen horizontales y verticales son múltiplos fijos de las resoluciones horizontal y vertical, respectivamente:
            LIH = F1 * RH
            LIV = F2 * RV
    

A ojo de buen cubero, tome F1 = 1,30 y F2 = 1,05 (vea frame "Calculando tamaños de imagen").

Ahora tome una frecuencia de sincronización particular, FSH. Asumiendo los datos que hemos expuesto, cada valor de frecuencia de píxel FRTV ya determina la tasa de refresco TR, esto es: para cada valor de FSH hay una función TR(FRTV). Esta función está definida así:

La tasa de refresco es igual a la velocidad de píxel dividida por el producto de los tamaños de imagen:

        TR = FRTV / (LIH * LIV)         (*)

Por otra parte, la longitud de imagen horizontal es igual a la velocidad de píxel dividida por la frecuencia horizontal de sincronización:

        LIH = FRTV / FSH                        (**)

LIV puede hallarse a partir de LIH con los datos asumidos:

        LIV = F2 * RV
            = F2 * (RH / RA)
            = (F2/F1) * LIH / RA        (***)

Sustituyendo (**) y (***) en (*) obtenemos:

        TR = FRTV / ((F2/F1) * LIH^2 / RA)
           = (F1/F2) * RA * FRTV * (FSH/FRTV)^2
           = (F1/F2) * RA * FSH^2 / FRTV

Para unas FSH, F1, F2 y RA fijas, esta es una hipérbola en nuestro gráfico. Dibujando sendas curvas para los valores mínimo y máximo de la frecuencia de sincronización horizontal, hemos obtenido los dos bordes restantes de la región permitida.

Las líneas rectas que cruzan la región hábil representan resoluciones particulares. Esto está basado en (*) y en lo segundo que hemos asumido:

        TR = FRTV / (LIH * LIV) = FRTV / (F1 * RH * F2 * RV)

Dibujando esas líneas para todas las resolucines en las que se está interesado, se puede averiguar cuáles son las relaciones posibles entre resolución, frecuencia de píxel y tasa de refresco de las que el monitor es capaz, pero ello depende de la segunda ecuación asumida.

La herramienta modeplot le proporciona de una manera fácil de hacer esto. Teclee modeplot -? para ver las opciones de control. Una orden típica tendría este aspecto:

        modeplot -t "Swan SW617" -b 85 -v 50 90 -h 31 58

La opción -b especifica el ancho de banda de vídeo; -v y -h establecen los rangos de frecuencia vertical y horizontal.

Cuando lea la salida de modeplot, siempre recuerde que sólo da una descripción aproximada. Por ejemplo, no tiene en cuenta las limitaciones de LIH resultantes de una anchura mínima requerida para el pulso de sincronización, y solo puede ser preciso hasta donde llegan las condiciones asumidas. Por lo tanto, no es en absoluto un sustituto para unos cálculos detallados (que requieren algo de "magia oscura") tal y como se han desarrollado en Resumiendo. Sin embargo, podría mostrarle de manera más intuitiva qué es posible y qué factores se involucran.

16. Créditos.

La versión ancestral de este documento fue realizada por Chin Fang <fangchin@leland.stanford.edu>.

Eric S. Raymond <esr@snark.thyrsus.com> rehizo, reorganizó y reescribió masivamente el original de Chin Fang en un intento de entenderlo. En el proceso, él introdujo la mayor parte de un documento Cómo distinto, realizado por Bob Crosson <crosson@cam.nist.gov>.

El material acerca de los modos entrelazados está realizado en su mayor parte por David Kastrup <dak@pool.informatik.rwth-aachen.de>

Martin Lottermoser <Martin.Lottermoser@mch.sni.de> contribuyó con la idea de utilizar gnuplot para realizar diagramas de modo e hizo el análisis matemático tras modeplot. El modeplot distribuido fue rediseñado y generalizado por ESR a partir del código original realizado por Martin para un sólo caso.

17. Traducción.

Este documento fue traducido al castellano por David Marín Carreño davefx@bigfoot.com como un grano de arena más en el proyecto LuCAS/INSFLUG.

He traducido lo más fielmente que he podido el original. Si descubre algún error en mi traducción, por favor, envíeme un mensaje para corregirlo en próximas revisiones.

Si desea plantear alguna duda, sugerencia o crítica, no dude en contactar conmigo.

Disfrute de Linux y de la vida.

     |   |   |  _|             David Marín Carreño
      \  |  /  /
       |/____\|         /////  
      /_|_/\_|_\     __/////   <davefx@bigfoot.com>
      \| (__) |/     |_  _/    
      / \____/ \      / /
     (____  ____)    / /       WEb SITe:
     _____||________/ /        http://www.bigfoot.com/~davefx
    /  _       _____/
 

18. Anexo: Grupos LiNUXeros en España.

Francisco José Montilla, pacopepe@iname.com, FidoNet 2:345/402.22 es coordinador del INSFLUG: (Impatient & Novatous Spanish Fidonet LiNUX Users Group) uno de los varios grupos de usuarios existentes en España, y más concretamente en la mejor ;-) área de FidoNet: R34.LINUX junto con LuCas (LinUx en CAStellano).

El INSFLUG se orienta preferentemente a la traducción de documentos breves, como los COMOs y PUFs

Preguntas de Uso Frecuente, las FAQs. :)
, etc.

LuCas Coordina y realiza las traducciones de las guides, es decir, documentos más extensos.

Por supuesto, la orientación de cada grupo no tiene carácter excluyente; si quiere colaborar en las dos, ¡mejor! ;-).

Otra fuente de información obligada para el recién incorporado son las PUF elaboradas a partir del correo circulante por R34.LINUX por Pablo Gómez, pgomez@arrakis.es, 2:341/43.40, disponibles próximamente en los formatos habituales de documentación (.ps, .dvi, .html, .sgml, etc.) en los servidores de Internet especificados más adelante, así como en el mismo área.

¡Necesitamos su colaboración para futuras traducciones! si quiere unirse a nosotros póngase en contacto con:

INSFLUG: (Traducción y autoría de COMOs)

Francisco José Montilla, pacopepe@iname.com, FidoNet 2:345/402.22

LuCas: (Traducción y autoría de guías)

  1. Juan José Amor, jjamor@ls.fi.upm.es, FidoNet 2:341/12.19
  2. Alfonso Belloso, alfon@bipv02.bi.ehu.es, FidoNet 2:344/17.2

Por último, recordar que un inmejorable lugar para estar informado, así como consultar y discutir todo lo relacionado con LiNUX lo tiene en FidoNet, en R34.LINUX.

Actualmente, ambos grupos poseen las siguientes listas de correo:

Ambas son listas tipo majordomo; para suscribirse:

envíe un email a majordomo@nova.es, con "subscribe insflug" en el cuerpo del mensaje.

En el caso de LuCAS sería a majordomo@infor.es, con "subscribe lucas" en el cuerpo del mensaje.

Dispone de todos los ``COMOs'' traducidos hasta ahora, así como información puntual sobre el INSFLUG y temas relacionados en:

http://www.insflug.org en sus versiones html

Actualización lenta
, y listas para bajar, en

ftp://ftp.insflug.org/es

Este es el lugar actualizado con más frecuencia; en Sunsite y sus mirrors está replicado en el directorio ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/translations/es De todos modos, probablemente con su distribución de Linux vengan incluidos.

Otro buen punto de búsqueda, consulta, y obtención de la documentación traducida, en formato HTML, con links a los demás formatos, así como las traducciones de las guías traducidas por LuCAS es:

http://lucas.hispalinux.es

Tanto el INSFLUG, como LuCAS, y todos los traductores implicados, esperamos que esta traducción le haya sido de utilidad.