linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alexey Gladkov <legion@kernel.org>
To: Jiri Slaby <jirislaby@kernel.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>
Subject: Re: [RFC PATCH v1 0/5] VT: Add ability to get font requirements
Date: Fri, 16 Feb 2024 14:26:38 +0100	[thread overview]
Message-ID: <Zc9ijvUofv4PCLw_@example.org> (raw)
In-Reply-To: <d7743747-1ec2-4557-9f2f-4cffd77284b3@kernel.org>

On Fri, Feb 16, 2024 at 08:21:38AM +0100, Jiri Slaby wrote:
> On 15. 02. 24, 16:37, Alexey Gladkov wrote:
> > We now have KD_FONT_OP_SET_TALL, but in fact such large fonts cannot be
> > loaded. No console driver supports tall fonts.
> 
> I thought fbcon can, no? If not, we should likely remove all the 
> KD_FONT_OP_SET_TALL checks here and there.

I thought so too until kbd users started trying to use such fonts. A month
after adding KD_FONT_OP_SET_TALL, support for large fonts was turned off
in fbcon:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=2b09d5d364986f724f17001ccfe4126b9b43a0be

But I don't think we need to remove KD_FONT_OP_SET_TALL completely. Maybe
support for large fonts can be fixed.

I suggested GET_INFO to solve the problem in general. Even if there is no
SET_TALL, the problem still remains. For example newport only supports
8x16 fonts.

> > Unfortunately, userspace
> > cannot distinguish the lack of support in the driver from errors in the
> > font itself. In all cases, EINVAL will be returned.
> 
> Yeah, AFAIR userspace just tries many possibilities and sees what trial 
> worked.

Yep. In case of big font, I don’t know how to improve the error message in
setfont. The EINVAL is very confusing for users.

> > How about adding another operator to get the supported font size so that
> > userspace can handle this situation correctly?
> 
> The whole font interface is horrid (and we got rid of v1 interface only 
> recently). Like (ab)using height = vpitch in KD_FONT_OP_SET_TALL :(.

Yep.

> So perhaps, as a band-aid, this might be fine (note you give no 
> opportunity to find out supported vpitch for example).

The vpitch can be 32 or if the height is greater, then vpitch = fnt_height

> Eventually, we need to invent a v3 interface with some better font_op
> struct with reserved fields for future use and so on.

Yes, yes, yes! Can we discuss this, pleeeeese? :)

> 
> > I mean something like this proof-of-concept.
> > 
> > ---
> > 
> > Alexey Gladkov (5):
> >    VT: Add KD_FONT_OP_GET_INFO operation
> >    newport_con: Allow to get max font width and height
> >    sticon: Allow to get max font width and height
> >    vgacon: Allow to get max font width and height
> >    fbcon: Allow to get max font width and height
> > 
> >   drivers/tty/vt/vt.c                 | 27 +++++++++++++++++++++++++++
> >   drivers/tty/vt/vt_ioctl.c           |  2 +-
> >   drivers/video/console/newport_con.c | 21 +++++++++++++++++----
> >   drivers/video/console/sticon.c      | 21 +++++++++++++++++++--
> >   drivers/video/console/vgacon.c      | 17 ++++++++++++++++-
> >   drivers/video/fbdev/core/fbcon.c    | 18 +++++++++++++++++-
> >   include/linux/console.h             |  1 +
> >   include/uapi/linux/kd.h             |  1 +
> >   8 files changed, 99 insertions(+), 9 deletions(-)
> > 
> 
> -- 
> js
> suse labs
> 

