[Spice-devel] [RFC PATCH v2 00/20] Monitor ID rework
Lukáš Hrázký
lhrazky at redhat.com
Fri Aug 24 09:12:43 UTC 2018
On Thu, 2018-08-23 at 22:42 +0200, Gerd Hoffmann wrote:
> Hi,
>
> > "we only support" seems to just state the use cases before adding
> > vGPU but we are trying to support vGPU cases.
> > If even we decide that for vGPU cards we always have monitor_id == 0
>
> Yes, we want this for sure. One channel per display.
For sure? This deserves a justification.
> > (that is multiple DisplayChannels for each vGPU) we still have the
> > issue of id matching with the agent which these patches are trying to
> > deal with.
>
> Yes. *That* is the underlying problem. There is no guest-visible link
> between display device and spice channel.
It is one of two problems. We are discussing this over and over though.
I'll wait for Jonathon to post a summary of yesterday's IRC discussion,
as he may do a better job explaining it (I've explained it several
times throughout the discussion, given that we are still discussing it,
I probably wasn't very successful ;))
> Except when the device is
> qxl, because qxl has a channel-id field somewhere (in qxl rom IIRC)
> which the guest can read.
Really? Can you describe how the guest could read that? Thanks.
> And it is not limited to vGPU. Try place two emulated display devices
> into one guest (not using qxl). You'll face the very same issue.
>
> Placing both channel_id and monitor_id into the messages isn't going to
> solve this.
No, the way I solve this is by having a hash table on the server, which
maps (channel_id, monitor_id) -> guest_output_id.
The reason for using (channel_id, monitor_id) is that it is the only
unambiguous unique identifier of a monitor on the server.
The guest_output_id is sent to the server from the streaming agent and
it is the xrandr output id. Therefore we obviously have it only for
streamed monitors. For other, old-style monitors, we still fall back to
channel_id + monitor_id.
This is obviously quite sub-optimal, but it seems to me it's the best
we can do. The details are in the patches...
Cheers,
Lukas
> cheers,
> Gerd
>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel
More information about the Spice-devel
mailing list