jueves, 12 de abril de 2012

Añadir resoluciones de pantalla

A veces puede ocurrir que no encuentras, entre las opciones de resolución de pantalla que te ofrece tu distro, la resolución que te interesa.

Vamos a ver cómo puedes intentar añadirla. Para eso usaremos un comando que se llama 'xrandr'. El método es sencillo, pero vamos a ver con calma los pasos que hay que dar.
Y vamos a verlo con un ejemplo: suponte que quieres añadir la resolución 1024x768, que no te aparece en las opciones de Pantalla.

Bien, pues abres una consola, y sigue los siguiente pasos:
    1- Asegúrate de cómo es el modo elegido (1024x768), con el comando 'cvt'. Así que escribe, en la consola
    # cvt 1024 768 
    (como ves, estamos en una consola de 'root'). Te saldrá una linea de info con las resoluciones, las tasas de refresco... Algo asi:
    1024×768 59.92 Hz (CVT 0.79M3) hsync: 47.82 kHz; pclk: 63.50 Mhz
    Modeline1024x768_60.00” 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync


    2- Seleccionas lo que pone detrás de Modeline y dale a Copiar. Entonces escribes el comando siguiente y pegas lo copiado al final 
    # xrandr --newmode [LO QUE PONE DESPUES DE MODELINE EN LA SALIDA DE CVT] 
    En el ejemplo de arriba, quedaría así: 
    # xrandr --newmode 1024x768_60.00 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync

    3- Ahora necesitas asociar esta resolución a una de las pantallas que tengas (por si tienes varias, por ejemplo el monitor y la tele, por HDMI). Para saber cómo se llama cada pantalla escribes
    # xrandr -q
    Entonces te saldrán la lista de las "salidas de video" y los modos soportados. Toma nota del nombre de la pantalla (por ejemplo, podría ser 'VGA0'). 

    Y terminamos: para asociar el nuevo modo (en que sale arriba, entre comillas, y que te lo he puesto en negrita) a la salida (pantalla) elegida, basta escribir
    # xrandr --addmode [NOMBRE DE PANTALLA] [MODO AÑADIDO]
    Siguiendo el ejemplo, pondríamos: 
    # xrandr --addmode VGA0 1024x768_60.00

    y listo... ¡Ya puedes elegir esa resolución!

    10 comentarios:

    1. Tras intentar chorrocientasmil cosas, problemas con el controlador, el XORG y la madre que los fundo, este método tan sencillo y majo me ha solucionado el problema y puedo gozar de mi pantallote 1366 x768... os debo un trago

      ResponderEliminar
    2. pues me alegra que te haya servido.
      Y vale, me lo apunto... (lo del trago) :) :) ;)

      ResponderEliminar
    3. Y como descargo el xrandr?

      ResponderEliminar
    4. hombre, el xrandr no se descarga, es un comando que tendrás en tu sistema. Escríbelo, en una consola, da al enter, y a ver qué te sale.
      (y desde luego, si fuese una aplicación, yo no me la 'descargaría' (vete tu a saber de donde) sino que vería, primero, que estuviese en los repositorios oficiales, para instalarla desde ahí)

      ResponderEliminar
    5. Muchísimas gracias, llevaba tiempo buscando un remedio para mi problema y tu tutorial ha sido la solución : D

      ResponderEliminar
    6. Muchas gracias por la info, tengo una consulta en el ultimo paso me bota este error:
      X Error of failed request: BadMatch (invalid parameter attributes)
      Major opcode of failed request: 140 (RANDR)
      Minor opcode of failed request: 18 (RRAddOutputMode)
      Serial number of failed request: 23
      Current serial number in output stream: 24

      mi pantalla soporta la resolución de 1360x768, y es la que estoy intentado agregar:
      1360x768_60.00
      Por cierto uso el controlador nvidia-304xx, y solo me permite usar resolución de 640x480 tampoco me permite agregar la 1024x768 ¿por que sera ?, muchas gracias.

      ResponderEliminar
    7. a mi tampoco me deja añadir nuevas resoluciones

      ResponderEliminar
    8. Hola

      Puede ser que no deje añadir nuevas resoluciones por que las frecuencias HorizSync y VertRefresh del Monitor no son correctas y son también demasiado pequeñas, lo que impide que se reconozcan todos las resoluciones de la Tarjeta Gráfica. Por defecto al crear el xorg.conf pone unas frecuencia muy bajas. Yo me volví loco hasta que di con ello :-D

      /etc/X11/xorg.conf

      Section "Monitor"
      Identifier "Monitor0"
      VendorName "Benq"
      ModelName "BL702"
      HorizSync 30.0 - 84.0
      VertRefresh 56.0 - 77.0
      Option "DPMS"
      EndSection

      más info en:
      http://www.blackmoreops.com/2014/08/29/fix-linux-display-issue-find-horizsync-vertrefresh-rates/

      ResponderEliminar
    9. más ejemplos :-D añadiendo los modos de resolución.

      Section "Monitor"
      Identifier "Monitor0"
      VendorName "Unknown"
      ModelName "Unknown"
      HorizSync 30.0 - 80.0
      VertRefresh 55.0 - 75.0
      DisplaySize 400 225
      Modeline "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync
      Option "DPMS"
      EndSection

      Section "Device"
      Identifier "Device0"
      BusID "PCI:1:0:0"
      Driver "nvidia"
      VendorName "NVIDIA Corporation"
      EndSection

      Section "Screen"
      Identifier "Screen0"
      Device "Device0"
      Monitor "Monitor0"
      DefaultDepth 24
      SubSection "Display"
      Viewport 0 0
      Depth 24
      Modes "1920x1080_60.00"
      EndSubSection
      EndSection

      ResponderEliminar
    10. Muchas gracias, me has solucionado un problema que me llevaba loco.

      ResponderEliminar