-- 
Rgrds, legion


  reply	other threads:[~2024-02-16 13:26 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-15 15:37 [RFC PATCH v1 0/5] VT: Add ability to get font requirements Alexey Gladkov
2024-02-15 15:37 ` [RFC PATCH v1 1/5] VT: Add KD_FONT_OP_GET_INFO operation Alexey Gladkov
2024-02-15 15:37 ` [RFC PATCH v1 2/5] newport_con: Allow to get max font width and height Alexey Gladkov
2024-02-15 15:37 ` [RFC PATCH v1 3/5] sticon: " Alexey Gladkov
2024-02-16  7:10   ` Jiri Slaby
2024-02-16 13:03     ` Alexey Gladkov
2024-02-15 15:37 ` [RFC PATCH v1 4/5] vgacon: " Alexey Gladkov
2024-02-15 15:37 ` [RFC PATCH v1 5/5] fbcon: " Alexey Gladkov
2024-02-16  7:21 ` [RFC PATCH v1 0/5] VT: Add ability to get font requirements Jiri Slaby
2024-02-16 13:26   ` Alexey Gladkov [this message]
2024-02-16 13:45     ` Samuel Thibault
2024-02-16 14:40       ` Alexey Gladkov
2024-02-21  7:04     ` Jiri Slaby
2024-02-26 15:21 ` [RFC PATCH v2 " Alexey Gladkov
2024-02-26 15:21   ` [RFC PATCH v2 1/5] VT: Add KD_FONT_OP_GET_INFO operation Alexey Gladkov
2024-02-26 15:21   ` [RFC PATCH v2 2/5] newport_con: Allow to get max font width and height Alexey Gladkov
2024-02-26 15:21   ` [RFC PATCH v2 3/5] sticon: " Alexey Gladkov
2024-02-27  5:52     ` Greg Kroah-Hartman
2024-02-27 14:06       ` Alexey Gladkov
2024-02-26 15:21   ` [RFC PATCH v2 4/5] vgacon: " Alexey Gladkov
2024-02-26 15:21   ` [RFC PATCH v2 5/5] fbcon: " Alexey Gladkov
2024-03-12 14:23   ` [PATCH v3 0/2] VT: Add ability to get font requirements legion
2024-03-12 14:23     ` [PATCH v3 1/2] VT: Add KDFONTINFO ioctl legion
2024-03-15  9:15       ` Helge Deller
2024-03-12 14:23     ` [PATCH v3 2/2] VT: Allow to get max font width and height legion
2024-03-13 17:40       ` Oleg Bulatov
2024-04-02 11:09         ` Jiri Slaby
2024-03-15  9:16       ` Helge Deller
2024-04-02 10:32     ` [RESEND PATCH v3 0/2] VT: Add ability to get font requirements Alexey Gladkov
2024-04-02 10:32       ` [RESEND PATCH v3 1/2] VT: Add KDFONTINFO ioctl Alexey Gladkov
2024-04-02 11:02         ` Jiri Slaby
2024-04-02 13:19           ` Alexey Gladkov
2024-04-03  5:27             ` Jiri Slaby
2024-04-10 16:29               ` Alexey Gladkov
2024-04-10 17:11                 ` Greg Kroah-Hartman
2024-04-02 17:50           ` [PATCH v4 0/3] VT: Add ability to get font requirements Alexey Gladkov
2024-04-02 17:50             ` [PATCH v4 1/3] VT: Use macros to define ioctls Alexey Gladkov
2024-04-02 17:50             ` [PATCH v4 2/3] VT: Add KDFONTINFO ioctl Alexey Gladkov
2024-04-03  4:55               ` Greg Kroah-Hartman
2024-04-03  5:05               ` Jiri Slaby
2024-04-10 16:36                 ` Alexey Gladkov
2024-04-11  3:53                   ` Jiri Slaby
2024-04-02 17:50             ` [PATCH v4 3/3] VT: Allow to get max font width and height Alexey Gladkov
2024-04-17 17:37             ` [PATCH v5 0/3] VT: Add ability to get font requirements Alexey Gladkov
2024-04-17 17:37               ` [PATCH v5 1/3] VT: Use macros to define ioctls Alexey Gladkov
2024-04-18  6:18                 ` Greg Kroah-Hartman
2024-05-29  7:29                   ` Jiri Slaby
2024-05-29  7:44                     ` Arnd Bergmann
2024-05-29  8:44                     ` Al Viro
2024-04-17 17:37               ` [PATCH v5 2/3] VT: Add KDFONTINFO ioctl Alexey Gladkov
2024-04-17 19:31                 ` Helge Deller
2024-04-18 10:45                   ` Alexey Gladkov
2024-04-25 10:33                     ` Helge Deller
2024-04-25 11:06                       ` Alexey Gladkov
2024-04-25 11:35                         ` Helge Deller
2024-04-18  6:18                 ` Greg Kroah-Hartman
2024-04-18 10:27                   ` Alexey Gladkov
2024-04-17 17:37               ` [PATCH v5 3/3] VT: Allow to get max font width and height Alexey Gladkov
2024-04-02 10:32       ` [RESEND PATCH v3 2/2] " 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=Zc9ijvUofv4PCLw_@example.org \
    --to=legion@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jirislaby@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=samuel.thibault@ens-lyon.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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).