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