How change tty fonts

Hi

Due to my vision problems, I often change the font size on the tty, which I do as follows:

setfont ter-122b ; (uso terminus-font)

To set it permanently in Arch, I used to put it in /etc/vconsol.conf.

FONT=ter-122b

From what I’ve seen in Endeavour, there is a parameter that overrides it, but I can’t find it.

Can you give me some clues? This adjustment is important to me.

Thanks a lot.

Just to clarify, are you talking about TTY (Ctrl + Alt + F1-F6), or a terminal emulator, like Konsole (KDE) or Gnome Terminal, etc?

If it’s the former, I actually don’t know. But the latter have configuration options for adjusting font and font-size.

I was referring to TTYs; I have no problems with emulators.

1 Like

@QuijoteLibre
Have a look at archlinux-larger-font-console
cat /etc/vconsole.conf

FONT=ter-p32b
FONT_MAP=8859-2
KEYMAP=hu

Looks more readable.

Here’s what I have:

File: /etc/vconsole.conf
KEYMAP=es
FONT=ter-p28b

From what I can see in the startup logs, as displayed on the screen, it seems to work fine at first, but at some point that I can’t detect, it loses it.

From what I’ve read, it seems that this value is overwritten by some kernel parameter that I can’t locate.

On Arch Wiki:

Another builtin font can be forced upon by kernel parameters boot parameter setting such as `fbcon=font:TER16x32

That’s the part I’m not sure about, and it makes me panic to touch it. :roll_eyes:

@QuijoteLibre ,
I must admit that I tested with a zen kernel in garuda. Now I’ve
reinstalled EnOS Plasma and it seems that after any change of
/etc/vconsole.conf

FONT=ter-p32b.psf.gz
FONT_MAP=8859-2
KEYMAP=hu

a new initramfs needs to be generated by command
sudo dracut -H --force
the more knowledgeable guys will tell you the optimal command line but it didn’t
ruin my test system. On the contrary EnOS Plasma works for me.

Edit:
sudo dracut-rebuild
may be enough.

I’ve just given up on this.

My conclusions:

  • From what I can see at startup, it seems to boot fine (until it asks me for the LUKS key, the fonts appear enlarged).
  • At some point later (it seems to be when KMS starts up), the font returns to normal resolution.
  • I don’t understand why, if it always worked for me in Arch, EndeavourOS doesn’t take the vconsole value. I guess there’s something in the modified kernel load, but I can’t figure it out.

In these cases, I miss dpkg-reconfigure :wink:.

Make some tests in a test system. Garuda Mokka on btrfs provides snapshots
out of the box. EnOS as well if you are on btrfs. LUKS should also work, I tested
it years ago.

1 Like

Hi.

Maybe this advice from Archwiki is relevant:

If the fonts appear to not change on boot, or change only temporarily, it is most likely that they got reset when graphics driver was initialized and console was switched to framebuffer. By default, all in-tree kernel drivers are loaded early, NVIDIA users should see NVIDIA#Early loading to load their graphics driver before /etc/vconsole.conf is applied.

1 Like

Thanks, lI’ll take a look, but I don’t use NVIDIA.

Thank you for the guidance.

I have taken a further step, reading what you have quoted to me on this page.

Execute systemctl restart systemd-vconsole-setup.service in order to apply any manual changes made to /etc/vconsole.conf.

I am sure that the systemd-vconsole-setup service is running, and I have also checked that when I restart it, all TTYs take the configuration from /etc/vconsole.conf.

So the only step left is to see what happens at startup, because it’s obvious that loading KMS restarts that. There is something in the startup order that needs to be fine-tuned.

1 Like

Maybe you can try to load the graphics driver early with force_drivers+= dracut config. See:

I’ve tried that, but it doesn’t work.

In the end, and although I don’t quite understand it completely, which annoys me, it works perfectly for me by adding this to the options of the systemd entries in /efi/loaders/entries:

rd.driver.blacklist=simpledrm video=efifb:off fbcon=font:TER16x32

Although that works perfectly, I still have two questions:

  1. Given that these loader files are automatically generated when the kernel is updated, is there a way to keep the option line separate so that it can be loaded with any loader?
  2. If not, how can I ensure that the same options are used when updating a kernel?

I think the answer can be found here:

See also:

1 Like

You put the options in /etc/kernel/cmdline

1 Like