XRandR

De doc.ubuntu-es
(Diferencias entre revisiones)
Saltar a: navegación, buscar
(wikificar)
(Básicos)
 
(No se muestran 4 ediciones intermedias realizadas por 2 usuarios)
Línea 16: Línea 16:
 
=== Básicos ===
 
=== Básicos ===
  
Ú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.
+
Úna vez tengamos el fichero de configuración (xorg.conf) actualizado (o una instalació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.
 
Todas las salidas pueden configurarse a través de xrandr (o la herramienta gráfica grandr). Para ver las salidas disponibles, solo ejecuta xrandr.
Línea 35: Línea 35:
 
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.
 
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.
+
El modo marcado con un asterisco es el modo preferido. La mayoría de monitores reportan el modo preferido al driver, y el servidor/driver generalmente escogerá éste por defecto.
  
 
=== Convenciones de nombres de salidas ===
 
=== Convenciones de nombres de salidas ===
Línea 157: Línea 157:
 
=== Forzar salidas off u on ===
 
=== Forzar salidas off u on ===
  
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 CDTCs esté limitado). Para ello añade:  
+
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"
 
  Option "Ignore" "true"
Línea 259: Línea 259:
 
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.  
 
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.  
  
=== Configuración remora de RandR ===
+
=== Configuración remota de RandR ===
  
 
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:  
 
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:  

Última revisión de 12:53 25 nov 2009

Important.png 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:

  • driver Intel en todas las placas (desde 1.9.91),
  • Driver NV en placas G80 (desde 2.0.95),
  • El driver ATI en placas r200/r300/r400/r500/r600 (desde 6.7.191) donde RandR 1.2 reemplaza MergedFB,
  • El driver MGA en todas las placas (since 1.9.99)
  • El RadeonHD en placas r500/r600 (since 1.1)

Otros drivers aun utilizan el los modos antiguos de configuración.

Contenido

[editar] Habilitar/deshabilitar/mover/cambiar tamaño de múltiples salidas

[editar] Básicos

Úna vez tengamos el fichero de configuración (xorg.conf) actualizado (o una instalació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 modo marcado con un asterisco es el modo preferido. La mayoría de monitores reportan el modo preferido al driver, y el servidor/driver generalmente escogerá éste por defecto.

[editar] Convenciones de nombres de salidas

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:

  • Los drivers de Intel usan LVDS, VGA, TMDS-1 (TMDS-2, ...), TV
  • Los drivers de ATI usan LVDS, VGA-0 (VGA-1, ...), DVI-0 (DVI-1, ...), S-video
  • El driver RadeonHD usa PANEL, VGA_1 (VGA_2, ...), DVI-D_1 (DVI-D_2, ...), TV_SVIDEO
  • El driver NV usa LVDS, VGA0 (VGA1, ...), DVI0 (DVI1, ...), ???
  • El driver MGA usa ???, VGA (or VGA1, VGA2, ...), DVI (or DVI1, DVI2, ...), ???
  • El driver Nouveau usa ???, Analog-0 (Analog-1, ...), Digital-0 (Digital-1, ...), ???

Cuando se manipulen propiedades de salidas VGA-0 como arriba, se deberá usar:

xrandr --output VGA-0 <options>

[editar] Añadir/eliminar monitores/pantallas dinámicamente

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.

[editar] Cambiar el modo

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

[editar] Colocar salidas en una pantalla virtual

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.

[editar] Añadir nuevos modos

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.

[editar] Configuración basada en xorg.conf

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.

[editar] Configuración por salida

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.

[editar] Colocar salidas

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

[editar] Cambiar DPI y DisplaySize

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

[editar] Forzar salidas off u on

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.

[editar] Forzar modo preferido

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

[editar] Ejemplo de configuración

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

[editar] Solucionar problemas

[editar] Peculiaridades de monitores

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.

[editar] Configuración remota de RandR

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.

[editar] Propiedades específicas de salida

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.


[editar] Fuentes

Herramientas personales