martes, 8 de septiembre de 2020

Solución: Cambiar la resolución de pantalla después de la actualización de drivers Nvidia 440.100 en Ubuntu 18.04


 Hola amigos del software libre.

Ya hace tiempo se actualizaron los diferentes drivers para las tarjetas gráficas Nvidia por fallas de seguridad encontradas. Pero sorpresa, para los usuarios de GNU/Linux y no para todos los tipos de monitores funcionó como se esperaba.

De hecho, en los monitores antiguos había problemas con la resolución de pantalla. Las resoluciones que aparecen por defecto no son las óptimas ni deseadas, cuando anteriormente dichos monitores funcionaban con la resolución correcta y eran perfectamente identificados por el driver Nvidia.

Yo me encontré con este problema y hasta hace poco no di con la solución. La voy a exponer por si alguien se encuentra con este dichoso problema.

Mi hardware:

- Tarjeta gráfica: MSI Geforce GTX 750ti

- Monitor 1: HP 24'' (Nuevo)

- Monitor 2: Acer X223W (Viejo)

Dicho hardware, tanto la tarjeta gráfica como el monitor Acer, funcionaban correctamente con los drivers privativos Nvidia con anterioridad a la actualización y aparición de la última versión 440.100. en la distro Ubuntu.

Si ejecutamos el programa de configuración "gnome-control-center" en Ubuntu 18.04, y nos vamos al apartado monitores, en mi caso me aparecen los dos monitores que tengo funcionando, pero el mas antiguo (Acer) no es reconocido, ni sus resoluciones que me deja elegir son las óptimas. La resolución óptima para mi monitor Acer es: 1680x1050. Os muestro una foto en la cual podéis ver una resolución que es de 1400x900 (no óptima) en la "pantalla desconocida" que es la del monitor Acer:



Desde aquí no podremos añadir ninguna resolución y las que os deja elegir no son las óptimas.

El segundo paso que intenté fué cambiar la resolución mediante el emulador de terminal con el comando "xrandr" y "cvt".

No os molestéis, tampoco funciona. Con el comando "xrandr" podréis cambiar la resolución de pantalla para los drivers no privativos para gráficas de Intel o de AMD, pero para los drivers privativos de Nvidia no podréis. Foto del error final, al intentar esta vía:


Al final encontré la solución.

Debéis tener instalados los siguientes paquetes en la distro Ubuntu 18.04: "nvidia-settings" con el gestor de paquetes "apt", escribid en el emulador de terminal:

$ sudo apt install nvidia-settings


Una vez instalados, ejecutad en el emulador de terminal:

$ nvidia-settings -q CurrentMetaMode

Y os mostrará la resolución que tengáis en vuestros monitores, en mi caso en mis dos monitores. Como en la imagen:


Cuando el driver de Nvidia detecta el monitor no hay problema, él mismo auto selecciona la resolución mas óptima, pero en el caso de mi segundo monitor no. Y me selecciona la resolución 1400x900, que es la que debo cambiar por la óptima del monitor que es: 1680x1050.

Vamos a ejecutar el programa configurador de Nvidia que tiene una interfaz gráfica:

$ nvidia-settings

Y nos aparece como en la siguiente imagen:


En el menú de la izquierda nos dirigiremos al apartado "X Server Display Configuration", en mi caso veo mis dos monitores y su resolución al elegir el deseado. En la parte inferior derecha de la ventana al lado del botón "Detect Displays", tenemos el botón "Advanced..." que tenemos que pulsar para llegar a mas opciones de configuración. Una vez pulsado este botón cambia a "Basic...", para volver a las opciones básicas. Es el que véis en la imagen anterior.

Y es aquí donde tenemos que introducir nuestra óptima resolución, en mi caso 1680x1050.

En el apartado "Position:" Dejaré la opción "Absolute" y con un desplazamiento de +1920+0, mi monitor principal tiene la resolución de 1920 en el eje de las X, por tanto justamente a continuación solaparé mi segundo monitor y en el eje de las Y lo dejaré sin desplazamiento, si le dáis un desplazamiento positivo, veréis en la representación gráfica de la pantalla en la imagen anterior, como la pantalla baja.

En el apartado "ViewPortIn:" introduciré mi resolución deseada que es 1680x1050

En el apartado "ViewPortOut:" introduciré mi resolución con ningún desplazamiento: 1680x1050+0+0

En el apartado "Panning:" introduciremos la misma resolución 1680x1050

Si ahora pulsamos el botón "Apply" se aplicarán los cambios, pero si reiniciáis la computadora se perderán.

Ahora pulsaremos el botón "Save to X Configuration File" y nos emergerá la ventana siguiente:


Donde nos quiere crear un archivo llamado "xorg.conf" en el directorio "/etc/X11/", aceptamos y nos autenticamos.

Este archivo podéis verlo cuando queráis, con:

$ cat /etc/X11/xorg.conf


Ya podéis salir del programa "nvidia-settings", pulsando el botón de salir.

Aquí tenéis vuestra resolución mas óptima establecida, pero no termina aquí el tema.

Si reiniciáis vuestra computadora veréis que no se han guardado los cambios. Y sigue la anterior resolución en el monitor. No os preocupéis.

Volved a ejecutar en el terminal el programa "nvidia-settings" y en el apartado de la izquierda "X Server Display Configuration" en la casilla "Resolution:" podréis observar como vuestra resolución os aparece conjuntamente con otras para poder elegirse sin tener que introducirlas a mano, como os muestro en la siguiente imagen.


Pulsad sobre el botón "Apply", salváis la configuración pulsando el botón "Save to X Configuration File" y pulsáis en el botón "Salir" para abandonar el programa.

Por último, para que se os guarde esta resolución en el entorno de escritorio gnome, accederéis al "gnome-control-center" y os vais al apartado "Monitores".

Si le dáis en el apartado "Resolución" de vuestra pantalla desconocida... Sorpresa!!!!


Os aparece la resolución óptima que habéis introducido a través del configurador "nvidia-settings" y otras mas que no teníais reconocidas.

Elegidla y pulsad sobre el botón verde "Aplicar", que os debe aparecer en la esquina superior derecha para aplicar los cambios.

Ahora siempre arrancaréis la computadora con esta resolución de pantalla.

Y hasta aquí llega este periplo de idas y venidas con el driver privativo Nvidia.

Espero os sirva de ayuda, hasta otro post.

Saludos.

1 comentario:

  1. Hola, tengo el mismo problema pero en mi caso (Linux Mint 21 XFCE y driver Nvidia 390.154-0ubuntu0.22.04.01) no funciona. En Windows sí puedo poner a los dos monitores la misma resolución de 1280x1024. Pero en Linux Mint lo más cercano es 1152x864 que es 4:3 en lugar de 5:4, por lo que todo lo que se presenta en el segundo monitor aparece un poco estirado como las pinturas de El Greco.

    Me encuentro con tres problemas:
    1- nvidia-settings no me permite modificar ViewPortOut, por lo que simplemente hace un reescalado (horrible) de la pantalla, con todo desenfocado.
    2- No existe /etc/X11/xorg.conf en mi sistema.
    3- El sistema es XFCE, por lo que no tengo el gestor de definiciones de Gnome.

    Por supuesto, tampoco vale usar el sistema de siempre (cvt, xrandr).

    Se te ocurre alguna solución? Has tenido el mismo problema? Muchas gracias por tu blog, aprendo mucho con él. Y nada, si encuentras una solución mis mil gracias de antemano.

    ResponderEliminar

Gracias por participar en este blog.