Xrandr
El comando xrandr simplifica la gestión de la resolución de pantalla en sistemas X11 o Wayland. Este comando permite ajustar dinámicamente la configuración de pantalla usando la extensión RandR de los protocolos X11 o Wayland.
Si queremos que el cambio sea permanente, hay que modificar el fichero xorg.conf.
Consultar las resoluciones disponibles
$ xrandr -q Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 32767 x 32767 VGA1 connected primary 1280x1024+0+0 (normal left inverted right x axis y axis) 338mm x 270mm 1280x1024 60.0*+ 75.0 1280x960 60.0 1152x864 75.0 1024x768 75.1 70.1 60.0 832x624 74.6 800x600 72.2 75.0 60.3 56.2 640x480 75.0 72.8 66.7 60.0 720x400 70.1 HDMI1 disconnected (normal left inverted right x axis y axis) VIRTUAL1 disconnected (normal left inverted right x axis y axis)
Esta opción muestra la lista de resoluciones compatibles con el monitor instalado. Si no está la resolución que necesitamos, puede que no esté el driver adecuado o que el monitor o la gráfica no la soporten.
Vemos 3 salidas: VGA1, HDMI1, VIRTUAL1
- Sólo la VGA1 está conectada y tiene una resolució de 1280x1024
- El modo marcado con * es el actual y el marcado con + es el preferido. El driver debería elegir este por defecto.
Para elaborar esa lista de resoluciones, Linux usa los datos EDID que proporciona el monitor. Con los comandos get-edid y parse-edid se puede analizar con más detalle la información que el monitor envía al ordenador.
Cambiar el modo
$ xrandr --output VGA1 --mode 1024x768
Con esto, hemos cambiado la salida VGA1 a 1024x768, observemos que es una de las disponibles en la lista anterior.
$ xrandr --output VGA1 --auto
Ahora volvemos a la configuración marcada con +, que es la elegida automáticamente.
Con este comando también podemos establecer una resolución determinada:
$ xrandr -s 1600x900
Añadir nuevas resoluciones
En ocasiones, GNU/Linux o el monitor no son capaces de comunicarse bien y no está disponible la resolución que nosotros sabemos que el monitor puede soportar. Para que funcione tenemos que crear una nueva resolución y luego forzarla.
Primero usamos el comando cvt. Este sirve para calcular parámetros necesarios para que una determinada resolución funcione bien.
$ cvt 1600 900 60 # 1600x900 59.95 Hz (CVT 1.44M9) hsync: 55.99 kHz; pclk: 118.25 MHz Modeline "1600x900_60.00" 118.25 1600 1696 1856 2112 900 903 908 934 -hsync +vsync
La segunda línea contiene todos los parámetros que hay que pasarle a xrandr para que funcione esa resolución.
Luego se ejecuta:
$ sudo xrandr --newmode "1600x900_60.00" 118.25 1600 1696 1856 2112 900 903 908 934 -hsync +vsync $ sudo xrandr --addmode VGA-0 1600x900_60.00
Para crear ese modo en xrandr para esa salida. (Puede que la salida no sea VGA-0, se puede averiguar su nombre con xrandr)
Enlaces
http://blog.desdelinux.net/xrandr-poderosa-herramienta-para-configurar-tu-monitor/
http://unix.stackexchange.com/questions/114359/how-to-get-edid-for-a-single-monitor