All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Manuel Schölling" <manuel.schoelling@gmx.de>
To: Andrey Utkin <andrey_utkin@fastmail.com>
Cc: plagnioj@jcrosoft.com, tomi.valkeinen@ti.com, jslaby@suse.cz,
	gregkh@linuxfoundation.org, kilobyte@angband.pl,
	linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v7 0/3] console: Add persistent scrollback buffers for all VGA consoles
Date: Tue, 29 Nov 2016 17:35:02 +0100	[thread overview]
Message-ID: <1480437302.2848.8.camel@gmx.de> (raw)
In-Reply-To: <20161129100115.GA20034@stationary.pb.com>

Hi Andrey,

On Di, 2016-11-29 at 10:01 +0000, Andrey Utkin wrote:
> Regarding logout scrollback clearing not working for me. ncurses-6.0-rc1
> which I tested it with is the latest available in Gentoo portage, please
> confirm whether I need any newer version, or should I tune something
> else. I'd appreciate if you also tested your patch with gentoo setup.
Are you sure ncurses is involved at all?
My Debian agetty(8) manpage says:

       -J,--noclear
              Do not clear the screen before prompting for the login name (the
              screen is normally cleared).

And digging into the source code of agetty shows these lines [1]:

static void termio_clear(int fd)
{
	/*
	 * Do not write a full reset (ESC c) because this destroys
	 * the unicode mode again if the terminal was in unicode
	 * mode.  Also it clears the CONSOLE_MAGIC features which
	 * are required for some languages/console-fonts.
	 * Just put the cursor to the home position (ESC [ H),
	 * erase everything below the cursor (ESC [ J), and set the
	 * scrolling region to the full window (ESC [ r)
	 */
	write_all(fd, "\033[r\033[H\033[J", 9);
}

So I guess that agetty relies on on switching the console for flushing
the scrollback buffer and we'd had to add the \E[3J sequence here.

Note that up until now I just had a look at the theory (manpage and
source code). I'd need some days to find time to show at runtime that
this really is the reason why the buffer is not flushed.

Bye,

Manuel

[1] https://github.com/karelzak/util-linux/blob/master/term-utils/agetty.c#L1175

WARNING: multiple messages have this Message-ID (diff)
From: "Manuel Schölling" <manuel.schoelling@gmx.de>
To: Andrey Utkin <andrey_utkin@fastmail.com>
Cc: plagnioj@jcrosoft.com, tomi.valkeinen@ti.com, jslaby@suse.cz,
	gregkh@linuxfoundation.org, kilobyte@angband.pl,
	linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v7 0/3] console: Add persistent scrollback buffers for all VGA consoles
Date: Tue, 29 Nov 2016 16:35:02 +0000	[thread overview]
Message-ID: <1480437302.2848.8.camel@gmx.de> (raw)
In-Reply-To: <20161129100115.GA20034@stationary.pb.com>

Hi Andrey,

On Di, 2016-11-29 at 10:01 +0000, Andrey Utkin wrote:
> Regarding logout scrollback clearing not working for me. ncurses-6.0-rc1
> which I tested it with is the latest available in Gentoo portage, please
> confirm whether I need any newer version, or should I tune something
> else. I'd appreciate if you also tested your patch with gentoo setup.
Are you sure ncurses is involved at all?
My Debian agetty(8) manpage says:

       -J,--noclear
              Do not clear the screen before prompting for the login name (the
              screen is normally cleared).

And digging into the source code of agetty shows these lines [1]:

static void termio_clear(int fd)
{
	/*
	 * Do not write a full reset (ESC c) because this destroys
	 * the unicode mode again if the terminal was in unicode
	 * mode.  Also it clears the CONSOLE_MAGIC features which
	 * are required for some languages/console-fonts.
	 * Just put the cursor to the home position (ESC [ H),
	 * erase everything below the cursor (ESC [ J), and set the
	 * scrolling region to the full window (ESC [ r)
	 */
	write_all(fd, "\033[r\033[H\033[J", 9);
}

