(→Forzar salidas off u on) |
| |
Uno o más colaboradores están trabajando actualmente en extender esta página. Es posible que, a causa de ello, haya lagunas de contenido, deficiencias de formato o texto en otros idiomas. Por favor, antes de realizar correcciones mayores o reescrituras, contacta con ellos en su página de usuario o en la página de discusión del artículo para poder coordinar la redacción. |
La extensión RandR 1.2 aparece por primera vez en Xserver 1.3 (en Ubuntu la versión de Ubuntu 7.10). Esta extensión proporciona el descubrimiento automático de modos (resoluciones, rangos de refresco, etc) junto con la capacidad de configurar salidas dinámicamente (cambiar tamaño, rotar, mover, etc.) y activar y desactivar salidas sin reinicar las X.
Los drivers que soportan RandR 1.2 son:
Otros drivers aun utilizan el los modos antiguos de configuración.
Contenido |
Úna vez tengamos el fichero de configuración (xorg.conf) actualizado (o una isntalación límpia), al iniciar el servidor X debería habilitarse las salidas por defecto. Las esquinas de arriba a la izquierda deberán estar en la misma parte de la imagen, pero sus modos serán probablemente diferentes.
Todas las salidas pueden configurarse a través de xrandr (o la herramienta gráfica grandr). Para ver las salidas disponibles, solo ejecuta xrandr.
xrandr
Screen 0: minimum 320 x 200, current 1400 x 1050, maximum 2048 x 1152
VGA-0 disconnected (normal left inverted right x axis y axis)
DVI-0 disconnected (normal left inverted right x axis y axis)
LVDS connected 1400x1050+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1400x1050 60.2*+
1280x800 60.0
1280x768 60.0
1024x768 60.0 75.0
800x600 60.3
640x480 59.9
S-video disconnected (normal left inverted right x axis y axis)
Esto muestra que ésta tarjeta soporta 4 salidas, con nombres VGA-0, DVI-0, LVDS (el panel interno) y S-video (la salida de TV). Solo está conectado LVDS y este soporta 6 modos a 60 hz y uno a 75.
El mido marcado con un asterísco es el modo preferido. La mayoría de monitores reportan el modo preferido al driver, y el servidor/driver generalmente escogerá éste por defecto.
No existen unas convenciones estándars para nombres de salidas actualmente, éstos dependerán de los drivers, pero podrían cambiar en un futuro. Para el panel interno del portatil, VGA externo ,DVI y TV externo, los drivers actualmente usan los siguientes nombres:
Cuando se manipulen propiedades de salidas VGA-0 como arriba, se deberá usar:
xrandr --output VGA-0 <options>
Con RandR 1.2 ya no es necesario reiniciar las X para conectar o desconectar un monitor cuando lo necesites. Para habilitarlos en su modo por defecto ejecuta el siguiente comando:
xrandr --auto
Para deshabilitar una salida, utiliza:
xrandr --output LVDS --off
Esto puede ser útil para algunos errores de aplicación que no soportan múltiples salidas. Asimismo, debido a las limitaciones CRTC (véase Advertencias la sección de abajo), a menudo es necesario desactivar una salida antes de habilitar otro hardware ya que la mayoría sólo soportan 2 a la vez.
Con el siguiente comando, podrás cambiar el modo de LVDS a 1024x768:
xrandr --output LVDS --mode 1024x768
También se puede cambiar el rango de refresco, tanto al mismo tiempo como independientemente:
xrandr --output LVDS --mode 1024x768 --rate 75
RandR 1.2 proporciona la capacidad de crear una pantalla virtual y colocar múltiples salidas en ella, tanto con o sin superposición de las zonas. Para reducir el consumo de memoria, los drivers a menudo crean una pantalla virtual con pequeñas dimensiones, por ejemplo 1600x1200. Consulta la salida de xrandr para saber las dimensiones de tu pantalla virtual. Será 2048x1152 si xrandr reporta:
xrandr Screen 0: minimum 320 x 200, current 1400 x 1050, maximum 2048 x 1152
Si planeas utilizar múltiples salidas mostradas en diferentes zonas, deberás configurar tu xorg.conf añadiendo una línea Virtual a la subsección Display en la sección Screen section, por ejemplo:
Section "Screen"
...
SubSection "Display"
Depth 24
Virtual 3000 2000
EndSubSection
EndSection
Ahora ya puedes colocar salidas usando xrand y las opciones --right-of/--left-of/--above/--below. Por ejemplo, para colocar tu salida VGA a al derecha en tu panel virtual, ejecuta:
xrandr --output VGA --right-of LVDS
Notese que la limitación de hardware y memoria puede restringir de manera importante el tamaño de tu pantalla virtual. Consulta la sección de advertencias.
En algunas circunstancias algunos modos pueden perderse. Por ejemplo, si el monitor no reporta la información EDID correcta. O si la salida no tiene un CRTC disponible al inicio a causa de que otra salida estaba siendo usada y la deshabilitaste en ese momento.
Si un modo existe, puedes añadirlo a una salida con:
xrandr --addmode S-video 800x600
Si el modo no existe, debes primero crearlo pasando una "modeline"
xrandr --newmode <ModeLine>
Puedes crear una modeline usando la utilidad gtf o cvt.
Ejecutar xrandr es conveniente para configuraciones dinámicas, pero puede ser pesado tener que ejecutarlo en cada inicio del servidor X. La sección x resume todo esto mostrando un ejemplo de una configuración moderna.
Antes de configurar una salida necesitas saber cómo especificarlo en tu fichero de configuración. Para hacerlo, puedes añadir una opción Monitor-FOO a la sección Device para identificar la sección monitor para la salida FOO. Por ejemplo:
Section "Device" Identifier "My Graphic Board" ... Option "Monitor-LVDS" "Internal Panel" Option "Monitor-VGA" "External VGA Monitor" EndSection
Section "Monitor" Identifier "Internal Panel" ... EndSection
Section "Monitor" Identifier "External VGA Monitor" ... EndSection
Todas las opciones específicas de las salidas deben ir en la correspondiente sección Monitor.
Añade la siguiente línea para situar un monitor a la derecha de otro como xrandr --output FOO --right-of BAR daría:
Section "Monitor" Identifier "FOO" EndSection
Section "Monitor" Identifier "BAR" Option "RightOf" "FOO" EndSection
Si el tamaño de tu monitor no se ha detectado correctamente y por lo tanto genera un DPI incorrecto deberás añadir una opción DisplaySize en la correspondiente sección del monitor. Para la salida FOO, utiliza:
Section "Monitor" Identifier "MyMonitor" DisplaySize 304 228 EndSection
Section "Device" ... Option "Monitor-FOO" "MyMonitor" EndSection
Si por alguna razón una salida de tu tarjeta gráfica está habilitada cuando no debería estarlo, puede que quieras deshabilitarla (por ejemplo porque el número de CDRCs esté limitado). Para ello añade:
Option "Ignore" "true"
Si por alguna razón una salida está deshabilitada por el driver (por ejemplo VGA-0 en una Radeon Xpress 200 debido a que la carga de detección no es fiable en el controlador aún), puede que quieras habilitarla a la fuerza. Para hacerlo añade:
Option "Enable" "true"
Entonces puede que tenga que añadir modos ya que esa entrada puede que no produzca los modos correctamente. Consulta la sección "Forzar modo preferido" para hacerlo.
Este es uno de los casos raros en que ModeLine es todavía útil. Si el modo preferido pro defecto reportado por tu monitor no es el que te gustaría, o si no hay modo preferido y el driver no escoge el correcto, que puede que quieras forzar otro modo en la salida.
Asumiendo que quieres forzar 1280x1024 a 75Hz al inicio, añade algo parecido a lo siguiente en la sección Monitor:
Modeline "1280x1024_75.00" 138.54 1280 1368 1504 1728 1024 1025 1028 1069 -HSync +Vsync Option "PreferredMode" "1280x1024_75.00"
La línea de ModeLine se puede obtener consultado el actual Xorg.0.log si el modo ya ha sido detectado (cuando aparece en el la salida de xrandr). También puedes generar uno usando:
gtf 1280 1024 75 Modeline "1280x1024_75.00" 138.54 1280 1368 1504 1728 1024 1025 1028 1069 -HSync +Vsync
Aquí tenemos un ejemplo del archivo xorg.conf para una tarjeta ATI con salidas DVI-0 (con DisplaySize y modo preferido forzado), LVDS (colocado a la derecha de DVI-0) y VGA-0 (deshabilitado).
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc101"
Option "XkbLayout" "us"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
EndSection
# DVI externo con DisplaySize y modo preferido forzado
Section "Monitor"
Identifier "External DVI"
DisplaySize 304 228
Modeline "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync
Option "PreferredMode" "1280x1024_60.00"
EndSection
# panel interno de portátil colocado a la derecha de DVI-0
Section "Monitor"
Identifier "Integrated LCD"
Option "RightOf" "External DVI"
EndSection
# Deshabilitar VGA por defecto
Section "Monitor"
Identifier "VGA-0"
Option "Ignore" "true"
EndSection
Section "Device"
Identifier "ATI Technologies, Inc. M22 [Radeon Mobility M300]"
Driver "ati"
BusID "PCI:1:0:0"
Option "AccelMethod" "EXA"
Option "Monitor-DVI-0" "External DVI"
Option "Monitor-LVDS" "Integrated LCD"
# no se necesita especificar Monitor-VGA-0, este utiliza el identificador "VGA-0" automáticamente
EndSection
Section "Screen"
Identifier "Default Screen"
Device "ATI Technologies, Inc. M22 [Radeon Mobility M300]"
DefaultDepth 24
SubSection "Display"
Depth 24
# gran pantalla virtual para situar
Virtual 3072 1200
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
EndSection
Algún hardware no reporta información correcta, especialmente muchos monitores reportan una EDID incorrecta. En este caso, el servidor/driver puede detectar algunos modos incorrectos o perder alguno. En algunos casos no podrás habilitar tu resolución deseada. En otros casos obtendrás una pantalla negra.
La mejor solución puede ser añadir una peculiaridad en el servidor X para trabajar en torno al problema de hardware. Si esto te pasa. deberías reportar un bug en http://bugzilla.freedesktop.org y proporcionar información detallada incluyendo un identificador preciso de tu monitor. Consulta https://bugs.freedesktop.org/show_bug.cgi?id=11603 para ver un ejemplo.
Si por alguna razón tu servidor X te devuelve una pantalla negra al inicio, especialmente debido a modos incorrectos, puede ser difícil corregirlo ya que no puedes usar la terminal en las X rotas para corregir las X. Afortunadamente xrandr soporta configuración remota de servidores, usando tanto la variable de entorno DISPLAY como la opción -display:
xrandr -display :0.0 ...
De este modo, si tienes acceso a una consola VT (con Ctrl-Alt-F1) o (mejor) si puedes entrar remotamente a través de ssh, podrás seleccionar el modo correcto.
Cada salida puede tener muchas propiedades específicas. Por ejemplo, la salida de TV tiene la propiedad tv_standard para escoger entre PAL y NTSC. Para ver los valores de las propiedades debes ejecutar:
$ xrandr --verbose tv_standard: ntsc
Para cambiar el estándar TV standard utiliza algo parecido a:
xrandr --output S-video --set tv_standard pal
Además, algunos drivers como el de ATI a partir de 6.7.195 deshabilitan la detección de carga en la salida TV ya que se comunica incorrectamente con ña TV siendo detectada como conectada y por tanto una CRTC sería desperdiciada.
xrandr --verbose load_detection: 0 (0x00000000) range: (0,1)
Para rehabilitar la detección de carga ejecuta
xrandr --output S-video --set load_detection 1
Puede que se necesiten añadir algunos modos, consulta la sección #Añadir nuevos modos.
Actualmente no hay modo de especificar propiedades de salida en xorg.conf.