Copyright
Copyright © José
Luis Lara Carrascal 2007-2015
Introducción
NOTA IMPORTANTE: Desde la versión 7.5 de Xorg (publicada el 26-10-2009) y la 1.5.99.1 de xorg-server (publicada el 25-11-2008) esta utilidad ya no se incluye en la instalación del servidor gráfico X. Los motivos que
ofrece el encargado de cargarse de un plumazo este excelente programa
son cuanto menos discutibles. Mi opinión personal es
que al ser una utilidad que han heredado de XFree86 (donde sí sigue estando incluida) no les hace mucha gracia seguir manteniéndola y prefieren liquidarla. Eso
sí, el resto de la información incluida sigue siendo
útil y por lo tanto, el manual se mantiene tal y como se
creó. |
Posiblemente la configuración del monitor sea uno de los
apartados más delicados y que más problemas suelen dar a
los usuarios que por primera vez se inician en GNU/Linux. Resulta curioso que una utilidad que existe, desde que usábamos XFree86 antes de la escisión provocada por el cambio de licencia de éste y que supuso el nacimiento de Xorg, no se nombre casi nunca en las respuestas que se dan en los foros respecto a este tema. Me refiero a xorgcfg, y que en XFree86 es xf86cfg. Con la misma podemos configurar el archivo xorg.conf
hasta el más mínimo detalle, pero en este manual me voy a
centrar en lo más básico y habitual, es decir,
añadir la resolución con la que vamos a trabajar casi
siempre.
El archivo /etc/X11/xorg.conf
Éste es el archivo de configuración de Xorg y
el causante del dolor de cabeza que a muchos usuarios nuevos y no tan
nuevos les provoca cuando su flamante o vetusto monitor no funciona
como es debido y se encuentran con unas resoluciones o frecuencia de
refresco que puede llegarles a dañar sus ojos, y respecto a este
tema recordar que con monitores CRT (los de tubo), nunca se
use una frecuencia de refresco vertical inferior a 72hz, porque a
partir de ésta, la pantalla empieza a parpadear y nuestros ojos
a padecer.
Pongo de ejemplo el mío,
Section "ServerLayout"
# The Identifier line must be present
# Each Screen line specifies a Screen section name, and optionally
# the relative position of other screens. The four names after
# primary screen name are the screens to the top, bottom, left and right
# of the primary screen. In this example, screen 2 is located to the
# right of screen 1.
Identifier "Simple Layout"
Screen 0 "Screen 1" 0 0
InputDevice "Keyboard1" "CoreKeyboard"
InputDevice "Mouse1" "CorePointer"
EndSection
Section "Files"
# The location of the RGB database. Note, this is the name of the
# file minus the extension (like ".txt" or ".db"). There is normally
# no need to change the default.
# Multiple FontPath entries are allowed (which are concatenated together),
# as well as specifying multiple comma-separated entries in one FontPath
# command (or a combination of both methods)
#
#
# The module search path. The default path is shown here.
# ModulePath "/usr/X11R7/lib/xorg/modules"
RgbPath "/usr/X11R7/share/X11/rgb"
FontPath "unix/:-1"
EndSection
Section "Module"
Load "dbe" # Double buffer extension
Load "type1"
Load "v4l"
# Load "speedo"
Load "freetype"
# Load "xtt"
Load "glx"
# This loads the DRI module
Load "extmod"
# Option "omit xfree86-dga" # don't initialise the DGA extension
EndSection
Section "InputDevice"
Identifier "Keyboard1"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbLayout" "es"
Option "XkbOptions" "compose:rwin"
Option "XkbRules" "xorg"
EndSection
Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/mouse"
Option "ZAxisMapping" "4 5"
EndSection
Section "Monitor"
# ModeLine "1024x768" 65.0 1024 1048 1184 1344 768 771 777 806 -hsync -vsync
Identifier "monitor1"
VendorName "Philips"
ModelName "Philips 107E"
### Comment all HorizSync and VertSync values to use DDC:
HorizSync 30.0 - 70.0
VertRefresh 50.0 - 160.0
Gamma 0.45
ModeLine "1024x480" 65.0 1024 1032 1176 1344 480 488 494 563 -hsync -vsync
ModeLine "768x576" 50.0 768 832 846 1000 576 590 595 630
ModeLine "768x576" 63.1 768 800 960 1024 576 578 590 616
ModeLine "1024x768@84" 94.5 1024 1072 1168 1376 768 769 772 808 +hsync +vsync
EndSection
Section "Device"
# Insert Clocks lines here if appropriate
#VideoRam 32768
Identifier "Riva TNT2-M64"
Driver "nvidia"
Option "NvAGP" "3"
Option "NoLogo" "1"
EndSection
Section "Screen"
Identifier "Screen 1"
Device "Riva TNT2-M64"
Monitor "Monitor1"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 8
Modes "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
Modes "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1024x768@84" "800x600"
EndSubSection
EndSection
|
Ahora la pregunta es obvia: ¿Qué resolución estoy
usando?, o dicho de otra forma, ¿Cómo interpreta Xorg
el archivo de configuración para ejecutar la resolución
definida por defecto?, que es la que yo quiero usar. Recordar que
estamos hablando del monitor así que la tarjeta me la salto,
porque este apartado es bastante más simple y ya hay
documentación al respecto.
1) Primero lee las frecuencias en la sección "Monitor"
(además de detectar las que lleva el monitor mediante DDC),
muchos usuarios pensarán que su monitor, al no estar en la lista
que aparece cuando configuran este archivo con las utilidades
que llevan las distribuciones, no está soportado. En realidad,
si saben la frecuencia vertical y horizontal sólo tienen
que añadirla en el siguiente apartado, lo que está
coloreado de rojo, el nombre del monitor pueden poner el que quieran o
simplemente generic en VendorName y en ModelName. El Identifier
es la identificación del nuestro monitor dentro del archivo de
configuración, cómo sólo tenemos uno, éste
se denomina "monitor1"
Section "Monitor"
# ModeLine "1024x768" 65.0 1024 1048 1184 1344 768 771 777 806 -hsync -vsync
Identifier "monitor1"
VendorName "Philips"
ModelName "Philips 107E"
### Comment all HorizSync and VertSync values to use DDC:
HorizSync 30.0 - 70.0
VertRefresh 50.0 - 160.0
Gamma 0.45
ModeLine "1024x480" 65.0 1024 1032 1176 1344 480 488 494 563 -hsync -vsync
ModeLine "768x576" 50.0 768 832 846 1000 576 590 595 630
ModeLine "768x576" 63.1 768 800 960 1024 576 578 590 616
ModeLine "1024x768@84" 94.5 1024 1072 1168 1376 768 769 772 808 +hsync +vsync
EndSection |
2) Luego se va a la sección "Screen",
ésta es la sección del archivo de configuración
donde se determina la resolución y la profundidad del color que
vamos a usar, podemos comprobar que existen subsecciones, tantas como
las profundidades de color que soporte nuestra tarjeta, normalmente
8,16 y 24(32). Así que siguiendo a Xorg
éste comprueba en la primera parte de esta sección que la
profundidad de color que estoy usando es 24, y por inercia
kinética (esto es broma y es verano) se va a la
subsección correspondiente, que es la última de las
configuradas.
Section "Screen"
Identifier "Screen 1"
Device "Riva TNT2-M64"
Monitor "Monitor1"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 8
Modes "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
Modes "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1024x768@84" "800x600"
EndSubSection
EndSection |
Cuando llega a esta última subsección lee los Modes, el primero siempre es el que se inicia por defecto, esto recordarlo siempre. Y en mi caso lee "1024x768@84" (luego hablaré de cómo lo añadí, pero sigo con la historia). Y lo primero que hace Xorg es irse a la sección del monitor configurado, es decir, el "monitor1" y comprobar que ese Modeline existe y por lo tanto es aplicable. Si el Modeline es genérico, por ejemplo, "1024x768" y no está incluido en la sección del monitor, Xorg usará un refresco de pantalla más bajo del que permita nuestro monitor, y cuidado que muchas veces es de 60hz.
Section "Monitor"
# ModeLine "1024x768" 65.0 1024 1048 1184 1344 768 771 777 806 -hsync -vsync
Identifier "monitor1"
VendorName "Philips"
ModelName "Philips 107E"
### Comment all HorizSync and VertSync values to use DDC:
HorizSync 30.0 - 70.0
VertRefresh 50.0 - 160.0
Gamma 0.45
ModeLine "1024x480" 65.0 1024 1032 1176 1344 480 488 494 563 -hsync -vsync
ModeLine "768x576" 50.0 768 832 846 1000 576 590 595 630
ModeLine "768x576" 63.1 768 800 960 1024 576 578 590 616
ModeLine "1024x768@84" 94.5 1024 1072 1168 1376 768 769 772 808 +hsync +vsync
EndSection |
Finalmente se inicia el servidor gráfico con nuestra
resolución configurada y nosotros más contentos que unas
pascuas, ahora bien, algunos dirán: ¡¡Vaya Rollo!!,
para que el rollo sea menos rollo existe xorgcfg
y ahora explicaré lo mismo pero de forma gráfica,
así que déjenme acabar la historia que sigue siendo
verano y en la playa hay medusas.
Xorgcfg
Antes que nada lo ejecutamos como root en una ventana de terminal,
Seleccionamos Configure Layout >> Configure Modeline
y nos saldrá la sección de abajo, como podemos ver
aparece la resolución que estoy usando, es decir, que nos
saldrá la resolución que estemos usando en ese momento, y
lo más importante, el refresco de pantalla. Si no es el
conveniente pulsamos sobre la pestaña de la resolución,
en este caso '1024x768 @ 84 Hz'
y no saldrá una lista definida de resoluciones, elegir la mejor
y la más alta en cuanto a refresco de pantalla permita nuestro
monitor, siempre y cuando sea uno de tubo, en los TFT es completamente
al revés, una frecuencia vertical de 60hz puede llegar a ser
mejor que una de 75hz, ya que los transistores que componen la
pantalla, a mayor frecuencia mayores turbulencias y pérdida de
calidad en la definición de las imágenes.
Además de esto, con los 4 botones direccionales que
rodean al dibujo
del monitor y los otros 4 de debajo podremos ajustar el tamaño
de la pantalla a los límites físicos del monitor,
comprobaremos que tenemos el botón auto
activado y cada vez que pulsemos un botón ésta se irá desplazando,
ensanchando o reduciendo tanto en vertical como en horizontal. Si nos líamos con el ajuste siempre podemos pulsar en Restore
y los márgenes volverán a los que teníamos
configurados. Cuando la tengamos ya ajustada pulsamos en el
botón "Add" mode to, y el Modeline se habrá añadido a los disponibles del monitor, ahora nos vamos a Configure Modeline >> Configure Screen, pulsamos con el botón derecho del ratón encima del dibujo del monitor y seleccionamos Configure, se nos abrirá otra ventana.
En esta ventana quitamos de la parte derecha las resoluciones que no vayamos a utilizar, de la parte izquierda seleccionamos el modeline que hayamos creado y lo colocamos en primer lugar de la lista de la parte derecha, en Default color depth: comprobamos que tenemos la mayor profundidad de color, en este caso 24. Cuando estemos confomes pulsamos en Ok y cerramos esta ventana.
Si nos fijamos bien en la ventana de arriba, nos daremos cuenta que contiene exactamente lo mismo que la sección "Screen" del archivo de configuración y que recuerdo a continuación,
Section "Screen"
Identifier "Screen 1"
Device "Riva TNT2-M64"
Monitor "Monitor1"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 8
Modes "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
Modes "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1024x768@84" "800x600"
EndSubSection
EndSection |
Finalmente pulsamos en Quit, el programa nos preguntará si queremos guardar el archivo en etc/X11/xorg.conf, pulsamos Yes
Y también nos preguntará si queremos guardar la
configuración del teclado, si no hemos configurado nada podemos
pulsar que no y el programa se cerrará.
El Ajuste Gamma
Parece el título de una película de ciencia
ficción pero con esta opción ajustamos el brillo (para
entendernos) del monitor, ya que hay algunos que tiran mucho brillo y
si tenemos otros sistemas operativos instalados es un rollo tener que
estar regulando manualmente el monitor en función del sistema
que estemos utilizando. En Windows 98 puedo hacer uso de los controles que tiene el driver de la tarjeta, pero en BeOS
no hay controles que valga, así que tomo la referencia del que
no puedo ajustar mediante software y adapto los demás. Para
ajustar la intensidad del gamma esperamos a tener el monitor de tubo
unos 30 minutos encendido y ejecutamos la utilidad que trae Xorg, me refiero a xgamma. Abrimos una ventana de terminal y ejecutamos xgamma, nos tiene que salir la primera vez de esta manera,
[jose@localhost ~]$ xgamma
-> Red 1.000, Green 1.000, Blue 1.000
[jose@localhost ~]$
|
Siempre tenemos que tener como referencia para un buen ajuste el color
negro del fondo de una ventana de terminal o un fondo que tengamos
negro, pero el negro tiene que ser negro, si esto no es así y es
grisáceo, es que tenemos mal ajustado el monitor y la vida
operativa del mismo peligra. Así que tenemos que ir probando con
el siguiente comando, un ejemplo con un ajuste a 0.45
[jose@localhost ~]$ xgamma -gamma 0.45
-> Red 1.000, Green 1.000, Blue 1.000
<- Red 0.450, Green 0.450, Blue 0.450
[jose@localhost ~]$ |
Cuando ya lo tengamos definido lo añadimos al archivo de configuración de Xorg en la sección "Monitor",
Section "Monitor"
# ModeLine "1024x768" 65.0 1024 1048 1184 1344 768 771 777 806 -hsync -vsync
Identifier "monitor1"
VendorName "Philips"
ModelName "Philips 107E"
### Comment all HorizSync and VertSync values to use DDC:
HorizSync 30.0 - 70.0
VertRefresh 50.0 - 160.0
Gamma 0.45
ModeLine "1024x480" 65.0 1024 1032 1176 1344 480 488 494 563 -hsync -vsync
ModeLine "768x576" 50.0 768 832 846 1000 576 590 595 630
ModeLine "768x576" 63.1 768 800 960 1024 576 578 590 616
ModeLine "1024x768@84" 94.5 1024 1072 1168 1376 768 769 772 808 +hsync +vsync
EndSection |
Cada vez que iniciemos el servidor gráfico la
configuración del brillo se cargará de forma
automática, sin necesidad de utilizar otro tipo de utilidad,
más sencillo imposible.
|