[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Spice-devel] [RFC PATCH spice 1/2] QXL interface: add
From: |
Lukáš Hrázký |
Subject: |
Re: [Qemu-devel] [Spice-devel] [RFC PATCH spice 1/2] QXL interface: add functions to identify monitors in the guest |
Date: |
Thu, 11 Oct 2018 14:55:39 +0200 |
Hi Gerd,
On Wed, 2018-10-10 at 12:37 +0200, Gerd Hoffmann wrote:
> Hi,
>
> > > + * Sets the hardware (e.g. PCI) path of the graphics device
> > > represented by this QXL interface instance.
> >
> > So, this comment suggests that the caller might be able to provide a
> > path that is not a PCI path. But the implementation below (mostly the
> > debug output, I suppose...) assumes a PCI path. Do we need to support
> > non-PCI paths?
>
> Certainly not for the initial revision, maybe never.
>
> But thanks to the "pci/" prefix we should be able to add support for
> other paths later in case it turns out we need it.
>
> > > + * Returns: The actual SPICE server monitor_id associated with the
> > > display
> >
> > So, if I remember correctly, Gerd recommended returning this value from
> > the function. But I think it needs more explanation here. What exactly
> > is a "monitor_id" supposed to represent? It is not used in your follow-
> > up qemu patch so it's hard to tell.
>
> IIRC the plan was to ditch the global monior_id idea and use the
> (channel_id, display_id) tuple everywhere ...
Not sure what exactly you mean here by "global monitor_id". Not sure
about "use the (channel_id, display_id)" either, it doesn't seem quite
correct.
The plan was (and still is) to limit the use cases to the following
two:
* Legacy QXL on linux with multiple monitors per display channel, but
only this single display channel. Multiple display channels are not
supported in this case, so no streaming etc.
* Limit the number of monitors per display channel to one for all other
cases.
With these limitations, the display_id = channel_id + monitor_id
formula that is used on the client remains unique. With one more
condition, that I think I should add, and that is that monitor_id is
always 0 for the multiple display channel case. It seems it may come up
that the monitor_id could be non-zero, e.g. for the virtio-gpu case...
So the IDs used are:
monitors_config server -> client:
(channel_id, monitor_id)
monitors_config client -> server and possibly server -> vd_agent:
display_id
I hope it's clear like this :)
Cheers,
Lukas
> cheers,
> Gerd
>
- [Qemu-devel] [RFC PATCH spice/qemu 0/2] QXL interface to set monitor ID, Lukáš Hrázký, 2018/10/09
- Re: [Qemu-devel] [Spice-devel] [RFC PATCH spice 1/2] QXL interface: add functions to identify monitors in the guest, Lukáš Hrázký, 2018/10/10
- Re: [Qemu-devel] [Spice-devel] [RFC PATCH spice 1/2] QXL interface: add functions to identify monitors in the guest, Gerd Hoffmann, 2018/10/11
- Re: [Qemu-devel] [Spice-devel] [RFC PATCH spice 1/2] QXL interface: add functions to identify monitors in the guest, Frediano Ziglio, 2018/10/11
- Re: [Qemu-devel] [Spice-devel] [RFC PATCH spice 1/2] QXL interface: add functions to identify monitors in the guest, Lukáš Hrázký, 2018/10/11
- Re: [Qemu-devel] [Spice-devel] [RFC PATCH spice 1/2] QXL interface: add functions to identify monitors in the guest, Gerd Hoffmann, 2018/10/11
- Re: [Qemu-devel] [Spice-devel] [RFC PATCH spice 1/2] QXL interface: add functions to identify monitors in the guest, Lukáš Hrázký, 2018/10/11
- Re: [Qemu-devel] [Spice-devel] [RFC PATCH spice 1/2] QXL interface: add functions to identify monitors in the guest, Gerd Hoffmann, 2018/10/11