Dos monitores (dual-head) con xrandr en Linux

Hola gente de T!

Bueno hace poco tuve que hacer un parecido de presentaciones con mi notebook, tenia que conectarle a la salida del VGA un monitor para hacer un parecido de demostraciones, el problema fue que en Fluxbox no hay nada diseño para hacer esto y como mi placa de video es una intel lo tuve que hacer desde linea de comandos.

Bueno gente no doy mas vueltas y les dejo esto que me sirvió mucho, esta probado en Slackware 13.37 y funciona muy bien. Es un solitario copy-paste ya que se explica bien y no lo quise asolar al pedo.

Este manual trata algunas prestaciones interesantes que ofrece el driver intel (para tarjetas nuevas) por medio de la provecho
dijo:xrandr
[/quote]

Lo realmente interesante es que puedes activar y desactivar la salida externa y cambiar la informe de ambos monitores sin tener que reiniciar el servidor X.

Todo lo que cuento en esta receta sólo lo he probado con Debian en un VAIO VGN-SZ4XN utilizando la tarjeta Intel. Por supuesto, eso no excluye que pueda funcionar en otras máquinas con otras tarjetas de vídeo u otras distros GNU.

Descripción del equipo

Del autor:
Debian GNU/Linux
xrandr 1.2
xserver-xorg-video-intel 2.0.0 (también sirve xserver-xorg-video-i810)

Información

Lo primero es avistar qué tienes:
dijo: [[email protected] ~]# xrandr
Screen 0: minimum 320 × 200, current 1280 × 800, maximum 2560 × 1024
VGA disconnected (normal left inverted right)
LVDS connected 1280×800+0+0 (normal left inverted right) 0mm x 0mm
1280×800 59.9*+ 60.0
1280×768 60.0
1152×768 54.8
1024×768 85.0 75.0 70.1 60.0
832×624 74.6
800×600 85.1 72.2 75.0 60.3 56.2
640×480 85.0 72.8 75.0 59.9
720×400 85.0
640×400 85.1
640×350 85.1
TV disconnected (normal left inverted right)
[/quote]

Y si conectas un monitor a la salida VGA (sin reiniciar las X ni nada):

dijo:[[email protected] ~]# xrandr
Screen 0: minimum 320 × 200, current 1280 × 800, maximum 2560 × 1024
VGA connected (normal left inverted right)
1280×960 60.0
1280×800 60.0
1152×768 54.8
800×600 56.2
640×480 59.9
LVDS connected 1280×800+0+0 (normal left inverted right) 0mm x 0mm
1280×800 59.9*+ 60.0
1280×768 60.0
1152×768 54.8
1024×768 85.0 75.0 70.1 60.0
832×624 74.6
800×600 85.1 72.2 75.0 60.3 56.2
640×480 85.0 72.8 75.0 59.9
720×400 85.0
640×400 85.1
640×350 85.1
TV disconnected (normal left inverted right)[/quote]

Pues éstas son las resoluciones y frecuencias permitidas por el monitor del conducible (LVDS) y por el monitor externo que tengo conectado durante esta prueba (VGA).

Activando/desactivando la salida VGA

Lo siguiente hace que el monitor VGA muestre lo mismo que el LVDS, es decir, modo “clone”. Tan claro como:

dijo:[[email protected] ~]# xrandr —output VGA —mode 1280×800[/quote]

Y para desactivarla:

dijo:[[email protected] ~]# xrandr —output VGA —off[/quote]

No es necesario que los dos monitores tengan la misma resolución, puedes poner la que quieras. El tamaño del escritorio se ajusta automáticamente de modo que el monitor con mayor informe muestra un área adicional no perceptible en el monitor con menos resolución. Por ejemplo puedes hacer:

dijo:# xrandr —output LVDS —mode 1280×800 —output VGA —mode 800×600[/quote]

Escritorio extendido

También es posible decidir un escritorio conjunto para los dos monitores (en lugar de emplear “clone”). Para eso tienes que decidir una posición, bien con

