| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We already do this when comparing new received monitor settings from the
client with the current ones, since the X-server rounds the width / x
coordinates to a multiple of 8 when we set them. Currently what happens is:
1) We get a monitor-config with a non multiple 8 width
2) We set the crtc to this width
3) We set the screen to this width
4) We configure the uinput tablet with this width
5) The X-server adjusts things to a multiple of 8
6) We re-configure the uinput tablet with the new width
By rounding the width and x coordinates before applying them we safe all
this back and forth to the X-server.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The agent creates a unique mode vdagent-N per output, that is deleted
when the custom resolution is changed. In order to be deleted, it
can't be the current active crtc config.
Now, the vdagent just sets the mode to NULL, but that causes a change
of resolution probably due to gnome-settings-daemon (in RHEL6, it
switches to max resultion 2560x1600 before switching back to custom
resolution).
We can avoid deleting current mode by creating a different mode,
switching to it, and then deleting the previous mode. Also, we can
ignore some Create/Delete races with other XRandR clients that may
modify the mode simultaneously. This shouldn't be fatal, as long as
the rest of the resolution switching can take place.
|
| | |
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
|
| |
In this case the client will always send info for qxl-devs monitors, and
set unused monitors to 0x0, deal properly with this, otherwise the
mouse ends up confused.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
| |
This is a normal thing to happen, so it should not be an error message.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
|
| |
delete_mode() sets a the_mode variable, but then in the actual following
XRR calls uses mode->id, not the_mode->id, which works since they are the
same. As they are the same anyway, lets just get rid of the_mode completely.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
|
| |
This resolves:
http://bugzilla.redhat.com/show_bug.cgi?id=747894
http://bugzilla.freedesktop.org/show_bug.cgi?id=49092
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| | |
|
| |
|
|
| |
Avoids some extra reconfiguration with the client.
|
| |
|
|
|
|
| |
I presume the reason to disable Crtc was to pass some XRandr check
that all crtc can fit in the screen. However, it is not a requirement
if the driver handles it.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
See the (large) comment added in src/vdagent-virtio-port.c for details.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
| |
This allows us to get session information on new systemd enabled distros,
which no longer come with consolekit.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
| |
This is a preparation patch for adding libsystemd-login support.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
We cannot use agent mouse mode without the session vdagent process, as we
need to know the resolution the client is running at. So we should
close the virtio port when the active vdagent disconnects, so that the
spice-server switches back to server mouse mode.
We were not properly updating active_session_conn when compiled without
consolekit support, which causes us to not close the virtio port, this patch
fixes this.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
| |
Coordinates send by the client go from 0 - (width - 1) rather then
from 0 - width.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
|
| |
This makes spice-vdagentd create the tablet uinput device once and then keep
it around forever. This is necessary for X-servers without hotplug support, such
as the RHEL-5 X-server.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
|
| |
The part of this commit which avoided forwarding monitor info to the
per X11 session agent process breaks resolution sync when using a multi
monitor client with a single monitor guest.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Sgined-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
| |
This was missing from the previous commit, my bad.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
| |
The autogenerated file will get written as /etc/X11/xorg.conf.spice
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
|
| |
Actually send monitor info from the session agent to the system agent daemon,
and use this information in vdagentd-uinput to properly generate events
for events originating from different monitors on the client.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
|
|
|
|
| |
And also bump the version (a bit early in the cycle), since this breaks
protocol compatibility between the system level agentd daemon and the per
session agent process.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| |
|
|
| |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
| | |
|
| |
|
|
|
| |
This is caused by me fixing a memleak in the non re-exec reconnect patch
of Marc-André's original patch before merging it.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Disconnects vdagent if version mismatch.
|
| |
|
|
| |
https://bugzilla.redhat.com/show_bug.cgi?id=681797
|
| |
|
|
|
|
| |
Doing this before daemonizing leads to the vdagentd seeing the connection
from the pid of the mother, which may have exited by the time vdagent
asks consolekit GetSessionForUnixProcess for the pid, resulting in an error.
|
| | |
|
| | |
|
| |
|
|
|
| |
This avoids the need to alloc a temporary buffer and memcpy all the
clipboard data while building clipboard messages to send to the client.
|
| |
|
|
| |
Inspired on a very similar patch for udscs written by Marc-André Lureau.
|
| | |
|
| |
|
|
|
|
|
|
| |
On older distributions (namely RHEL5), console-kit is not available.
This patch makes console-kit use optional, though this means
vd_agentd won't handle properly user-switching. This patch makes
it always use the first client vdagent, or none if multiple agents
connect.
|
| |
|