* [vgacon] Font height discrepancy, Linux 2.5.x
@ 2003-04-14 21:27 Byron Stanoszek
2003-04-14 22:21 ` H. Peter Anvin
0 siblings, 1 reply; 2+ messages in thread
From: Byron Stanoszek @ 2003-04-14 21:27 UTC (permalink / raw)
To: linux-kernel
To the person(s) who rewrote the vgacon.c &| vt_ioctl.c files for Linux 2.5
(since I don't know your names).. I have a slight problem with font height not
being saved across consoles.
I am the current developer of SVGATextMode and I'm looking for a way to set the
fontheight across curcons[0..MAX_NR_CONSOLES-1].d.vc_font_height through
ioctl() calls, only when using a VGA Console.
The ioctl() with VT_RESIZEX allows specifying a new character-cell height,
however it only appears to set for the Current Console, as per vt_ioctl:872:
if (vlin)
vc->vc_scan_lines = vlin;
if (clin)
vc->vc_font.height = clin;
for (i = 0; i < MAX_NR_CONSOLES; i++)
vc_resize(i, cc, ll);
However, while vc_resize() is called for all consoles, it does Not set a new
font.height. The result is that any font height change will only take effect fo
rthe current VT, even though the VGA Console layer assumes every VT has the
same font style.
For instance, 'setfont' when run on other VTs, uses KBD routines to set the
font, and does not realize that the real number of scanlines on the screen have
changed. It essentially cuts the screen in half. Also, the cursor disappears
on the other consoles as it gets set with the wrong height.
I propose a patch that sets 'curcons[i].d.vc_font.height = clin' inside the
for() loop, however that could have an impact on the VFB module. AFAIK, the
framebuffer allows for different-sized character cells and fonts on different
VTs and doing this would defeat the purpose of having a vc_font.height variable
for each VT.
I would only like to set vc_font.height on all VTs if the underlying module is
a VGA Console and not a framebuffer.
What is the easiest way to do this? Perhaps the module should set a special
flag in the vt structure to determine if a font change affects all VTs (as in
the VGA Console) or only on the current VT (Framebuffer)?
Thank you very much!
-Byron
--
Byron Stanoszek Ph: (330) 644-3059
Systems Programmer Fax: (330) 644-8110
Commercial Timesharing Inc. Email: byron@comtime.com
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [vgacon] Font height discrepancy, Linux 2.5.x
2003-04-14 21:27 [vgacon] Font height discrepancy, Linux 2.5.x Byron Stanoszek
@ 2003-04-14 22:21 ` H. Peter Anvin
0 siblings, 0 replies; 2+ messages in thread
From: H. Peter Anvin @ 2003-04-14 22:21 UTC (permalink / raw)
To: linux-kernel
Followup to: <Pine.LNX.4.44.0304141712330.28989-100000@winds.org>
By author: Byron Stanoszek <gandalf@winds.org>
In newsgroup: linux.dev.kernel
>
> I would only like to set vc_font.height on all VTs if the underlying module is
> a VGA Console and not a framebuffer.
>
> What is the easiest way to do this? Perhaps the module should set a special
> flag in the vt structure to determine if a font change affects all VTs (as in
> the VGA Console) or only on the current VT (Framebuffer)?
>
I think we need a font data structure that is pointed to by the vc
data structure. It can be shared for those consoles where it's
appropriate and separate for those that aren't.
-hpa
--
<hpa@transmeta.com> at work, <hpa@zytor.com> in private!
"Unix gives you enough rope to shoot yourself in the foot."
Architectures needed: ia64 m68k mips64 ppc ppc64 s390 s390x sh v850 x86-64
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2003-04-14 22:12 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-04-14 21:27 [vgacon] Font height discrepancy, Linux 2.5.x Byron Stanoszek
2003-04-14 22:21 ` H. Peter Anvin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox