"Después del juego es antes del juego"
Sepp Herberger

miércoles, 28 de octubre de 2015

Clonar pantalla y cañón de vídeo en el inicio de sesión.

Las tarjetas VGA son bastante rebeldes, cuando tienen dos salidas (típicamente una VGA D-sub 15 y una HDMI) a las que conectamos un monitor y un cañón de vídeo el comportamiento es bastante errático en función de la tarjeta de vídeo y los drivers usados: unas veces aparecen clonadas, otras veces como escritorio extendido y, por último, algunas veces aparece apagada una de ellas.

Como normalmente nuestra intención es que ambas aparezcan clonadas (ya que es lo que desea el usuario el 99% de las veces) lo mejor es poner un script que nos las clone usando el comando "xrandr". Luego, el propio usuario puede cambiar esa configuración por si mismo usando el programa "arandr".

En mi caso tengo un PC con 2 salidas de vídeo: VGA-0 (que va al monitor) y DVI-I-0 (que va al cañón de vídeo). El nombre de cada salida se conoce ejecutando "xrandr" sin parámetros, tal como conté aquí.

El comando que debemos ejecutar es:
xrandr --output VGA-0 --rate 60 --mode 1024x768 --output DVI-I-0 --mode 1024x768 --same-as VGA-0
En el que se fuerza una resolución de 1024x768 en ambas pantallas y hago que DVI-I-0 se clone de VGA-0. El monitor es realmente de 16:9, mientras que el cañón es de 4:3, por lo que la resolución de 1024x768 en el monitor queda un poco deforme, pero si queremos tener lo mismo es lo que hay. Se podría jugar con los parámetros "panning" y "scale" de xrandr para intentar conciliar 2 resoluciones distintas en el clonado, pero al final queda como el discurso de C's: totalmente amorfo por querer mezclar 2 agua y aceite, así que no he seguido por ese camino.

Para que esto se ejecute automáticamente en el arranque del sistema hay que poner el comando en algún script de inicio. En mi caso, como uso gdm3 para iniciar sesión lo añado al final de "/etc/gdm3/PreSession/Default", que es un script que se ejecuta justo antes de que el usuario inicie sesión en la máquina. De esta manera garantizo que cada vez que se haga login se configuren ambas pantallas como clonadas, independientemente de que alguien lo haya cambiado durante la sesión anterior.

No hay comentarios:

Publicar un comentario