Skip to content

elmarco/vdagent-gtk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spice agent for Linux
=====================

The spice agent for Linux consists of 2 parts, a daemon spice-vdagentd
and a per session process spice-vdagent. The daemon gets started in
Spice guests through a Sys-V initscript or a systemd unit. The per
session gets automatically started in desktop environments which honor
/etc/xdg/autostart, and under gdm.

The main daemon needs to know which session daemon is in the currently
active session (think switch user functionality) for this console kit
or systemd-logind (compile time option) is used. If no session info is
available only one session agent is allowed.

Features:
* Client mouse mode (no need to grab mouse by client, no mouse lag)
  this is handled by the daemon by feeding mouse events into the kernel
  via uinput. This will only work if the active session is running a
  spice-vdagent process so that its resolution can be determined.
* Support of copy and paste (text and images) between the active session
  and the client. This supports both the primary selection and the clipboard.

All vdagent communications on the guest side run over a single pipe which
gets presented to the guest os as a virtio serial port.

Under windows this virtio serial port has the following name:
\\\\.\\Global\\com.redhat.spice.0

Under Linux this virtio serial port has the following name:
/dev/virtio-ports/com.redhat.spice.0

To enable the virtio serial port you need to pass the following params on
the qemu cmdline:

For qemu < 0.14.0:
-device spicevmc

For qemu >= 0.14.0:
-device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5 \
-chardev spicevmc,name=vdagent,id=vdagent \
-device \
virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,name=com.redhat.spice.0

About

experiments writing spice agent with gtk

Resources

License

GPL-3.0, LGPL-2.1 licenses found

Licenses found

GPL-3.0
COPYING
LGPL-2.1
COPYING.LGPL

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published