Linux tty console extreme high resolution with NVIDIA drive (small fonts)

Hi there,

I have a lenovo thinkpad laptop. The monitor has a native resolution that is too high, and the tty console fonts are too small (unreadable). This is a Debian system.

I have grub settings to make the initial display show nicer, adding to /etc/default/grub something similar to this:
GRUB_GFXMODE=1024x768
GRUB_GFXPAYLOAD_LINUX=keep

The initial kernel loading shows nicely as well until systemd starts booting stuff.

I suspect that when systemd executes modprobe and loads the nvidia module, the settings made by grub go away and the default nvidia module driver resolution is set.
I’ve suspected in the past about plymouth. I’ve playing with stuff like DeviceScaling to no avail. The plymouth theme in use is the default one in Debian which just shows all systemd service being started. I’ve also tried reconfiguring the console-font package: already using the biggest font to no avail.

Other thing I’ve experimented with is disabling kernel modeset (in the kernel cmdline), but that makes everything show very weirdly (low resolution, extremely high fonts, the opposite). Same for kernel vga setting in the cmdline. It just doesn’t work as expected.

In case you are curious, the default resolution keeps being high until lightdm starts. At that point, I have this:

cat /etc/lightdm/lightdm.conf 
[LightDM]

[Seat:*]
greeter-hide-users=false
display-setup-script=sh -c "xrandr -s 1920x1080 && xrandr --setprovideroutputsource NVIDIA-G0 modesetting && xrandr --auto"

This makes the lightdm greeter adjust the resolution and I can use the laptop normally from there on.
Obviously, the lightdm display setup resolution doesn’t affect the tty console resolution, which still shows tiny fonts.

Summary of things I’ve tried:

  • grub GXFMODE
  • console-font reconfigure
  • lightdm display setup, etc
  • plymouth config, theme, DeviceScale, etc
  • kernel cmdline disable modeset, set vga mode, etc

I guess what I’m looking for at this point is way to change the display default resolution at nvidia module load time.

BTW I have 2 different lenovo thinkpad laptops with the exact same problem. Find attached a txt file with the contents/results of:

  • /etc/modprobe.d/nvidia.conf
  • lsmod | grep nvidia
  • lspci -v
  • hwinfo --gfxcard
  • hwinfo --framebuffer
  • xrandr --listproviders

NOTE: also, lightdm is unable to activate the display after a greeter after suspend/laptop lid open. But that’s worth another topic I guess.

nvidia.txt (10.8 KB)

I was finally able to increase font size, following the information from this link: How can I double the tty font size on a 3840x2160 monitor? - Ask Ubuntu

Specifically:

  • install the xfonts-terminus package
  • have this file /etc/default/console-setup
    === 8< ===
    ACTIVE_CONSOLES=“/dev/tty[1-6]”
    CHARMAP=“ISO-8859-15”
    CODESET=“guess”
    FONTFACE=“Terminus”
    FONTSIZE=“16x32”
    VIDEOMODE=
    === 8< ===
  • run setupcon from a tty, or wait for next boot