SPICE

From Proxmox VE
Revision as of 12:45, 22 April 2015 by Emmanuel Kasper (talk | contribs) (Add link to spice-example-sh for troubleshooting)
Jump to navigation Jump to search
Screen-enable-spice.png
Screen-start-spice-viewer.png

Introduction

SPICE (Simple Protocol for Independent Computing Environments) is an open remote computing solution built for virtual environments which allows users to view a computing "desktop" environment. The integrating of Spice into Proxmox VE provides a solution for interaction with virtualized desktop devices, like keyboard, mouse, audio and video. Interaction between front-end and back-end is done using Virtual Device Interfaces (VDI).

Spice achieves a user experience similar to an interaction with a local machine, while trying to offload most of the intensive CPU and GPU tasks to the client. Spice is suitable for both LAN and WAN usage, without compromising on the user experience.

Using Spice on Proxmox VE is easy and secure. It is integrated in the cluster environment, the user- and authentication system - and of cource, all traffic is fully encrypted.

Proxmox VE 3.1 introduced Spice as a technology preview.

The VNC console is still available and the default.

Needed components for SPICE

In order to use Spice you need the following:

  • Spice client on your desktop OS
  • Spice drivers inside your VM (VirtIO, QXL Graphic card drivers)

SPICE client

Enable SPICE for a VM

By default, Spice in not enabled and the traditional VNC based console is used. In order to enable Spice, just select SPICE as virtual "Graphic card" - as shown in the screenshot on top of this page.

OS specific settings for VM

Windows

Windows 7 32-bit/64-bit and Windows 2008r2

Fully supported, just install windows guest tools 0.74 or higher (spice-guest-tools-0.74.exe or higher)

Windows 8 32-bit

No digitally signed drivers packages public available

For those with access to rhn.redhat.com a rpm package is available with virtio-win-1.6.7. All drivers are signed by Redhat so they install without any problems. The qxl.sys driver must be installed from the drivers folder using pnputil -i -a qxl.inf from a cmd terminal. Remember this cmd terminal must be run as root.

Windows 8 64-bit

No digitally signed drivers packages public available

For those with access to rhn.redhat.com a rpm package is available with virtio-win-1.6.7. All drivers are signed by Redhat so they install without any problems. The qxl.sys driver must be installed from the drivers folder using pnputil -i -a qxl.inf from a cmd terminal. Remember this cmd terminal must be run as root.

Windows 2012 and 2012r2

No digitally signed drivers packages public available

For those with access to rhn.redhat.com a rpm package is available with virtio-win-1.6.7. All drivers are signed by Redhat so they install without any problems. The qxl.sys driver must be installed from the drivers folder using pnputil -i -a qxl.inf from a cmd terminal. Remember this cmd terminal must be run as root.

Linux

All linux distributions released after 2011 have the necessary qxl driver included as a part of the Xorg package.

Start your SPICE session

When you click on Spice console button, a connection config file is downloaded. You need to configure your browser to always open this configuration file and associate it with remote-viewer.

The association is automatic for Chrome and Internet Explorer (they use the mime type association from the OS). For Firefox, the association must be done manually, as Firefox has his own internal mime type association (See Options/Applications).

Using client USB devices

USB devices from the desktop client can be mapped into the VM, using the virt-viewer GUI. Please note, the Windows version of virt-viewer does not support this. You need to use a virt-viewer on a Linux Desktop.

  • enable one or more Spice USB devices in your VM config.
    • usb0: spice
    • usb1: spice
    • ...

Using Audio

In order to got audio/sound, you need to add a virtual sound-card into your VM config. Just add the following line to your VM config:

args: -device AC97,addr=0x18

or

args: -device intel-hda,id=sound5,bus=pci.0,addr=0x18 -device hda-micro,id=sound5-codec0,bus=sound5.0,cad=0 -device hda-duplex,id=sound5-codec1,bus=sound5.0,cad=1

In upcoming releases, adding audio devices can be done via GUI.

Trouble Shooting

If you can't start a Spice session from the PVE Web gui, you can try the following shell script: https://git.proxmox.com/?p=pve-manager.git;a=blob_plain;f=spice-example-sh;hb=HEAD

Video Tutorials