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.
Requisites 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)
- Windows: virt-viewer 0.5.6 or higher, http://www.spice-space.org/download.html
- Linux: virt-viewer 0.5.6 or higher
- OS X (not yet working as expected): virt-viewer 0.5.7 or higher, http://www.spice-space.org/page/OSX_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 7/8/10 and Windows 2012/2016
Fully supported, just install windows spice guest tools 0.132 or higher (spice-guest-tools-0.132.exe or higher)
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
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 (/etc/pve/qemu-server/XXX.conf, XXX being the VM ID):
args: -device AC97,addr=0x18
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.
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