bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SOLVED] Re: "q"s and "x"s as line graphics on Linux console


From: Patrick McDermott
Subject: [SOLVED] Re: "q"s and "x"s as line graphics on Linux console
Date: Wed, 13 Jan 2021 06:54:27 -0500

On 2021-01-11 at 19:08, Thomas Dickey wrote:
> On Mon, Jan 11, 2021 at 11:29:53AM -0500, Patrick McDermott wrote:
> > Hello,
> > 
> > I'm using ncurses 6.2-20210109 and dialog 1.3-20201126.  It works fine
> > on VTE, but on the Linux framebuffer console the line graphics are drawn
> > with characters like "q" and "x".  For example:
> > 
> >     $ dialog --msgbox 'Hello, world!' 5 17
> >     lqqqqqqqqqqqqqqqk
> >     x Hello, world! x
> >     tqqqqqqqqqqqqqqqu
> >     x   <  OK  >    t
> >     mqqqqqqqqqqqqqqqj
> > 
> > My environment is `TERM=linux LC_ALL=C` (I also tried `LC_ALL=en_US` and
> > variants of the "linux" terminal found in terminfo).  I'm using 8-bit
> > ncurses, but I've also tried a wide-character build.  I've tried setting
> > `NCURSES_NO_UTF8_ACS=1`, and a glance at the ncurses source shows that
> > `TERM=linux` already disables ACS.  I'm not using a UTF-8 locale
> > encoding because I'm using Linux's built-in (8-bit) fbcon fonts.
> > 
> > I've read the FAQ on this issue [1] (and similar discussions online),
> > but it doesn't seem to offer a solution in this case (unless there's
> > some other $TERM I should try).  Any suggestions?  
> 
> As far as I know, only rather old Linux kernels don't handle the
> VT100-style ^N/^O used in smacs/rmacs.  That came in when 2.6/3.0
> became generally prevalent -- sometime between 2006:
> 
> http://lkml.iu.edu/hypermail/linux/kernel/0602.2/0738.html
> 
> and 2011:
> 
> # 2011-07-16
> ...
> #     * add SI/SO change to linux2.6 entry (Debian #515609) -TD
> 
> I just checked Debian testing, for example, which has 5.10
> (and works as expected).

Thanks for the information.  I'm using Linux(-libre) 4.19.166 (latest
4.19 stable at the time of testing).

> If you actually have an older kernel (I was discussing a problem
> with someone a couple weeks ago who _did_ have an old system), I'd
> try
> 
>       TERM=linux2.2
> 
> (noting that you tried "variants", that might be redundant).

I thought I tried that one, but it seems I somehow missed it.  That does
work.

> If it's a newer kernel, I might be able to reproduce this,
> given the version and distribution, and offer better advice.

Yes, it's Linux-libre 4.19.166 in ProteanOS (a small/embedded
distribution) built with the attached configuration, which is adapted
for specific older IBM/Lenovo ThinkPad laptops (X60, X200, etc.) so it
may not be helpful for reproduction.

However that won't be necessary, as I narrowed down a Linux
configuration option that enables ACS: CONFIG_CONSOLE_TRANSLATIONS.  So
apparently one too many settings got disabled in this configuration,
which is now fixed in our 4.19.167 configuration.  Oops. :)

This config option may or may not be worth noting in the FAQ or in
terminfo.src.  As a historical note, I found that ACS was made optional
in Linux in 2008, in commit a29ccf6f823a84d89e1c7aaaf221cf7282022024 and
version 2.6.27-rc1.

-- 
Patrick McDermott, CEO
Libiquity
Putting customers in control of high-quality technologies
https://www.libiquity.com/

Attachment: linux-4.19.166-config
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]