[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 5/6] spice: get monitors physical dimension
From: |
marcandre . lureau |
Subject: |
[PATCH v2 5/6] spice: get monitors physical dimension |
Date: |
Fri, 25 Sep 2020 17:50:56 +0400 |
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Note that for consistency, we use the same logic as MonitorsConfig to
figure out the associated monitor. However, I can't find traces of the
discussion/patches about the "new spice-server" behaviour: it still uses
the multiple-configurations path in git master.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
include/ui/console.h | 3 +++
ui/spice-display.c | 9 +++++++++
2 files changed, 12 insertions(+)
diff --git a/include/ui/console.h b/include/ui/console.h
index 353d2e49a1..e7303d8b98 100644
--- a/include/ui/console.h
+++ b/include/ui/console.h
@@ -119,6 +119,9 @@ typedef struct DisplaySurface {
} DisplaySurface;
typedef struct QemuUIInfo {
+ /* physical dimension */
+ uint16_t width_mm;
+ uint16_t height_mm;
/* geometry */
int xoff;
int yoff;
diff --git a/ui/spice-display.c b/ui/spice-display.c
index b304c13149..a10f72bc5c 100644
--- a/ui/spice-display.c
+++ b/ui/spice-display.c
@@ -679,7 +679,16 @@ static int interface_client_monitors_config(QXLInstance
*sin,
info.width = mc->monitors[head].width;
info.height = mc->monitors[head].height;
}
+#if SPICE_SERVER_VERSION >= 0x000e04 /* release 0.14.4 */
+ if (mc->flags & VD_AGENT_CONFIG_MONITORS_FLAG_PHYSICAL_SIZE) {
+ VDAgentMonitorMM *mm = (void *)&mc->monitors[mc->num_of_monitors];
+ if (mc->num_of_monitors > head) {
+ info.width_mm = mm[head].width;
+ info.height_mm = mm[head].height;
+ }
+ }
+#endif
trace_qemu_spice_ui_info(ssd->qxl.id, info.width, info.height);
dpy_set_ui_info(ssd->dcl.con, &info);
return 1;
--
2.26.2
- [PATCH v2 0/6] Add physical display dimensions to spice/virtio-gpu, marcandre . lureau, 2020/09/25
- [PATCH v2 1/6] edid: fix physical display size computation, marcandre . lureau, 2020/09/25
- [PATCH v2 3/6] ui: add getter for UIInfo, marcandre . lureau, 2020/09/25
- [PATCH v2 2/6] edid: use physical dimensions if available, marcandre . lureau, 2020/09/25
- [PATCH v2 4/6] spice: remove the single monitor config logic, marcandre . lureau, 2020/09/25
- [PATCH v2 5/6] spice: get monitors physical dimension,
marcandre . lureau <=
- [PATCH v2 6/6] virtio-gpu: set physical dimensions for EDID, marcandre . lureau, 2020/09/25