So I guess that agetty relies on on switching the console for flushing
the scrollback buffer and we'd had to add the \E[3J sequence here.

Note that up until now I just had a look at the theory (manpage and
source code). I'd need some days to find time to show at runtime that
this really is the reason why the buffer is not flushed.

Bye,

Manuel

[1] https://github.com/karelzak/util-linux/blob/master/term-utils/agetty.c#L1175



  parent reply	other threads:[~2016-11-29 16:35 UTC|newest]

Thread overview: 143+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20161118005309.GC26324@dell-m4800.home>
2016-11-20 21:58 ` [PATCH v5 0/2] console: Add persistent scrollback buffers for all VGA console Manuel Schölling
2016-11-20 21:58   ` Manuel Schölling
2016-11-20 21:58   ` [PATCH v5 1/2] console: Move scrollback data into its own struct Manuel Schölling
2016-11-20 21:58     ` Manuel Schölling
2016-11-20 21:58   ` [PATCH v5 2/2] console: Add persistent scrollback buffers for all VGA consoles Manuel Schölling
2016-11-20 21:58     ` Manuel Schölling
2016-11-20 22:23     ` kbuild test robot
2016-11-20 22:23       ` kbuild test robot
2016-11-21 20:17     ` Adam Borowski
2016-11-21 20:17       ` Adam Borowski
2016-11-22 16:56       ` Manuel Schölling
2016-11-22 16:56         ` Manuel Schölling
2016-11-23 17:33         ` Adam Borowski
2016-11-23 17:33           ` Adam Borowski
2016-11-27 16:51           ` [PATCH v7 0/3] " Manuel Schölling
2016-11-27 16:51             ` Manuel Schölling
2016-11-27 16:51             ` [PATCH v7 1/3] console: Move scrollback data into its own struct Manuel Schölling
2016-11-27 16:51               ` Manuel Schölling
2016-11-27 16:51             ` [PATCH v7 2/3] console: Add callback to flush scrollback buffer to consw struct Manuel Schölling
2016-11-27 16:51               ` Manuel Schölling
2016-11-27 16:51             ` [PATCH v7 3/3] console: Add persistent scrollback buffers for all VGA consoles Manuel Schölling
2016-11-27 16:51               ` Manuel Schölling
2016-11-27 21:37             ` [PATCH v7 0/3] " Andrey Utkin
2016-11-27 23:15               ` Adam Borowski
2016-11-27 23:15                 ` Adam Borowski
2016-11-27 23:30                 ` Jakub Wilk
2016-11-27 23:30                   ` Jakub Wilk
2016-11-28  0:02                 ` Andrey Utkin
2016-11-28 21:28               ` Manuel Schölling
2016-11-28 21:28                 ` Manuel Schölling
2016-11-29 10:01                 ` Andrey Utkin
2016-11-29 10:44                   ` Adam Borowski
2016-11-29 10:44                     ` Adam Borowski
2016-11-29 16:35                   ` Manuel Schölling [this message]
2016-11-29 16:35                     ` Manuel Schölling
2016-12-01 21:03                   ` Manuel Schölling
2016-12-01 21:03                     ` Manuel Schölling
2016-12-01 21:31                     ` Andrey Utkin
2016-12-01 21:31                       ` Andrey Utkin
2016-11-27 23:53             ` Adam Borowski
2016-11-27 23:53               ` Adam Borowski
2016-11-28 21:23               ` Manuel Schölling
2016-11-28 21:23                 ` Manuel Schölling
2016-11-23 17:33       ` [PATCH v5 2/2] " Manuel Schölling
2016-11-23 17:33         ` Manuel Schölling
2016-12-04 10:53 [PATCH v7 0/3] " Manuel Schölling
2016-12-04 10:53 ` Manuel Schölling
2016-12-04 10:53 ` [PATCH v7 1/3] console: Move scrollback data into its own struct Manuel Schölling
2016-12-04 10:53   ` Manuel Schölling
2016-12-04 10:53 ` [PATCH v7 2/3] console: Add callback to flush scrollback buffer to consw struct Manuel Schölling
2016-12-04 10:53   ` Manuel Schölling
2016-12-04 10:53 ` [PATCH v7 3/3] console: Add persistent scrollback buffers for all VGA consoles Manuel Schölling
2016-12-04 10:53   ` Manuel Schölling
2016-12-06 10:02 ` [PATCH v7 0/3] " Greg KH
2016-12-06 10:02   ` Greg KH
2016-12-06 16:32   ` Manuel Schölling
2016-12-06 16:32     ` Manuel Schölling
2016-12-21 16:37 ` [PATCH RESEND " Manuel Schölling
2016-12-21 16:37   ` Manuel Schölling
2016-12-21 16:37   ` [PATCH RESEND v7 1/3] console: Move scrollback data into its own struct Manuel Schölling
2016-12-21 16:37     ` Manuel Schölling
2016-12-21 16:37   ` [PATCH RESEND v7 2/3] console: Add callback to flush scrollback buffer to consw struct Manuel Schölling
2016-12-21 16:37     ` Manuel Schölling
2016-12-21 16:37   ` [PATCH RESEND v7 3/3] console: Add persistent scrollback buffers for all VGA consoles Manuel Schölling
2016-12-21 16:37     ` Manuel Schölling
2017-01-04 13:54   ` [PATCH RESEND v7 0/3] " Andrey Utkin
2017-01-04 13:54     ` Andrey Utkin
2017-01-05 11:33     ` [PATCH v8 " Manuel Schölling
2017-01-05 11:33       ` Manuel Schölling
2017-01-05 11:33     ` [PATCH v8 1/3] console: Move scrollback data into its own struct Manuel Schölling
2017-01-05 11:33       ` Manuel Schölling
2017-01-05 11:33     ` [PATCH v8 2/3] console: Add callback to flush scrollback buffer to consw struct Manuel Schölling
2017-01-05 11:33       ` Manuel Schölling
2017-01-05 11:33     ` [PATCH v8 3/3] console: Add persistent scrollback buffers for all VGA consoles Manuel Schölling
2017-01-05 11:33       ` Manuel Schölling
     [not found]       ` <CGME20170110162224epcas1p2095912fa6b73a1457fa86396149e78e9@epcas1p2.samsung.com>
2017-01-10 16:22         ` Bartlomiej Zolnierkiewicz
2017-01-10 16:22           ` Bartlomiej Zolnierkiewicz
     [not found]           ` <CGME20170110164435epcas1p314efb9c6ea3ffb971fce06f3bfaec736@epcas1p3.samsung.com>
