sábado, 20 de enero de 2024

SOLUCIÓN: No aparece la mejor resolución de pantalla en Debian 12 con Wayland




Cómo cambiar a la mejor resolución de pantalla que no aparece listada en Debian 12 con Wayland

Hola amigos Linuxeros, en este post vamos a ver cómo podemos cambiar la resolución de pantalla en Debian 12 con Wayland, que es el servidor gráfico que usa el escritorio Gnome por defecto. Este método es útil cuando tenemos un monitor antiguo conectado por el puerto VGA y no se muestran las mejores resoluciones que puede soportar el monitor. También puede servir para otros casos en los que queramos ajustar la resolución de pantalla manualmente.


Paso 1: Verificar si el monitor es detectado

Lo primero que tenemos que hacer es verificar si el monitor es detectado por el sistema y qué resoluciones soporta. Para ello, vamos a usar el comando ls /sys/class/drm/card*, que nos va a listar los dispositivos relacionados con el Direct Rendering Manager (DRM), un subsistema del kernel de Linux que gestiona el acceso al hardware gráfico.


Así que si ejecutamos el comando:

$ ls /sys/class/drm/card*

Nos va a mostrar algo como esto:


Aquí podemos ver que tenemos una tarjeta gráfica o GPU llamada card0 (si tuviéramos mas de una tarjeta gráfica, nos mostraría card1, card2, etc...), que tiene varios conectores o puertos físicos, como DP-1HDMI-A-1 y VGA-1. Estos conectores se pueden usar para conectar monitores o pantallas. El conector que nos interesa es el VGA-1, que es el que corresponde al puerto VGA de la tarjeta gráfica. Si no lo vemos en la lista, puede ser que el monitor no esté conectado correctamente o que el sistema no lo reconozca.

Para ver las resoluciones que soporta el conector VGA-1, vamos a usar el comando cat /sys/class/drm/card0-VGA-1/modes, que nos va a mostrar el contenido de un archivo que contiene las resoluciones de pantalla disponibles para ese conector.

Al ejecutar el comando nos va a mostrar algo como en la siguiente imagen:

$ cat /sys/class/drm/card0-VGA-1/modes



Esto significa que el conector VGA-1 de la tarjeta gráfica card0 puede usar las resoluciones de 1024x768, 800x600, 848x480 o 640x480 píxeles. Sin embargo, puede ser que el monitor pueda soportar una resolución mayor, pero que el sistema no la detecte. La primera resolución 1680x1050, a mi no me aparecía, y es la resolución óptima del monitor. La captura de la imagen la he realizado con posterioridad a la resolución del problema. Para generar un modelo de resolución personalizado que no nos aparece listado, pero que sabemos que es soportada por el monitor mediante el fabricante, vamos a usar el comando cvt.

Paso 2: Generar un modelo de resolución personalizado

El comando cvt nos permite generar un modelo de resolución personalizado, especificando el ancho, el alto y la frecuencia de refresco que queremos. Por ejemplo, si queremos generar un modelo de resolución de 1680x1050 a 60 Hz, usamos el comando:

$ cvt 1680 1050 

Como veis en la siguiente imagen, no le he dado la frecuencia de refresco de entrada, pero él mismo ha calculado que la ideal sería 59.95 Hz.:


Aquí podemos ver que el comando cvt nos ha generado un modelo de resolución llamado “1680x1050_60.00”, con una serie de parámetros que definen las características de la señal de vídeo. Estos parámetros se llaman “Modeline” y se usan para configurar el modo de vídeo del monitor. Lo que nos interesa es copiar el valor del Modeline, desde las comillas hasta el final, para usarlo en el siguiente paso.

Paso 3: Modificar el archivo /etc/default/grub

El archivo /etc/default/grub es un archivo de configuración que contiene las opciones del gestor de arranque GRUB, que es el programa que nos permite elegir el sistema operativo que queremos iniciar en nuestra máquina. Para modificar este archivo, vamos a usar el editor de texto nano, que es un editor sencillo y fácil de usar. El comando para editar el archivo es:

$ sudo nano /etc/default/grub

