[Spice-devel] [PATCH v2 5/6] spice: get monitors physical dimension

Frediano Ziglio fziglio at redhat.com
Sat Sep 26 06:56:46 UTC 2020


> 
> From: Marc-André Lureau <marcandre.lureau at 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.
> 

This part is now obsolete.

> Signed-off-by: Marc-André Lureau <marcandre.lureau at 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) {

This check is the same of above. Won't be better to move al these block
inside the above if block and remove here?

> +            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;

Frediano



More information about the Spice-devel mailing list