You are not logged in.

#1 2025-06-11 21:50:41

Strykar
Member
Registered: 2018-02-17
Posts: 61
Website

Console font (ter-132b) render issue before TPM2 pin unlock [solved]

I'm using a font from the terminus-font (ter-132b) package and some characters appear garbled like I have the wrong encoding set - https://ibb.co/j99vV60F
It improves slightly if I dont specify any font but is still broken - https://ibb.co/RTQ0CNnc

Looks like this via OCR:

[  OK  ] Finished Creat▯c Device Nodes.
[  OK  ] Finished Checki▯g early boot.
[  OK  ] Started Displa▯ In Full Screen.
[  OK  ] Finished Creat▯ Nodes in /dev.
         Starting Rule-▯ts and Files...
[  OK  ] Started Rule-b▯ents and Files.
[  OK  ] Started Journal Service.
[  OK  ] Finished TPM P▯rier (initrd).
[  OK  ] Reached target▯rypted Volumes.
[  OK  ] Finished Coldp▯l udev Devices.
         Starting Virtu▯ Console Setup...
[  OK  ] Finished Virtu▯ Console Setup.
[  OK  ] Created slice æmd-cryptsetup.
         Starting Cryptàtup for root...
Please enter TPM2 PIN: ●●●●●●●●

Text appears fine after TPM2 pin is entered.
Here's my mkinitcpio HOOKS and kernel options:

# /etc/mkinitcpio.conf 
FILES=(/usr/share/kbd/consolefonts/ter-132b.psf.gz)
HOOKS=(base systemd autodetect microcode modconf kms consolefont keyboard sd-vconsole sd-encrypt block filesystems fsck)

$ cat /proc/cmdline
rw resume=/dev/mapper/root resume_offset=4161536 fsck.mode=force fsck.repair=yes delayacct lsm=landlock,lockdown,yama,integrity,apparmor,bpf audit=1 audit_backlog_limit=256 video=SVIDEO-1:d video=2560x1440@144 fbcon=font:TER16x32

I have used setconsolefont and the text is always broken before the TPM2 pin prompt, what am I missing here?
The machine is a Thinkpad T14s G2i laptop.

Last edited by Strykar (2025-06-26 20:24:06)

Offline

#2 2025-06-12 05:32:10

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,277

Re: Console font (ter-132b) render issue before TPM2 pin unlock [solved]

localectl
locale
locale -a
cat /etc/vconsole.conf

I doubt this is anything TPM related, but you're using the wrong locale in the initramfs (seems some 8bit like iso8859-15 ? Do you set FONT_MAP?)

Offline

#3 2025-06-12 17:29:18

Strykar
Member
Registered: 2018-02-17
Posts: 61
Website

Re: Console font (ter-132b) render issue before TPM2 pin unlock [solved]

~ localectl
System Locale: LANG=en_US.UTF-8
    VC Keymap: us
   X11 Layout: (unset)

~ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

~ locale -a
C
C.utf8
en_US.utf8
POSIX

~ cat /etc/vconsole.conf
FONT=eurlatgr
KEYMAP=us

Seems this is by design - https://github.com/systemd/systemd/issu … 2058979928
And the devs suggest using the eurlatgr font - https://github.com/systemd/systemd/issu … -319141028

Removing fbcon=font:TER16x32 from kernel options and setting vconsole font to eurlatgr fixes the garbled text issue, too bad the font is tiny on large screens.
The wiki said fonts ending with .psfu or .psfu.gz have a Unicode translation map built-in so I did not add a map.

Last edited by Strykar (2025-06-12 17:59:56)

Offline

#4 2025-06-12 20:25:32

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,277

Re: Console font (ter-132b) render issue before TPM2 pin unlock [solved]

According to the bug this only affects VGA consoles ("nomodeset") and

lennart wrote:

Just set SYSTEMD_UTF8=0 on the kernel cmdline, that should turn off systemd's unicode output.

but that doesn't fit your kernel commandline?

Offline

#5 2025-06-26 20:23:40

Strykar
Member
Registered: 2018-02-17
Posts: 61
Website

Re: Console font (ter-132b) render issue before TPM2 pin unlock [solved]

seth wrote:

According to the bug this only affects VGA consoles ("nomodeset") and

lennart wrote:

Just set SYSTEMD_UTF8=0 on the kernel cmdline, that should turn off systemd's unicode output.

but that doesn't fit your kernel commandline?

Correct, it does not, but it does "fix" it.

This is a weird issue, seems eurlatgr is not an in-kernel font.
I've worked around the issue by not forcing the suggested font (fbcon=font:TER16x32) for large displays on from the wiki and just sucking up the tiny text.
Some more info at https://gitlab.archlinux.org/archlinux/ … issues/144

Offline

Board footer

Powered by FluxBB