qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: dongwon.kim@intel.com
To: qemu-devel@nongnu.org
Subject: [RFC PATCH v2 0/2] ui/gtk: Introduce new param - Connectors
Date: Fri, 31 May 2024 11:58:02 -0700	[thread overview]
Message-ID: <20240531185804.119557-1-dongwon.kim@intel.com> (raw)

From: Dongwon Kim <dongwon.kim@intel.com>

This patch series is a replacement of
https://mail.gnu.org/archive/html/qemu-devel/2023-06/msg03989.html

There is a need, expressed by several users, to assign ownership of one
or more physical monitors/connectors to individual guests. This creates
a clear notion of which guest's contents are being displayed on any given
monitor. Given that there is always a display server/compositor running
on the host, monitor ownership can never truly be transferred to guests.
However, the closest approximation is to request the host compositor to
fullscreen the guest's windows on individual monitors. This allows for
various configurations, such as displaying four different guests' windows
on four different monitors, a single guest's windows (or virtual consoles)
on four monitors, or any similar combination.

This patch series attempts to accomplish this by introducing a new
parameter named "connector" to assign monitors to the GFX VCs associated
with a guest. If the assigned monitor is not connected, the guest's window
will not be displayed, similar to how a host compositor behaves when
connectors are not connected. Once the monitor is hot-plugged, the guest's
window(s) will be positioned on the assigned monitor.

Usage example:

-display gtk,gl=on,connectors=DP-1:eDP-1:HDMI-2...

In this example, the first graphics virtual console will be placed on the
DP-1 display, the second on eDP-1, and the third on HDMI-2.

v2: Connectors is now in a string format that includes all connector names
    separated with a colon (previously it was a linked list)

    Code refactoring

Vivek Kasireddy (2):
  ui/gtk: Factor out tab window creation into a separate
  ui/gtk: Add a new parameter to assign connectors/monitors

 qapi/ui.json     |  25 +++-
 include/ui/gtk.h |   1 +
 ui/gtk.c         | 301 +++++++++++++++++++++++++++++++++++++++++++----
 qemu-options.hx  |   4 +
 4 files changed, 308 insertions(+), 23 deletions(-)

-- 
2.34.1



             reply	other threads:[~2024-05-31 19:00 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-31 18:58 dongwon.kim [this message]
2024-05-31 18:58 ` [RFC PATCH v2 1/2] ui/gtk: Factor out tab window creation into a separate dongwon.kim
2024-05-31 18:58 ` [PATCH RFC v2 2/2] ui/gtk: Add a new parameter to assign connectors/monitors dongwon.kim
2024-06-04 10:37 ` [RFC PATCH v2 0/2] ui/gtk: Introduce new param - Connectors Marc-André Lureau
2024-06-04 17:59   ` Kim, Dongwon
2024-06-05  7:26     ` Marc-André Lureau
2024-06-11 18:28       ` Kim, Dongwon
2024-06-12  6:42         ` Marc-André Lureau
2024-06-12 23:33           ` Kim, Dongwon
2024-06-13  6:56             ` Marc-André Lureau
2024-06-13 17:08               ` Kim, Dongwon
2024-06-14  8:41                 ` Marc-André Lureau
2024-06-14 17:40                   ` Kim, Dongwon

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=20240531185804.119557-1-dongwon.kim@intel.com \
    --to=dongwon.kim@intel.com \
    --cc=qemu-devel@nongnu.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).