HIDPI System tty fonts too small

Hello everyone–

I just got a new laptop and the resolution is 3840x2160; and while I was able to get the desktop to be usable with DPI settings and scaling, the VTTYs are all far too small to use effectively. I tried to set the font to a larger font via setfont and the package console-setup, but I still cannot seem to change the font size. Is there something I can do?

On Sun 08 May 2016 11:56:01 PM CDT, Thiudans wrote:

Hello everyone–

I just got a new laptop and the resolution is 3840x2160; and while I was
able to get the desktop to be usable with DPI settings and scaling, the
VTTYs are all far too small to use effectively. I tried to set the font
to a larger font via setfont and the package console-setup, but I still
cannot seem to change the font size. Is there something I can do?

Hi
As root user run;


hwinfo --framebuffer

This should (In theory) show Mode’s available, which should be set
via YaST bootloader, more info here:
https://en.wikipedia.org/wiki/VESA_BIOS_Extensions


Cheers Malcolm °¿° LFCS, SUSE Knowledge Partner (Linux Counter #276890)
openSUSE Leap 42.1|GNOME 3.16.2|4.1.20-11-default
If you find this post helpful and are logged into the web interface,
please show your appreciation and click on the star below… Thanks!

Thanks. The Gurb fonts are fine as I was able to adjust the resolution for the boot loader, it is the terminal fonts which are too small, e.g. when I do CTRL+ALT+F2 the font is so small I can barely read it.

Hi
AFAIK setting in grub should transpose to the tty’s… so was there any info from the framebuffer on available modes?

Yes, I set the framebuffer to 1920x1080, and Grub looks OK, including the text in the window as the kernel is being loaded. However, when Grub is done and just before X loads, the text is extreemly small. It is just as small when I switch to a text terminal or disable X and login via terminal.

FYI, KDE is fine, all I had to do is change the font DPI, icon sizes and scale the display.

Are you really referring to a TTY or a VTY?

A TTY display is configurable through GRUB, which sets the initial display driver (today is VESA) and its display properties.

A VTY (or VTTY) is a virtualized TTY, not a real, physical connection to the system… Something that is typically used for instance when connecting from a remote machine. A VTY is typically configurable through a config file and is different than the real TTY which is originally set by GRUB (and unless replaced continues to be the used configuration).

TSU

Ah, VTY. Sorry for the goof.

As part of the boot process the system obviously switches to virtual TTYs.
I.e. any user being capable to cope with a grub2 config file and also managed to find (usually by trial and error) a compatble VESA mode for grub’s vga parameter has to experience, that this has no effect on virtual consoles (i.e. font sizes will be unusable tiny on a hiDPI display).

Hence the next thing to learn is that fonts from /usr/share/consolefonts or
/usr/share/kbd/consolefonts may be applied to a VTY using setconfig (from package kbd).
Its unclear to me though, how to make this a persistent default for all virtual consoles. I also found the biggest available fonts to be still quite small.

It would be very helpful if setting sensible font sizes (depending on display DPI) for both boot process and (virtual) text console could be part of some Yast functionality.

Yes I agree that would be nice but why do you need this ?
What does it matter what is the font size when booting ? (just curious)
You can easily see the boot log with your prefered terminal after it succeds.

Grub2’s resolution is only taken over to the virtual console’s if no KMS driver is used.

To set the resolution with KMS drivers, add the “video=XXXxYYY” parameter to the kernel command line.
Though if you select a resolution in YaST->Boot Loader, it should do exactly that I think. Not sure how at the moment it is in current Tumbleweed or Leap, but upto 13.2 there are two settings in YaST, one named “VGA mode”, and the other named “console resolution”.

Adding the option manually should work in any case though.

Hence the next thing to learn is that fonts from /usr/share/consolefonts or
/usr/share/kbd/consolefonts may be applied to a VTY using setconfig (from package kbd).
Its unclear to me though, how to make this a persistent default for all virtual consoles. I also found the biggest available fonts to be still quite small.

You can set the console font in /etc/sysconfig/console (the “CONSOLE_FONT” option).
IME this doesn’t work if plymouth (the boot splash) is active though.
I have no idea whether this is “fixed” in latest Tumbleweed, so you might want to disable it with “plymouth.enable=0” in the kernel boot options (or uninstall plymouth).

The simplest solution I found was to edit /etc/default/console-setup to set
FONT=“Lat7-Terminus32x16.psf.gz”
and comment out everything else except the ACTIVE_CONSOLES line.

You can apply this immediately with setupcon, and it will be applied after rebooting as well.
Specifying a full font name works around possible font naming issues described in http://unix.stackexchange.com/questions/198791/how-do-i-permanently-change-the-console-tty-font-type-so-it-holds-after-reboot

Two methods (possibly need both):

  1. In /etc/default/grub
    set-up GRUB_GFXMODE=auto. 1. From "# hwinfo --framebuffer
    " find the hexadecimal value of the resolution you need.

Convert the Hex value to decimal and use the decimal value for ‘vga=XXX’ in the boot parameters.

The hex value should work as well, e.g. “vga=0x117”.
There’s no need to convert it to decimal.

But please note that vga only works with non-KMS drivers (e.g. nvidia).
With KMS (radeon, nouveau, intel) you need the “video=XXXxYYY” parameter as I mentioned already.

Not sure if this is the right thread.

I’m tweaking the UX305CA, 3200 x1800, 276 dpi, following advice here, KDE looks stunning

However, even with correct detection of hardware and best attempts with xrandr I cannot get the KDE login screen bigger than microscopic.

Advice gratefully received

Peculiarly, if the session times out the login display is supersized, but if I log out it returns to microscopic, so it looks like it’s a login manager issue and this is the wrong thread

The login screen is completely independent of the desktop environment and the user session.

I don’t know what you tried, but it should work for the login screen to add an appropriate xrandr command to /etc/X11/xdm/Xsetup.

This thread was about the text mode console though, so yes, you are indeed in the wrong thread… :wink:

I find this page:
https://wiki.archlinux.org/index.php/HiDPI
has most of the tweaks needed for “high resolution” laptop screens.

Sorry, I missed out the detail with regard to Linux console fonts.

I add the
terminus-bitmap-fonts package with Yast then edit
/etc/vconsole.conf


y3:~ # cat /etc/vconsole.conf
KEYMAP=uk
y3:~ # echo "FONT=ter-v32n" | cat >> /etc/vconsole.conf
y3:~ # cat /etc/vconsole.conf
KEYMAP=uk
FONT=ter-v32n
y3:~ # 

This doubles the size of the console fonts, which suits my screen.

I’m having the same problem here - 4k resolution on a 14" laptop, the console is pretty much unusable.
Problem is, if i set the console to 1920x1080 with the video= kernel parameter the openGL performance through the nvidia card drops to 5% of the regular values… so NOT a good idea.

What console font should I set? Is there a way to preview them?

Cheers
MH

I stumbled in here by incident.

Please please, this is a very, very old thread and not many people will see this. Also Tumbleweed has gone forward with many new snapshots. So much better to start a fresh thread with a good title so that many people will see it.