Cómo añadir resolución de pantalla personalizada en Ubuntu

Xrandr

Dentro de los problemas más comunes que me encontré cuando migre por primera vez a Ubuntu fue el tema de las resoluciones de pantalla y unos cuantos problemas adicionales con la detección de Hardware, les estoy hablando de hace 10 años, en ese entonces contaba con un equipo para juegos.

Para ello usaba 3 monitores y usaba los puertos de la tarjeta gráfica y adicional a ella con el puerto de la tarjeta madre, cosa que en Windows es posible más sin en cambio en Linux no lo he logrado hacer.

De todas formas no es algo que requiera por ello como muchos sabrán en Windows se emulan todas las resoluciones posibles mientras que en Linux solo las adecuadas por así decirlo por lo que cuando quería hacer pantallas espejo me topé con un gran problema, ya que al usar los puertos VGA solo me desplegaba ciertas resoluciones mientras que con DVI y HDMI otras cosa que me genero conflicto.

Para ello me encontré con Xrandr una pequeña herramienta que me ayudo a solucionar mis problemas. En este caso debemos de tener todos los monitores que vamos a ocupar o si es solo uno no tenemos problema.

En el primer paso vamos a habilitar una resolución más a nuestra configuración de monitores, primero verificamos la opción que queremos tener con nuestro monitor y nuestra tarjeta gráfica, en mi caso me interesa habilitar la resolución 1280×1024.

Ahora es importante revisar que resoluciones puede soportar nuestro monitor así como sobre qué frecuencia trabaja.

Ya investigado esto, con estos datos los obtenemos con esta sintaxis:

gtf 1280 1024 70

Esta línea de comando me arrojo algo parecido a lo siguiente:

# 1280×1024 @ 70.00 Hz (GTF) hsync: 63.00 kHz; pclk: 96.77 MHz
Modeline “1280x1024_70.00” 96.77 1152 1224 1344 1536 864 865 868 900 -HSync +Vsync

Lo que a nosotros nos interesa es lo siguiente:

96.77 1152 1224 1344 1536 864 865 868 900 -HSync +Vsync

Antes de ello solo debemos ejecutar en terminal lo siguiente:

Xrandr

Donde nos arrojara información sobre nuestros monitores, aquí los identificaremos, en mi caso cuento con VGA-0 DVI-1 y HDMI-1

Luego de obtener los datos para agregar a los modos de pantalla procedemos a agregar estos modos de la siguiente forma, añadiendo lo que nos arrojó el comando anterior:

xrandr --newmode “1280x1024_70.00″ 96.77 1152 1224 1344 1536 864 865
868 900 -HSync +Vsync

Luego de ejecutar esta línea anterior, la cual agrego el nuevo modo de resolución de nuestra Pantalla, ejecutamos la siguiente línea de comando, agregare la resolución a los monitores HDMI y DVI:

xrandr --addmode DVI-1 1280x1024_70.00

xrandr --addmode HDMI-1 1280x1024_70.00

Y finalmente procedemos a habilitar las resoluciones

xrandr --output DVI-1 --mode 1280x1024_70.0

xrandr --output HDMI-1 --mode 1280x1024_70.0

Ya con esta última línea de comando tenemos habilitado el modo de resolución que queremos en nuestro Ubuntu y podemos escogerlo desde Sistema > Preferencias > Monitores o bien podemos habilitarlo simplemente ejecutando esta línea de comando (en mi caso):

xrandr -s 1280x1024_70.0

Por ultimo solo les puedo comentar que este proceso solo es válido durante nuestra sesión que tenemos por lo que al reiniciar el sistema los cambios aplicados no se guardan, para solucionar este problema podemos crear un script que se ejecute al inicio.

O podemos hacer uso  de lo siguiente, abrimos el siguiente archivo y editamos:

sudo gedit /etc/gdm/Init/Default 

Buscaremos las siguientes líneas:

PATH=/usr/bin:$PATH
OLD_IFS=$IFS 

