Obteniendo una mejor resolución en modo consola (controladores nVidia)

Obteniendo una mejor resolución en modo consola (controladores nVidia)

Hace algún tiempo, mientras intentaba actualizar mi sistema de escritorio de Ubuntu 18.10 a 19.04, algo falló y terminé con un entorno gráfico que no funcionaba.

Esto me obligó a usar la consola (Ctrl+Alt+F3), que funcionaba bien. En realidad, estaba funcionando muy bien. La pantalla estaba completamente utilizada, las fuentes eran nítidas y, aunque eran pequeñas, simplemente por encajar perfectamente con la resolución del monitor, eran muy legibles. Terminé teniendo un espacio de trabajo muy grande. En asociación con tmux, era un entorno de desarrollo perfecto.

Me sentí tan bien con esta nueva configuración que descuidé la reparación del entorno gráfico durante algunas semanas. Sin embargo, una cosa que falta mucho en el modo texto es Firefox, y hay muchas cosas que puedo hacer sin tener que acceder a él. Entonces solucioné el problema, que aparentemente estaba relacionado con los controladores de gráficos nVidia. Simplemente desinstalarlo y reinstalarlo lo solucionó. Y ahora el entorno gráfico funciona perfectamente.

Entonces, ya no "necesito" exactamente el modo de consola, pero como me gustó, quise usarlo nuevamente y, para mi consternación, la resolución estaba configurada en 1024x768 por defecto. Las fuentes crips desaparecieron, el texto ahora es de gran tamaño y borroso, lo que reduce el ambiente de trabajo y ofrece una experiencia de lectura desagradable.

Entonces, subí a buscar alguna solución. Y sucede que esta pregunta se hace con bastante frecuencia. Encontré muchas variantes de la misma respuesta y todas apuntan a grub.

Ahora, esto es extraño, porque en el escenario anterior, la resolución de la consola se cambió pero grubno se modificó en lo más mínimo. Entonces huele a pescado. Aún así lo probé de mala gana. Una buena variante de la grubsolución puede serleer aquí. Así que lo apliqué usando la resolución de mi monitor, pero no funcionó. La resolución sigue siendo baja y borrosa.

Profundizando, encuentro algunos consejos sobre cómo seleccionar un modo de video, comenzando por enumerarlos vbeinfousando grub. No funciona. Más tarde veo una nota para usar videoinfoen su lugar. Éste funciona, pero sólo enumera modos de "baja resolución", de 640 a 1280, en formato 4x3.

Finalmente,otra respuestasugiere usar hwinfo, que está disponible en modo usuario. Éste enumera más modos, pero aún no el de mi monitor.

sudo hwinfo --framebuffer 
02: None 00.0: 11001 VESA Framebuffer                           
  [Created at bios.459]
  Unique ID: xxxx
  Hardware Class: framebuffer
  Model: "NVIDIA GPU Board"
  Vendor: "NVIDIA Corporation"
  Device: "GPU Board"
  SubVendor: "NVIDIA"
  SubDevice: 
  Revision: "Chip Rev"
  Memory Size: 16 MB
  Memory Range: 0x01000000-0x01ffffff (rw)
  Mode 0x0301: 640x480 (+640), 8 bits
  Mode 0x0303: 800x600 (+1024), 8 bits
  Mode 0x0305: 1024x768 (+1024), 8 bits
  Mode 0x0307: 1280x1024 (+1280), 8 bits
  Mode 0x0311: 640x480 (+1280), 16 bits
  Mode 0x0312: 640x480 (+2560), 24 bits
  Mode 0x0314: 800x600 (+2048), 16 bits
  Mode 0x0315: 800x600 (+4096), 24 bits
  Mode 0x0317: 1024x768 (+2048), 16 bits
  Mode 0x0318: 1024x768 (+4096), 24 bits
  Mode 0x031a: 1280x1024 (+2560), 16 bits
  Mode 0x031b: 1280x1024 (+5120), 24 bits
  Mode 0x0345: 1600x1200 (+1664), 8 bits
  Mode 0x0346: 1600x1200 (+3328), 16 bits
  Mode 0x034a: 1600x1200 (+6656), 24 bits
  Mode 0x0371: 1360x768 (+6144), 24 bits
  Mode 0x0377: 1920x1080 (+7680), 24 bits
  Config Status: cfg=new, avail=yes, need=no, active=unknown

Mi monitor ofrece una resolución nativa de 1680x1050, formato 16:10. No está presente en esta lista. Esto parece sugerir que la tarjeta gráfica no es capaz de soportarlo.

Sin embargo, funciona perfectamente bien en modo gráfico. Y lo que es aún más extraño es que el Modo Consola a 1680x1050 solía funcionar perfectamente mientras el controlador gráfico estaba en mal estado. De alguna manera, arreglar el controlador gráfico empeoró la situación para el modo consola.

¿Hay algo que se pueda intentar además de las acciones descritas anteriormente?

editar: Probé suerte con rEFInd, que ofrece una experiencia de configuración más sensata a través de refind.conf. Supongo que también significa que el grub2truco ya no es válido. De todos modos, la configuración resolution 1680 1050no funciona y el arranque inmediatamente se queja, restringiendo la elección a 640x480, 800x600, 1024x768, 1280x1024. Así que supongo que rEFIndestoy obligado a seleccionar uno entre ellos, probablemente debido a las limitaciones en lo que admite nVidia VGA Bios.

Sin embargo, me parece extraño que la consola se vea obligada a simplemente "heredar" la misma resolución que el gestor de arranque. Y todavía no explica por qué una consola a 1680x1050 funcionaba bien antes de arreglar el controlador de gráficos.

editar 2: modificar la resolución de grubto 1280x1024, que es una de las resoluciones permitidas por videoinfo, logra modificar la resolución de Ubuntu tty a la misma 1280x1024. Por fin, algo de impacto. Aumenta el espacio de trabajo con respecto al valor predeterminado 1024x768, pero las fuentes son aún menos legibles... Aún no hay explicación de por qué el uso de tty 1680x1050funcionaba bien mientras los controladores de nvidia estaban en ruinas.

editar 3: Ahora sospecho que, aunque mi entorno gráfico no funcionaba, el controlador gráfico probablemente lo proporcionó nouveau. Lamentablemente era incompatible con mi tarjeta gráfica porque era demasiado nueva (es una RTX2080). Pero de alguna manera, nouveautiene una implementación de framebuffer funcional que hace posible tener una consola de alta resolución, algo que extrañamente falta en los controladores oficiales de nVidia...

editar 4: Según lo solicitado por @Naoyuki Tai, pero ejecutado a través de una sesión remota SSH:

sudo fbset -i

mode "1024x768-76"
    # D: 78.653 MHz, H: 59.949 kHz, V: 75.694 Hz
    geometry 1024 768 1024 768 32
    timings 12714 128 32 16 4 128 4
    rgba 8/16,8/8,8/0,8/24
endmode

Frame buffer device information:
    Name        : EFI VGA
    Address     : 0x53000000
    Size        : 3145728
    Type        : PACKED PIXELS
    Visual      : TRUECOLOR
    XPanStep    : 0
    YPanStep    : 0
    YWrapStep   : 0
    LineLength  : 4096
    Accelerator : No

información relacionada