Ok,
On 10/25/2010 10:48 AM, Alon Levy wrote:
On Mon, Oct 25, 2010 at 09:30:02AM +0200, Hans de Goede wrote:
Hi,
On 10/24/2010 03:13 PM, Alon Levy wrote:
The tablet uinput device is closed and opened by vdagentd as a result of
guest_xorg_res.
So far this message was only sent on startup of vdagent. Unless we resend it
uinput doesn't know of the changed resolution, and the mouse position in the
guest is incorrect.
---
vdagent-x11.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/vdagent-x11.c b/vdagent-x11.c
index 00d1886..a8dadde 100644
--- a/vdagent-x11.c
+++ b/vdagent-x11.c
@@ -789,6 +789,9 @@ void vdagent_x11_set_monitor_config(struct vdagent_x11 *x11,
rotation, CurrentTime);
XRRFreeScreenConfigInfo(config);
XFlush(x11->display);
+ x11->width = sizes[best].width;
+ x11->height = sizes[best].height;
+ vdagent_x11_send_daemon_guest_xorg_res(x11);
}
void vdagent_x11_clipboard_request(struct vdagent_x11 *x11, uint32_t type)
Hmm, is this really necessary? I'm asking because we are watching for
ConfigureNotify events on the root window and when we get those do
a vdagent_x11_send_daemon_guest_xorg_res(x11). I have not tested the scenario
you
are referring to here. But if one changes the guest resolution through
for example system->preferences->monitor, vdagent will get a ConfigureNotify
event
and based on that do a vdagent_x11_send_daemon_guest_xorg_res(x11). I would
expect the same to happen if the agent itself changes the resolution.
Yes, I saw you are listening for those events, but for some reason they are not
triggered when the resolution is changed by the set_monitor_config function. I'm
sorry I didn't investigate further, I just checked to make sure I don't create
any
endless feedback loop by seeing that xrandr works fine with my patch, and of
course
with this patch changes that are triggered by the monitor_config message (i.e.
from
the client side) are reflected.
Ack then. Note that the linux agent now has a non personal / private git repo
here:
ssh://[email protected]/git/spice/linux/vd_agent
Which does not yet show up in cgit for some reason (need to ping ajax about
that).
If you replace jwrdegoede by your freedesktop.org username you should be able
to push the patch their yourself!
Also this repo has patches for image copy and paste support, so with this
version
you should be able to copy and paste images between a linux guest and a linux
client.
Note you need spice-server from git (for some vdagent channel fixes,
and this qemu patch:
http://cgit.freedesktop.org/spice/qemu/commit/?h=bugfix.1&id=f3d7d80a52e71a35a5f603dcead181f9f9e9709c
Or your guest may end up hanging, when sending large amounts of data over
the vdagent channel.
Could it be that the messages are sent to a different window? or that X doesn't
send
those messages to the originating process?
I've no idea :|
Regards,
Hans
_______________________________________________
Spice-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/spice-devel