How to make text legible in virtual console on HiDPI displays?

How to make text legible in virtual console on HiDPI/hi-res/4K/8K displays?
By virtual console, I mean tty1, than one one can switch to with Ctrl+Alt+F1.
On my 15’’ 4K screen laptop, it has incredibly small font, barely legible.
What are my options, something ideally not requiring restart.

Possible solutions:

  1. Change font size.
    Change font size with setfontCLI tool. But you have to provide font name and have such big font; like ter-v32b from non-default package terminus-bitmap-fonts as described in this thread. That is rather fiddly.

  2. Change screen resolution
    Change screen/framebuffer resolution should be simpler than fiddling with fonts. But how? Several articles recommend fbset, but that was discontinued long time ago and not available for openSuse. What replaced fbset?

  3. Change resolution in Grub.
    That requires restart, knowledge of the correct parameter and correct supported resolution. Not exactly user friendly.
    At least Grub booting GUI seems to set itself to some larger resolution so it is legible.

Ideally, the virtual consoles should be scaled automatically to an optimal resolution based on screen DPI, to be always usable out of the box. If that fails, there should be a reliable keyboard shortcut to change resolution or scale fonts. Something like Ctrl +/- in Konsole. Or at lest always setting resolution to basic SVGA resolution. It would look horrible but at least the console would be usable.

Background:
Recently, after an update, I ended up with broken system without any GUI shell.
See: After updating Slowroll today I cannot start Xorg or Wayland - suspected culprit kernel Lockdown
and I could not roll back with snapper. I had to fix it using this virtual console with this miniscule sized text. System with only CLI interface is tricky enough; especially also without internet. System with only CLI interface which you cannot even read - that a torture.

On 3840x2160 screen, for imminent boot only, include video=1600x900, video=1920x1080, video=2048x1152, or video=2560x1440 on Grub’s linu line after striking E key. For lasting inclusion, add same to GRUB_CMDLINE_LINUX_DEFAULT= line in /etc/default grub, then regenerate /boot/grub2/grub.cfg. Alternatively, add it using yast bootloader.

In my post, one of the links is incorrect:

Change font size with setfontCLI tool. But you have to provide font name and
have such big font; like ter-v32b from non-default package terminus-bitmap-fonts
as described in this thread . That is rather fiddly.

The correct link to the interesting post is: Text mode console font size

Unfortunately, that didn’t work.
Added “video=1600x900” to the linux line of the config, in the Grub editor:


Pressed F10. System booted normally but resolution was not applied. The font in the virtual console is still super tiny.

Is this a Macbook? Your display might not support 1600x900. Try 1920x1080. If that doesn’t work, try 1920x1200. If you open display in Plasma systemsettings you should see a list of resolutions your display claims to support.

My laptop, Dell XPS, definitively supports 1600x900. I tested it in X11 (KDE Plasma). I can switch to that resolution and I tested it before editing Grub; and also just now.
It is listen in supported modes in xrandr:

dell-xps-3:/home/espinosa # xrandr | grep 1600x900
   1600x900      59.99    59.94    59.95    59.82 

Try replacing nosimplefb=1 with video=1600x900 or video=1920x1080 instead of just adding. If that doesn’t help, try adding plymouth.enable=0 or noplymouth too. All my PCs support video=. None have plymouth installed. None of mine use nosimplefb=1 either. I have no XPS laptops.

Thanks, I’ll try that.

BTW, using different approach, setting larger font and setting it permanently also didn’t work. I opened a separate thread for it:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.