Y justo debajo de ellas, en mi caso añado lo siguiente:

xrandr --newmode “1280x1024_70.00″ 96.77 1152 1224 1344 1536 864 865
868 900 -HSync +Vsync

xrandr --addmode DVI-1 1280x1024_70.00

xrandr --addmode HDMI-1 1280x1024_70.00

xrandr --output DVI-1 --mode 1280x1024_70.0

xrandr --output HDMI-1 --mode 1280x1024_70.0

Otro es crear un bash que ejecute los mismos comandos, pero en mi caso me quedo con lo anterior.

#!/bin/bash
# setting up new mode
xrandr --newmode “1280x1024_70.00″ 96.77 1152 1224 1344 1536 864 865
868 900 -HSync +Vsync
xrandr --addmode DVI-1 1280x1024_70.00
xrandr --addmode HDMI-1 1280x1024_70.00
xrandr --output DVI-1 --mode 1280x1024_70.0
xrandr --output HDMI-1 --mode 1280x1024_70.0
##sleep 1s
##done

No soy un experto creando bash, pero sería algo así, si alguien quiera apoyar a perfeccionarlo se le agradecería.

Dentro de lo que cabe sigue siendo para mí una solución que al paso del tiempo no ha dejado de ser efectiva, si conoces algún otro método o aplicación no dudes en compartirlo ya que te estaré muy agradecido.


8 comentarios, deja el tuyo

Deja tu comentario

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

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   Daniel dijo

    Muy interesante, voy a tener presente tu artículo. Saludos.

  2.   Jose dijo

    He seguido tus instrucciones, pero en Ubuntu 16.04 no existe el directorio /etc/gdm
    No se dónde poner el script para que inicie sin error.

  3.   consulto dijo

    Muchas gracias por el tutorial!!

    Por si puede ayudar a alguien….en mi caso para dejar el cambio permamente con ubuntu 18.04 he tenido que crear archivo .xprofile en home/user y añadir la config de la siguiente manera

    sudo gedit /home/equipo/.xprofile

    y dentro del archivo lo siguiente, en mi caso con la resolucion que queria

    xrandr –newmode «1680x1050_60.00» 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
    xrandr –addmode VGA-1 1680x1050_60.00
    xrandr –output VGA-1 –mode 1680x1050_60.00

  4.   FAM3RX dijo

    Hermano, me pareció muy bueno tu articulo, me sirvió de mucho, muchas gracias Brother!
    Ocupe el primer método, en una resolución de 1440×900, y valla que funciono.

  5.   ricardo bascuñan dijo

    #!/bin/bash

    ## Used mode:
    # Name scipt file modeline
    # ./modeline.sh «3840 2160 60″ DP-1
    # 3840 2160 is the resolution
    # 60 is hz
    # DP-1 is the output port

    modeline=»$(gtf $1 | sed -n 3p | sed ‘s/^.\{11\}//’)»
    echo $modeline
    xrandr –newmode $modeline
    mode=»$(gtf $1 | sed -n 3p | cut -c 12- | cut -d ‘»‘ -f2)»
    xrandr –addmode $2 \»$mode\»
    xrandr –output $2 –mode \»$mode\»

  6.   Yago dijo

    Hola! Y si quiero añadir esa nueva resolucion a mi monitor VGA? solamente los hiciste para el DVI y HDMI! Porfavor!

    1.    David Naranjo dijo

      Solo sustituyes el comando que pongo por el nombre que tiene el tuyo, VGA-1, VGA-0, VGA-2, etc. Desde que ejecutas gtf te muestra que nombre tienen tus monitores.

  7.   Gátomo dijo

    Muy bueno tu artículo pero llevo todo el pvto día para cambiar la resolución. La resolución no se guarda, hasta allí bien, pero ninguna de las dos opciones que diste para q se guarde funciona. Linux es muy bueno, pero estos detalles hacen que la gente vuelva a windows sin pensarlo