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. The per X-session gets automatically started in
7 desktop environments which honor /etc/xdg/autostart, and under gdm.
9 The main daemon needs to know which X-session daemon is the currently
10 active X-session (think switch user functionality) for this console kit is
11 used. spice-vdagent can be compiled without console kit support for use with
12 older distributions, in this case only one active X session is allowed.
15 * Client mouse mode (no need to grab mouse by client, no mouse lag)
16 this is handled by the daemon by feeding mouse events into the kernel
17 via uinput. This will only work if the active X-session is running a
18 spice-vdagent process so that its resolution can be determined.
19 * Automatic adjustment of the X-session resolution to the client resolution
20 for single monitor configurations.
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 * Limited support for multiple displays, prerequisites:
24 * A new enough Xorg-server. For Fedora atleast Fedora-17, for RHEL-6 atleast
25 xorg-x11-server-1.10.4-6.el6_2.3
26 * A vm configured with multiple qxl devices
27 * A guest running the latest spice-vdagent
28 Then connect to the vm with the multiple monitor client which you want to
29 use it with using: "spicec --full-screen=auto-config" (or the user portal
30 equivalent). At this point the agent will write out a:
31 /var/run/spice-vdagentd/xorg.conf.spice file. With all the necessary magic
32 to get Xinerama working. Move this file to /etc/X11/xorg.conf, then kill
33 Xorg so that it will get restarted and you should be good to go.
35 All vdagent communications on the guest side run over a single pipe which
36 gets presented to the guest os as a virtio serial port.
38 Under windows this virtio serial port has the following name:
39 \\\\.\\Global\\com.redhat.spice.0
41 Under Linux this virtio serial port has the following name:
42 /dev/virtio-ports/com.redhat.spice.0
44 To enable the virtio serial port you need to pass the following params on
51 -device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5 \
52 -chardev spicevmc,name=vdagent,id=vdagent \
54 virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,name=com.redhat.spice.0
60 Gerd Hoffmann <kraxel@redhat.com>
61 Hans de Goede <hdegoede@redhat.com>