2017-01-10 16:44             ` Bartlomiej Zolnierkiewicz
2017-01-10 16:44               ` Bartlomiej Zolnierkiewicz
2017-01-10 17:31               ` Manuel Schölling
2017-01-10 17:31                 ` Manuel Schölling
2017-01-10 21:28               ` [PATCH v9 0/4] " Manuel Schölling
2017-01-10 21:28                 ` Manuel Schölling
2017-01-10 21:28               ` [PATCH v9 1/4] console: Move scrollback data into its own struct Manuel Schölling
2017-01-10 21:28                 ` Manuel Schölling
2017-01-10 21:28               ` [PATCH v9 2/4] console: Add callback to flush scrollback buffer to consw struct Manuel Schölling
2017-01-10 21:28                 ` Manuel Schölling
2017-01-10 21:28               ` [PATCH v9 3/4] console: Add persistent scrollback buffers for all VGA consoles Manuel Schölling
2017-01-10 21:28                 ` Manuel Schölling
2017-01-10 21:28               ` [PATCH v9 4/4] console: Make persistent scrollback a boot parameter Manuel Schölling
2017-01-10 21:28                 ` Manuel Schölling
2017-01-10 22:58                 ` Adam Borowski
2017-01-10 22:58                   ` Adam Borowski
2017-01-11 21:41                   ` Manuel Schölling
2017-01-11 21:41                     ` Manuel Schölling
2017-01-13 20:00                   ` Manuel Schölling
2017-01-13 20:00                     ` Manuel Schölling
2017-01-14  7:26                     ` Greg KH
2017-01-14  7:26                       ` Greg KH
2017-01-11 13:32                 ` kbuild test robot
2017-01-11 13:32                   ` kbuild test robot
2017-01-13 20:07                   ` [PATCH v10 0/4] console: Add persistent scrollback buffers for all VGA consoles Manuel Schölling
2017-01-13 20:07                     ` Manuel Schölling
2017-01-25 10:55                     ` Greg KH
2017-01-25 10:55                       ` Greg KH
2017-01-13 20:07                   ` [PATCH v10 1/4] console: Move scrollback data into its own struct Manuel Schölling
2017-01-13 20:07                     ` Manuel Schölling
2017-01-13 20:07                   ` [PATCH v10 2/4] console: Add callback to flush scrollback buffer to consw struct Manuel Schölling
2017-01-13 20:07                     ` Manuel Schölling
2017-01-13 20:07                   ` [PATCH v10 3/4] console: Add persistent scrollback buffers for all VGA consoles Manuel Schölling
2017-01-13 20:07                     ` Manuel Schölling
2017-01-19 13:23                     ` Greg KH
2017-01-19 13:23                       ` Greg KH
2017-01-19 16:12                       ` Manuel Schölling
2017-01-19 16:12                         ` Manuel Schölling
2017-01-19 16:33                         ` Greg KH
2017-01-19 16:33                           ` Greg KH
2017-01-19 23:04                           ` Adam Borowski
2017-01-19 23:04                             ` Adam Borowski
2017-01-20 13:16                             ` Adam Borowski
2017-01-20 13:16                               ` Adam Borowski
2017-01-20 13:31                               ` Greg KH
2017-01-20 13:31                                 ` Greg KH
2017-01-20 14:27                                 ` Adam Borowski
2017-01-20 14:27                                   ` Adam Borowski
2017-01-19 17:20                         ` Adam Borowski
2017-01-19 17:20                           ` Adam Borowski
2017-01-13 20:07                   ` [PATCH v10 4/4] console: Make persistent scrollback a boot parameter Manuel Schölling
2017-01-13 20:07                     ` Manuel Schölling
2017-02-02 20:07                 ` [PATCH v9 " Paul Gortmaker
2017-02-02 20:07                   ` Paul Gortmaker
2017-02-03 16:04                   ` Manuel Schölling
2017-02-03 16:04                     ` Manuel Schölling
2017-02-03 16:45                     ` Adam Borowski
2017-02-03 16:45                       ` Adam Borowski
2017-01-02 14:27 ` [PATCH RESEND v7 0/3] console: Add persistent scrollback buffers for all VGA consoles Manuel Schölling
2017-01-02 14:27   ` Manuel Schölling
2017-01-02 14:27   ` [PATCH RESEND v7 1/3] console: Move scrollback data into its own struct Manuel Schölling
2017-01-02 14:27     ` Manuel Schölling
2017-01-02 14:27   ` [PATCH RESEND v7 2/3] console: Add callback to flush scrollback buffer to consw struct Manuel Schölling
2017-01-02 14:27     ` Manuel Schölling
2017-01-02 14:27   ` [PATCH RESEND v7 3/3] console: Add persistent scrollback buffers for all VGA consoles Manuel Schölling
2017-01-02 14:27     ` Manuel Schölling

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=1480437302.2848.8.camel@gmx.de \
    --to=manuel.schoelling@gmx.de \
    --cc=andrey_utkin@fastmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jslaby@suse.cz \
    --cc=kilobyte@angband.pl \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=plagnioj@jcrosoft.com \
    --cc=tomi.valkeinen@ti.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.