dijo:pos[/quote]

o bien con simple de

dijo:–left-of[/quote]

dijo:–right-of[/quote]

dijo:–above[/quote]

dijo:–below[/quote]

Por ejemplo, suponiendo que ya tienes activada la VGA y fijada la resolución:

dijo:# xrandr —output VGA —left-of LVDS[/quote]

Aunque también lo puedes hacer todo en el mismo comando:

dijo:# xrandr —output LVDS —mode 1280×800 —output VGA —mode 1024×768 —left-of LVDS[/quote]

Puede que al intentar crear un escritorio grande te devuelva este error:

dijo:xrandr: screen cannot be larger than 2560×1024 (desired size 1280×1600)[/quote]

Esto lo puedes arreglar definiendo un área suficientemente grande para el “Screen” (la primera línea que aparece al ejecutar

dijo:xrandr[/quote]

Para eso, modifica tu fichero

dijo:/etc/X11/xorg.conf[/quote]

y añade una línea Virtual en Screen/Display, por ejemplo:

dijo:Section «Screen»
Identifier «Default Screen»
Device «Intel»
Monitor «Monitor»
DefaultDepth 24
SubSection «Display»
Depth 24
Modes «1280×800» «1024×768» «800×600» «640×480»
Virtual 2560 1600
EndSubSection
EndSection[/quote]

“La zona muerta”

En el modo de “escritorio extendido” también puedes emplear resoluciones diferentes para cada monitor, pero aquí me he encontrado con un problema. En el monitor de menor informe hay una “zona muerta” no visible, pero que pueden encerrar ventanas. Corresponde a la diferencia entre ambas resoluciones. Algo como:

dijo:+————–+————–+
| | |
| | 800×600 |
| 1024×768 | |
| +————–+
| | ZONA MUERTA
+————–+[/quote]

En otros drivers que dan una funcionalidad similar, como TwinView este problema está resuelto. Si sabes cómo solucionarlo con xrandr, por favor, deja comentario.

Activando resoluciones

A veces te encuentras con monitores o proyectores que disponen de resoluciones que por varias razones no aparecen cuando se consultan sus datos EDID. xrand no permite cambiar a resoluciones no reconocidas, pero afortunadamente se pueden añadir. Por ejemplo, el proyector Sony VPL-CS5 devuelve esto:

dijo:[[email protected] ~]# xrandr
[…]
VGA connected (normal left inverted right x axis y axis)
800×600 56.2
640×480 60.0
[…][/quote]

Pero puedes añadir el maravilloso modo 1024×768 con:

dijo:# xrandr —addmode VGA 1024×768[/quote]

y verás que:

dijo:[…]
VGA connected (normal left inverted right x axis y axis)
800×600 56.2
640×480 60.0
1024×768 85.0
[…][/quote]

Ahora puedes cambiar a ese nuevo modo sin ningún problema.

Y añadiendo

Si al tratar de hacer lo que explica la sección anterior obtienes un error:

dijo:xrandr: cannot find mode “1024×768”[/quote]

tendrás que añadir dicho modo antes de activarlo. Y para eso necesitas la informe y la descripción del “ModeLine”, que puedes obtener con aplicaciones como gft y cvt (que pertenecen al paquete xserver-xorg-core).

dijo:$ gtf 1024 768 85
# 1024×768 @ 85.00 Hz (GTF) hsync: 68.60 kHz; pclk: 94.39 MHz
Modeline “1024×768_85.00” 94.39 1024 1088 1200 1376 768 769 772 807 -HSync +Vsync[/quote]

Ahora puedes añadir y activar el modo:

dijo:# xrandr —newmode 1024×768 94.39 1024 1088 1200 1376 768 769 772 807 -HSync +Vsync

# xrandr —addmode 1024×768[/quote]

Bueno gente hasta aquí llega este copy paste, espero que les sirva como me sirvió a mi.

Sera hasta la próxima.

Fuentes de Información

Unidadlocal |

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *