From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Alexey Gladkov <legion@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jiri Slaby <jirislaby@kernel.org>,
linux-kernel@vger.kernel.org, kbd@lists.altlinux.org
Subject: Re: [kbd] [patchv2 3/3] VT: Bump font size limitation to 64x128 pixels
Date: Sun, 18 Dec 2022 15:55:32 +0100
Message-ID: <20221218145532.syqzu76q23rz4tx6@begin> (raw)
In-Reply-To: <Y58mKmE9Km+NujDa@example.org>
Hello,
Alexey Gladkov, le dim. 18 déc. 2022 15:39:38 +0100, a ecrit:
> On Sun, Dec 18, 2022 at 01:32:12AM +0100, Samuel Thibault wrote:
> > This moves 32x32 font size limitation checking down to drivers, so that
> > fbcon can allow large fonts.
> >
> > We still keep a limitation to 64x128 pixels so as to have a simple bounded
> > allocation for con_font_get and in the userland kbd tool. That glyph size
> > will however be enough to have 128x36 characters on a "16/9 8K display".
> >
> > Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
> >
> > ---
> > V1 -> V2: Switch con_font_get to kvmalloc/kvfree instead of kmalloc/kfree
> >
> > Index: linux-6.0/drivers/tty/vt/vt.c
> > ===================================================================
> > --- linux-6.0.orig/drivers/tty/vt/vt.c
> > +++ linux-6.0/drivers/tty/vt/vt.c
> > @@ -4575,17 +4575,20 @@ void reset_palette(struct vc_data *vc)
> > /*
> > * Font switching
> > *
> > - * Currently we only support fonts up to 32 pixels wide, at a maximum height
> > - * of 32 pixels. Userspace fontdata is stored with 32 bytes (shorts/ints,
> > - * depending on width) reserved for each character which is kinda wasty, but
> > - * this is done in order to maintain compatibility with the EGA/VGA fonts. It
> > - * is up to the actual low-level console-driver convert data into its favorite
> > - * format (maybe we should add a `fontoffset' field to the `display'
> > - * structure so we won't have to convert the fontdata all the time.
> > + * Currently we only support fonts up to 128 pixels wide, at a maximum height
> > + * of 128 pixels. Userspace fontdata may have to be stored with 32 bytes
> > + * (shorts/ints, depending on width) reserved for each character which is
> > + * kinda wasty, but this is done in order to maintain compatibility with the
> > + * EGA/VGA fonts. It is up to the actual low-level console-driver convert data
> > + * into its favorite format (maybe we should add a `fontoffset' field to the
> > + * `display' structure so we won't have to convert the fontdata all the time.
> > * /Jes
> > */
> >
> > -#define max_font_size 65536
> > +#define max_font_width 64
> > +#define max_font_height 128
> > +#define max_font_glyphs 512
> > +#define max_font_size (max_font_glyphs*max_font_width*max_font_height)
>
> As a suggestion that you can safely ignore. Maybe make max_font_glyphs a
> sysctl parameter to be able to use larger fonts ?
>
> I get requests from time to time in kbd that it is not possible to load a
> larger font.
64KiB was really low, while the theoretically possible max was
32*32*512 = 512KB, so I understand there used to be such requests :)
Here, by setting the max to 64x128*512, I don't think we'll need more.
Even with a 8K screen (will such really exist and want a text console?)
the max 64x128 gets 128 characters on a single line, for soemthing like
36 lines. So I guess it's not worth adding yet another sysctl :)
Samuel
next prev parent reply other threads:[~2022-12-18 14:55 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-18 0:32 [kbd] [patchv2 0/3] VT: Support >32x32 fonts for hidpi displays Samuel Thibault
2022-12-18 0:32 ` [kbd] [patchv2 1/3] VT: Add height parameter to con_font_get/set consw operations Samuel Thibault
2023-01-19 15:09 ` Greg Kroah-Hartman
2023-01-19 15:20 ` Samuel Thibault
2022-12-18 0:32 ` [kbd] [patchv2 2/3] VT: Add KD_FONT_OP_SET/GET_TALL operations Samuel Thibault
2022-12-18 0:32 ` [kbd] [patchv2 3/3] VT: Bump font size limitation to 64x128 pixels Samuel Thibault
2022-12-18 14:39 ` Alexey Gladkov
2022-12-18 14:55 ` Samuel Thibault [this message]
2022-12-18 15:25 ` Alexey Gladkov
2022-12-18 15:28 ` Samuel Thibault
2022-12-18 15:38 ` Alexey Gladkov
2023-01-19 14:55 ` Greg Kroah-Hartman
2022-12-18 0:33 ` [kbd] [patch] font: Leverage KD_FONT_OP_GET/SET_TALL font operations Samuel Thibault
2023-01-11 20:00 ` Alexey Gladkov
2023-01-16 22:44 ` Samuel Thibault
2023-01-10 20:55 ` [kbd] [patchv2 0/3] VT: Support >32x32 fonts for hidpi displays Samuel Thibault
2023-01-18 14:00 ` Alexey Gladkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221218145532.syqzu76q23rz4tx6@begin \
--to=samuel.thibault@ens-lyon.org \
--cc=gregkh@linuxfoundation.org \
--cc=jirislaby@kernel.org \
--cc=kbd@lists.altlinux.org \
--cc=legion@kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Linux console tools development discussion
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/kbd/0 kbd/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 kbd kbd/ http://lore.altlinux.org/kbd \
kbd@lists.altlinux.org kbd@lists.altlinux.ru kbd@lists.altlinux.com
public-inbox-index kbd
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.kbd
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git