console-kit: Check session-lock just by IdleHint
[vd_agent.git] / README
blob0cd42d0fb7b618f2564f0e571531dd844b40f4bc
1 Spice agent for Linux
2 =====================
4 The spice agent for Linux consists of 2 parts, a daemon spice-vdagentd and
5 a per X-session process spice-vdagent. The daemon gets started in Spice guests
6 through a Sys-V initscript or a systemd unit. The per X-session gets
7 automatically started in desktop environments which honor /etc/xdg/autostart,
8 and under gdm.
10 The main daemon needs to know which X-session daemon is in the currently
11 active X-session (think switch user functionality) for this console kit or
12 systemd-logind (compile time option) is used. If no session info is
13 available only one X-session agent is allowed.
15 Features:
16 * Client mouse mode (no need to grab mouse by client, no mouse lag)
17   this is handled by the daemon by feeding mouse events into the kernel
18   via uinput. This will only work if the active X-session is running a
19   spice-vdagent process so that its resolution can be determined.
20 * Automatic adjustment of the X-session resolution to the client resolution
21 * Support of copy and paste (text and images) between the active X-session
22   and the client. This supports both the primary selection and the clipboard.
23 * Support for transfering files from the client to the agent
24 * Full support for multiple displays using Xrandr, this requires a new
25   enough xorg-x11-drv-qxl driver, as well as a new enough host.
26 * Limited support for multiple displays using Xinerama, prerequisites:
27   * A new enough Xorg-server. For Fedora atleast Fedora-17, for RHEL-6 atleast
28     xorg-x11-server-1.10.4-6.el6_2.3
29   * A vm configured with multiple qxl devices
30   * A guest running the latest spice-vdagent
31   Then connect to the vm with the multiple monitor client which you want to
32   use it with using: "spicec --full-screen=auto-config" (or the user portal
33   equivalent). At this point the agent will write out a:
34   /var/run/spice-vdagentd/xorg.conf.spice file. With all the necessary magic
35   to get Xinerama working. Move this file to /etc/X11/xorg.conf, then kill
36   Xorg so that it will get restarted and you should be good to go.
37 * Limited support for setups with multiple Screens (multiple qxl devices each
38   mapped to their own screen), limitations:
39  -Max one monitor per Screen / qxl device
40  -All monitors / Screens must have the same resolution
41  -No client -> guest resolution syncing
43 All vdagent communications on the guest side run over a single pipe which
44 gets presented to the guest os as a virtio serial port.
46 Under windows this virtio serial port has the following name:
47 \\\\.\\Global\\com.redhat.spice.0
49 Under Linux this virtio serial port has the following name:
50 /dev/virtio-ports/com.redhat.spice.0
52 To enable the virtio serial port you need to pass the following params on
53 the qemu cmdline:
55 For qemu < 0.14.0:
56 -device spicevmc
58 For qemu >= 0.14.0:
59 -device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5 \
60 -chardev spicevmc,name=vdagent,id=vdagent \
61 -device \
62 virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,name=com.redhat.spice.0
64 Enjoy,
65   Gerd & Hans
68 Gerd Hoffmann <kraxel@redhat.com>
69 Hans de Goede <hdegoede@redhat.com>