From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Maximilian Immanuel Brandtner <maxbr@linux.ibm.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
"Filip Hejsek" <filip.hejsek@gmail.com>,
qemu-devel@nongnu.org,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Laurent Vivier" <lvivier@redhat.com>,
"Amit Shah" <amit@kernel.org>,
"Markus Armbruster" <armbru@redhat.com>,
"Eric Blake" <eblake@redhat.com>,
"Eduardo Habkost" <eduardo@habkost.net>,
"Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Yanan Wang" <wangyanan55@huawei.com>,
"Zhao Liu" <zhao1.liu@intel.com>,
"Szymon Lukasz" <noh4hss@gmail.com>
Subject: Re: [PATCH v4 00/10] virtio-console: notify about the terminal size
Date: Mon, 15 Sep 2025 09:44:12 +0100 [thread overview]
Message-ID: <aMfR3N3z6_fp6Lg9@redhat.com> (raw)
In-Reply-To: <866f7190cf6423a7fc1e85070e2059ae7014c231.camel@linux.ibm.com>
On Mon, Sep 15, 2025 at 10:41:44AM +0200, Maximilian Immanuel Brandtner wrote:
> On Fri, 2025-09-12 at 09:50 +0100, Daniel P. Berrangé wrote:
> > On Fri, Sep 12, 2025 at 04:41:02AM -0400, Michael S. Tsirkin wrote:
> > > On Fri, Sep 12, 2025 at 05:39:45AM +0200, Filip Hejsek wrote:
> > > > The goal of this series is to have a resizable terminal into a
> > > > guest
> > > > without having to set up networking and using, e.g. ssh.
> > > >
> > > > The virtio spec allows a virtio-console device to notify the
> > > > guest about
> > > > terminal resizes in the host. Linux Kernel implements the driver
> > > > part of
> > > > the spec. This series implement the device part in QEMU.
> > > >
> > > > This series adds support for a resizable terminal if a virtio
> > > > console
> > > > device is connected to the stdio backend.
> > > >
> > > > This series also introduces resize messages that can be sent over
> > > > QMP to
> > > > notify QEMU about the size of the terminal connented to some
> > > > chardev.
> > > > In the libvirt setting, it will allow to implement a resizable
> > > > terminal
> > > > for virsh console and other libvirt clients.
> > > >
> > > > This patch series was originally authored by Szymon Lukasz and
> > > > submitted
> > > > to qemu-devel about 5 years ago. The previous submission can be
> > > > found at
> > > > <
> > > > https://lists.nongnu.org/archive/html/qemu-devel/2020-06/msg09591.
> > > > html>.
> > > > I have updated the patches to be compatible with latest master
> > > > and made
> > > > a few small changes of my own, including the addition of Windows
> > > > support.
> > > >
> > > > Probably the most important change I made is the swapping of rows
> > > > and
> > > > cols fields in resize messages. I would like to hear some
> > > > feedback on
> > > > this change from reviewers. The problem is that for a long time,
> > > > the
> > > > Linux kernel used a different field order from what was specified
> > > > in the
> > > > virtio spec. The kernel implementation was apparently merged
> > > > around 2010,
> > > > while the virtio spec came in 2014, so when a previous version of
> > > > this
> > > > patch series was being discussed here on this mailing list in
> > > > 2020, it
> > > > was decided that QEMU should match the Linux implementation, and
> > > > ideally,
> > > > the virtio spec should be changed.
> > > >
> > > > However, recently, the Linux kernel implementation was changed to
> > > > conform
> > > > to the spec:
> > > > <https://git.kernel.org/linus/5326ab737a47278dbd16ed3ee7380b26c70
> > > > 56ddd>.
> > > > As a result, to be compatible with latest kernel releases, QEMU
> > > > needs to
> > > > also use the field order matching the specification. I have
> > > > changed the
> > > > patch to use the spec-compliant order, so it works correctly with
> > > > latest
> > > > kernels now.
> > > >
> > >
> > > Well this is not in any release yet. If you want me to revert that
> > > one, let me know ASAP. Maximilian?
> > >
> > > > That leaves the issue of older kernels. There are about 15 years'
> > > > worth
> > > > of kernel versions with the swapped field order, including the
> > > > kernel
> > > > currently shipped in Debian stable. The effects of the swapped
> > > > dimensions
> > > > can sometimes be quite annoying - e.g. if you have a terminal
> > > > with
> > > > 24 rows, this will be interpreted as 24 columns, and your shell
> > > > may limit
> > > > line editing to this small space, most of which will be taken by
> > > > your
> > > > prompt. The patch series in its current form provides no way to
> > > > disable
> > > > the console size functionality,
> > >
> > > Well I see the console-size property, no?
> >
> > At least in the case of libvirt managed VMs, this series does
> > nothin by default, as they won't be using the 'stdio' chardev,
> > they'll require libvirt to first wire up the new QMP command,
> > and then apps using libvirt to call it. So in that sense, it'll
> > take a while before the effects are seen by users.
>
> Correct me if I'm wrong on this, but shouldn't the 'pty' chardev also
> be able to take advantage of the same size change mechanisms as the
> 'stdio' chardev (receiving SIGWINCH and being able to use the ioctl
> TIOCGWINSZ)? If so the work for the 'stdio' chardev should probably be
> replicated for the 'pty' chardev.
Yes, if using a suitable client app, it ought to work for
'pty' I think.
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2025-09-15 8:45 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-12 3:39 [PATCH v4 00/10] virtio-console: notify about the terminal size Filip Hejsek
2025-09-12 3:39 ` [PATCH v4 01/10] chardev: add cols, rows fields Filip Hejsek
2025-09-12 3:39 ` [PATCH v4 02/10] chardev: add CHR_EVENT_RESIZE Filip Hejsek
2025-09-12 3:39 ` [PATCH v4 03/10] chardev: add qemu_chr_resize() Filip Hejsek
2025-09-18 8:45 ` Maximilian Immanuel Brandtner
2025-09-18 9:31 ` Filip Hejsek
2025-09-12 3:39 ` [PATCH v4 04/10] char-mux: add support for the terminal size Filip Hejsek
2025-09-18 8:32 ` Maximilian Immanuel Brandtner
2025-09-18 9:11 ` Filip Hejsek
2025-09-12 3:39 ` [PATCH v4 05/10] main-loop: change the handling of SIGWINCH Filip Hejsek
2025-09-12 3:39 ` [PATCH v4 06/10] char-stdio: add support for the terminal size Filip Hejsek
2025-09-12 3:39 ` [PATCH v4 07/10] qmp: add chardev-resize command Filip Hejsek
2025-09-12 14:01 ` Markus Armbruster
2025-09-12 18:10 ` Filip Hejsek
2025-09-15 6:35 ` Markus Armbruster
2025-09-15 22:22 ` Filip Hejsek
2025-09-16 13:07 ` Markus Armbruster
2025-09-16 17:01 ` Filip Hejsek
2025-09-17 8:25 ` Markus Armbruster
2025-09-12 3:39 ` [PATCH v4 08/10] virtio-serial-bus: add terminal resize messages Filip Hejsek
2025-09-12 13:50 ` Markus Armbruster
2025-09-12 15:02 ` Filip Hejsek
2025-09-18 8:23 ` Daniel P. Berrangé
2025-09-18 8:51 ` Filip Hejsek
2025-09-12 3:39 ` [PATCH v4 09/10] virtio-console: notify the guest about terminal resizes Filip Hejsek
2025-09-12 3:39 ` [PATCH v4 10/10] char-win-stdio: add support for terminal size Filip Hejsek
2025-09-12 8:41 ` [PATCH v4 00/10] virtio-console: notify about the " Michael S. Tsirkin
2025-09-12 8:44 ` Michael S. Tsirkin
2025-09-12 8:50 ` Daniel P. Berrangé
2025-09-12 8:54 ` Michael S. Tsirkin
2025-09-15 8:41 ` Maximilian Immanuel Brandtner
2025-09-15 8:44 ` Daniel P. Berrangé [this message]
2025-09-15 16:25 ` [PATCH] char-pty: add support for " Maximilian Immanuel Brandtner
2025-09-15 16:34 ` [PATCH v2] " Maximilian Immanuel Brandtner
2025-09-15 16:36 ` Michael S. Tsirkin
2025-09-15 22:02 ` Filip Hejsek
2025-09-17 9:39 ` Maximilian Immanuel Brandtner
2025-09-17 13:09 ` Filip Hejsek
2025-09-17 13:31 ` Daniel P. Berrangé
2025-09-17 14:08 ` Filip Hejsek
2025-09-17 16:17 ` Daniel P. Berrangé
2025-09-17 17:11 ` Filip Hejsek
2025-09-17 17:53 ` Daniel P. Berrangé
2025-09-17 18:29 ` Filip Hejsek
2025-09-18 8:35 ` Daniel P. Berrangé
2025-09-18 8:39 ` Maximilian Immanuel Brandtner
2025-09-18 8:48 ` Daniel P. Berrangé
2025-09-18 8:54 ` Maximilian Immanuel Brandtner
2025-09-18 8:59 ` Daniel P. Berrangé
2025-09-18 9:05 ` Maximilian Immanuel Brandtner
2025-09-18 19:21 ` Filip Hejsek
2025-09-18 7:53 ` Maximilian Immanuel Brandtner
2025-09-18 8:10 ` Filip Hejsek
2025-09-12 14:24 ` [PATCH v4 00/10] virtio-console: notify about " Filip Hejsek
2025-09-15 23:02 ` Filip Hejsek
2025-09-15 23:08 ` Michael S. Tsirkin
2025-09-17 18:32 ` Filip Hejsek
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=aMfR3N3z6_fp6Lg9@redhat.com \
--to=berrange@redhat.com \
--cc=amit@kernel.org \
--cc=armbru@redhat.com \
--cc=eblake@redhat.com \
--cc=eduardo@habkost.net \
--cc=filip.hejsek@gmail.com \
--cc=lvivier@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=marcel.apfelbaum@gmail.com \
--cc=maxbr@linux.ibm.com \
--cc=mst@redhat.com \
--cc=noh4hss@gmail.com \
--cc=pbonzini@redhat.com \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=wangyanan55@huawei.com \
--cc=zhao1.liu@intel.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.