Re: [PATCH] vt: monochrome mode with 512 glyphs
From: Greg KH
Date: Thu Aug 21 2025 - 02:12:50 EST
On Thu, Aug 21, 2025 at 05:55:33AM +0200, Zsolt Kajtar wrote:
> In monochrome mode the lowest 2 bits of the attribute are used for the
> intensity. If a 512 glyph font is loaded the lowest attribute bit is
> used for the MSB.
>
> The result is that with normal intensity (1) the MSB of the glyph can
> be set.
>
> Due to this on my setup the erase character becomes 0x120 instead of
> 0x20. As 0x120 is allocated to U+0161 in the loaded font the erased area
> will be filled with "s" instead of spaces.
>
> To make the 512 glyph case work in monochrome mode the intensity was cut
> down to one bit (bold only) in this patch.
>
> Signed-off-by: Zsolt Kajtar <soci@xxxxxxxxxxxxx>
> ---
> drivers/tty/vt/vt.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
> index 62049ceb3..8eebb5f17 100644
> --- a/drivers/tty/vt/vt.c
> +++ b/drivers/tty/vt/vt.c
> @@ -667,7 +667,7 @@ static u8 build_attr(struct vc_data *vc, u8 _color,
> {
> u8 a = _color;
> if (!vc->vc_can_do_color)
> - return _intensity |
> + return (_intensity & ~(vc->vc_hi_font_mask ? 1 : 0)) |
For some reason you didn't cc: all of the maintainers and the subsystem
mailing list for this code :(
Anyway, this is anything but obvious as to what is happening, can this
somehow be documented in the change to make it more clear?
thanks,
greg k-h