From Fedora Project Wiki
mNo edit summary
(Added a link to F14 Features/Spice page, added audio volume, modified description)
Line 16: Line 16:


== Detailed Description ==
== Detailed Description ==
The Spice project deals with both the virtualized devices and the front-end.
The Simple Protocol for Independent Computing Environments (SPICE) is used for client-server communication. Spice adds a QXL display device to QEMU and provides drivers for this device for both X and Windows.


Currently, the project main focus is to provide high-quality remote access to QEMU virtual machines. The Simple Protocol for Independent Computing Environments (SPICE) is used for client-server communication. Spice adds a QXL display device to QEMU and provides
Spice was added in Fedora 14 [ https://fedoraproject.org/wiki/Features/Spice ]
drivers for this device for both X and Windows.
Other spice related components were added later (spice-vdagent, spice-gtk)
 
Features supported in the protocol are:
* Accelerated 2D graphics
* "Hardware" cursor support
* Audio playing
* Audio recording
* Image compression, both lossless and lossy (for WAN support)
* Video detection with MJpeg streaming
* Encryption
* Client side mouse pointer support
* Drivers for: X, Windows (xp, win7 -- not in Fedora)
 
Red Hat acquired Spice together with kvm when it aqcuired Qumranet, and has invested significant effort into opening it up, cleaning up dependencies, etc.


New features in Release 0.10 are:
New features in Release 0.10 are:
* Usb sharing between guest and client (letting the guest access USB devices on the client)
* Usb sharing between guest and client (letting the guest access USB devices on the client)
** https://fedoraproject.org/wiki/Features/UsbNetworkRedirection
** https://fedoraproject.org/wiki/Features/UsbNetworkRedirection
* Audio Volume messages between guest and client


== Benefit to Fedora ==
== Benefit to Fedora ==
Line 50: Line 40:
* Need to update spice-client package.
* Need to update spice-client package.


<!-- Do we need theses packages too ?
<!--
* Need to update spice-gtk package (would that be in a different Feature?)
* Need to update spice-gtk package (would that be in a different Feature?)
* Need to update xorg-x11-drv-qxl package (?)
* Need to update xorg-x11-drv-qxl package (?)

Revision as of 15:08, 12 July 2011

Spice

Summary

Spice aims to provide a complete open source solution for interaction with virtualized desktops.

This feature brings Spice 0.10 to Fedora 16.

Owner

Current status

  • Targeted release: Fedora 16
  • Last updated: 2010-07-12
  • Percentage of completion: 5%

Detailed Description

The Simple Protocol for Independent Computing Environments (SPICE) is used for client-server communication. Spice adds a QXL display device to QEMU and provides drivers for this device for both X and Windows.

Spice was added in Fedora 14 [ https://fedoraproject.org/wiki/Features/Spice ] Other spice related components were added later (spice-vdagent, spice-gtk)

New features in Release 0.10 are:


Benefit to Fedora

In the long term, Spice will let Fedora provide a better user experience in desktop virtualization. In the short term, Fedora gains an interesting new open-source technology that many people want to try out.

Scope

  • Spice support was added in Fedora 14 (as well as dependent packages, such as spice-protocol, celt051).
  • Upon Spice 0.10 availability, there is some Fedora packaging work to be done.
  • Need to update spice-protocol package.
  • Need to update spice-server pacakge.
  • Need to update spice-client package.


How To Test

The server part of Spice requires a x86-64 machine, and ideally should have hardware virtualization support (kvm) although this is not strictly required.

The client currently works on x86-64 and x86, but we're working on porting it to more architectures.

To test spice, install a qemu with spice support and spice-server on the server machine (aka host), then start qemu with options something like this:

 qemu <disk-image> -usb -soundhw ac97 -vga qxl -spice port=5930,disable-ticketing -enable-kvm -m 1024 -monitor stdio

or with passwords:

 qemu <disk-image> -usb -soundhw ac97 -vga qxl -spice port=5930,password=<secret> -enable-kvm -m 1024 -monitor stdio

On the client, install the spice-client package and start it like:

 spicec -h <server> -p <port> [-w <secret>], e.g.
 spicec -h localhost -p 5930

This should let you access the machine. You should now install the qxl driver and optionally the agent on the guest. If you do not do this you're running in vga mode which is quite slow and inefficient.

Alternatively:

  • Use virt-manager to create a VM with Spice support.
  • Run virt-viewer to access it via Spice, Or
  • Use vinagre to access your VM.

User Experience

Spice is already available in F15.

The new USB sharing feature enables users to share (simple, usb1) usb devices (such as usb-disk) plugged in the client machine with the guest.


Dependencies

  • qemu


Contingency Plan

Do not update Spice to 0.10, stay with current version (0.8).

Documentation

Release Notes

  • Spice now supports client-guest USB sharing.

Comments and Discussion