[Spice-devel] [RFC PATCH v2 00/20] Monitor ID rework
Lukáš Hrázký
lhrazky at redhat.com
Mon Aug 27 13:34:54 UTC 2018
On Mon, 2018-08-27 at 14:27 +0200, Gerd Hoffmann wrote:
> Hi,
>
> > 1. The IDs sent from the client in VDAgentMonitorsConfig and
> > MousePosition messages are equal to either `channel_id + monitor_id` or
> > `channel_id ? channel_id : monitor_id`. This is under the assumption
> > that there is either only one display_channel or more display channels
> > each with only a single monitor. Under this assumption the
> > aforementioned expressions are equivalent. It is not a reliable way to
> > identify monitors though.
>
> Can we define this to be "channel_id + monitor_id", then use sparse
> channel ids? qxl has room for up to 16 monitors in the protocol
> messages. channel_id is 8 bit. So we could support up to 16 display
> devices with up to 16 outputs each if we enumerate the display channels
> 0, 16, 32 instead of 0, 1, 2.
While I suppose technically possible, a couple issues:
1. It is AFAICS not backwards compatible anyway (you don't change the
protocol itself, but you change the content):
channel_id | monitor_id | old display_id | your display_id
----------------------------------------------------------
0 | 0 | 0 | 0
1 | 0 | 1 | 16
2 | 0 | 2 | 32
...
2. I don't want to do this, while it's better than simple channel_id +
monitor_id, it's still unnecessary to encode the numbers this way, two
separate fields are much cleaner. (and with it not saving us
compatibility trouble...)
(on a side note, I'm still assimilating the information you shared in
the other emails and thinking about ways to move forward, that's why
I'm slow on the replies...)
Thanks,
Lukas
> cheers,
> Gerd
>
More information about the Spice-devel
mailing list