Este comando nos va a pedir la contraseña de administrador (sudo) y luego nos va a abrir el archivo en el editor nano. En el caso de que en vuestro sistema operativo Debian no hayáis añadido a vuestro usuario en el archivo "sudoers", para que tenga privilegios root, y poder modificar el archivo. Entonces debéis cambiar al usuario root, valga la redundancia, con el comando su -:

$ su -


Os pedirá la contraseña de usuario root y veréis el cambio de prompt en el emulador de terminal:

#root@HP8200

Ahora ya no necesitáis usar sudo, ya que sois usuario root, y para modificar con el editor nano el citado archivo debéis escribir en el emulador de terminal:

# nano /etc/default/grub

Una vez dentro del archivo, buscamos la línea que dice:

GRUB_CMDLINE_LINUX_DEFAULT="quiet"

Esta línea define las opciones que se pasan al kernel de Linux cuando se inicia el sistema. Aquí es donde vamos a añadir el modelo de resolución personalizado que hemos generado con el comando cvt. Para ello, modificamos la línea y la dejamos así:

GRUB_CMDLINE_LINUX_DEFAULT="quiet video=VGA-1:1680x1050@60.00"



Aquí lo que hemos hecho es añadir la opción video=VGA-1:1680x1050@60.00 (VIGILAD, SE USA EL @ COMO SEPARADOR DE LA FRECUENCIA DE HZ), que le dice al sistema que use el modelo de resolución “1680x1050_60.00” para el conector VGA-1 de la tarjeta gráfica. De esta forma, el sistema va a usar la resolución de 1680x1050 píxeles a 60 Hz para el monitor conectado por el puerto VGA.

Para guardar los cambios en el archivo, pulsamos Ctrl+O y luego Enter. Para salir del editor, pulsamos Ctrl+X.

Paso 4: Actualizar el GRUB

Después de modificar el archivo /etc/default/grub, tenemos que actualizar el GRUB para que los cambios se apliquen. Para ello, usamos el comando:

$ sudo update-grub
O en caso de ser root:
# update-grub

Este comando nos va a generar un nuevo archivo de configuración del GRUB, basado en el archivo que hemos modificado. El comando nos va a mostrar algo como esto:


Aquí podemos ver que el comando ha encontrado la imagen del kernel de Linux, y la imagen del initrd en el disco duro. También podemos ver que el comando ha terminado con éxito.

Paso 5: Reiniciar el sistema y comprobar la resolución

El último paso es reiniciar el sistema y comprobar si la resolución de pantalla se ha cambiado correctamente. Para reiniciar el sistema, usamos el comando:

$ sudo reboot

O

# reboot

Este comando nos va a cerrar la sesión y reiniciar el sistema. Cuando el sistema se reinicie, veremos el menú del GRUB, donde podremos elegir el sistema operativo que queremos iniciar. Si todo ha ido bien, el menú del GRUB debería tener la resolución de 1680x1050 píxeles.

Después de iniciar el sistema, podemos verificar la resolución de pantalla en el menú de configuración, en el apartado de pantallas. Allí deberíamos ver que la resolución de pantalla es de 1680x1050 píxeles y que está disponible en la lista de resoluciones.

Conclusión

En este post hemos visto cómo cambiar la resolución de pantalla en Debian 12 con Wayland, usando el comando cvt para generar un modelo de resolución personalizado, el comando nano para modificar el archivo /etc/default/grub y el comando update-grub para actualizar el GRUB. Con estos pasos, hemos logrado ajustar la resolución de pantalla a la que mejor se adapta a nuestro monitor antiguo conectado por el puerto VGA, la cual no aparecía listada por el motivo que sea. Este método también puede servir para otros casos en los que queramos cambiar la resolución de pantalla manualmente, siempre que sepamos el nombre del conector y el modelo de resolución que queremos usar.

Espero que este post te haya sido útil y que hayas podido resolver tu problema con la resolución de pantalla. Si tienes alguna duda o sugerencia, puedes dejar un comentario en el blog. Gracias por leerme y soportarme, hasta la próxima.

No hay comentarios:

Publicar un comentario

Gracias por participar en este blog.