Re: How to send a custom resolution message to windows/linux guest vdagent

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Mar 03, 2017 at 09:48:45PM -0300, Thiago Nascimento Araujo wrote:
> >> ----- Mensagem original -----
> >> De: "Pavel Grunt" <pgrunt@xxxxxxxxxx>
> >> Para: "Thiago Nascimento Araujo" <taraujo@xxxxxxxxxxxx>, "Jonathon Jongsma" <jjongsma@xxxxxxxxxx>
> >> Cc: spice-devel@xxxxxxxxxxxxxxxxxxxxx
> >> Enviadas: Sexta-feira, 3 de março de 2017 6:20:13
> >> Assunto: Re:  How to send a custom resolution message to windows/linux guest vdagent
> >> On Thu, 2017-03-02 at 13:00 -0300, Thiago Nascimento Araujo wrote:
> >> Hi,
> >> 
> >> First of all, thank you all for the quick answers.
> >> 
> >> The cut off message was my fault, sorry about that.
> >> 
> >> I am trying to understand this:
> >> 
> >> Lets say I am connected to a win/lnx guest though remote-viewer and
> >> my remote-viewer is a window with the dimensions 1440x900, so:
> >> 
> >> When I resize the window from 1440x900 to 1024x768 (manually resize
> >> the remote-viewer window, not the screen resolution inside the
> >> guest), what is the process involved from the remote-viewer to
> >> communicate to the guest (with spice-guest-tools installed) to
> >> peform the guest resize ?
> >> 
> >> Is something like:
> >> a) remote-viewer inform his new resolution sending a message ?
> >yes
> 
> So, remote-viewer is connected to spice-server on port 5901 and send a
> message "hey my new resolution is WxH, please inform the QXL" ?
> 
> >> b) the agents capture this message ?
> >no (not anymore) server takes this message and sends it to the QXL video card
> 
> Server sends to spice channel on port 5901 and vdservice grabs and inform QXL ?
> 
> >> c) the agents set the new resolution inside the client ?
> >the window manager notices the change and adjusts the resolution
> 
> So, vdservice (if I am not wrong) receives a new WxH and inform the
> QXL to create an arbitrary resolution and scales the screen? I am
> totally lost, because I simply cannot force an arbitrary resolution
> using the program I created using win-api, it just returns -2 all the
> time, meaning "bad resolution".

remote-viewer sends a message to spice-server on port 5901, the
spice-server library receives it. It checks whether to do the guest
resize through vdagent (legacy method), or through the QXL device
(current method).
In the new codepath, spice-server sets some property on the QXL hardware
device (as seen in the guest), and emits an interrupt. The guest QXL
driver catches it, notices there is a new resolution to expose to the
guest, and adds it to the list of known resolutions.

Then I don't know exactly how the resize of the desktop is triggered on
windows. On linux, a property is set on a DRM connector, and userspace
is notified, the window manager (mutter) catches this, and resizes the
desktop.

Christophe

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]