Difference between revisions of "SPICE"

From Proxmox VE
Jump to navigation Jump to search
(added "Start your SPICE session")
(28 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
[[Image:Screen-enable-spice.png|thumb]] [[Image:Screen-start-spice-viewer.png|thumb]]  
 
[[Image:Screen-enable-spice.png|thumb]] [[Image:Screen-start-spice-viewer.png|thumb]]  
  
= Introduction =
+
== Introduction ==
  
 
[http://www.spice-space.org 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).  
 
[http://www.spice-space.org 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).  
Line 9: Line 9:
 
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.  
 
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 will introduce Spice as a technology preview. For now, its available via our pvetest repository ([[Package_repositories]]).  
+
Proxmox VE 3.1 introduced Spice as a technology preview.  
  
The VNC console is still available and the default  
+
The VNC console is still available and the default.
  
= Needed components for SPICE =
+
== Requisites for SPICE ==
  
 
In order to use Spice you need the following:  
 
In order to use Spice you need the following:  
  
*Spice client on your desktop OS  
+
* Spice client on your desktop OS  
*Spice drivers inside your VM (VirtIO, QXL Graphic card drivers)
+
* Spice drivers inside your VM (VirtIO, QXL Graphic card drivers)
  
= SPICE client =
+
== SPICE client ==
  
*Windows: virt-viewer 0.5.6 or higher http://www.spice-space.org/download.html  
+
*Windows: virt-viewer 0.5.6 or higher, http://www.spice-space.org/download.html  
 
*Linux: virt-viewer 0.5.6 or higher
 
*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 =
+
== 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.  
 
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 =
+
== OS specific settings for VM ==
  
== Windows ==
+
=== Windows ===
  
=== Windows 7 32-bit  ===
+
==== Windows 7/8/10 and Windows 2012/2016 ====
  
Fully supported, just install windows guest tools 0.59 or higher (spice-guest-tools-0.59.exe or higher)  
+
Fully supported, just install windows spice guest tools 0.132 or higher (spice-guest-tools-0.132.exe or higher)  
  
 
*http://www.spice-space.org/download.html<br>
 
*http://www.spice-space.org/download.html<br>
  
=== Windows 7 64-bit  ===
+
=== Linux ===
  
No digitally signed drivers packages public available
+
All linux distributions released after 2011 have the necessary qxl driver included as a part of the Xorg package.
  
=== Windows 8 32-bit  ===
+
== Start your SPICE session ==
 
 
No digitally signed drivers packages&nbsp;public available<br>
 
 
 
=== Windows 8 64-bit  ===
 
 
 
No digitally signed drivers packages&nbsp;public available<br>
 
 
 
== Linux  ==
 
 
 
=== Fedora 18 and higher  ===
 
 
 
All drivers are built-in.
 
 
 
=== Debian (7.1 and higher)  ===
 
 
 
=== Ubuntu (12.04 and higher)  ===
 
 
 
= 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.
 
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.
  
Line 67: Line 50:
 
For Firefox, the association must be done manually, as Firefox has his own internal mime type association (See Options/Applications).
 
For Firefox, the association must be done manually, as Firefox has his own internal mime type association (See Options/Applications).
  
= Using client USB devices =
+
== 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.  
 
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.  
+
* enable one or more Spice USB devices in your VM config.  
**usb0: spice  
+
** usb0: spice  
**usb1: spice
+
** usb1: spice
**...
+
** ...
  
= Using Audio =
+
== 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:
+
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 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.
 
In upcoming releases, adding audio devices can be done via GUI.
  
= Trouble Shooting =
+
== 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 =
+
== Video Tutorials ==
  
tbd: [http://www.youtube.com/user/ProxmoxVE Proxmox VE Youtube channel]  
+
* [http://www.youtube.com/user/ProxmoxVE Proxmox VE Youtube channel]  
  
[[Category:HOWTO]] [[Category:Technology]]
+
[[Category:HOWTO]]

Revision as of 07:02, 18 July 2017

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.

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)

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/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)

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 (/etc/pve/qemu-server/XXX.conf, XXX being the VM ID):

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