• No results found

SPICE and desktop virtualization

N/A
N/A
Protected

Academic year: 2021

Share "SPICE and desktop virtualization"

Copied!
25
0
0

Loading.... (view fulltext now)

Full text

(1)

SPICE and desktop virtualization | Gerd Hoffmann

1

SPICE and desktop virtualization

Gerd Hoffmann <[email protected]>

Red Hat

(2)

What is SPICE

Simple Protocol for Independent Computing

Environments

Virtual desktop infrastructure

● SPICE network protocol. ● Virtual hardware (QXL).

(3)

SPICE and desktop virtualization | Gerd Hoffmann

3

SPICE history

● Created by Qumranet.

● Startup company which created KVM. ● Acquired by Red Hat.

● freedesktop.org project since January 2010.

● SPICE support merged into qemu during 0.14

(4)

Server and desktop virtualization

● Server virtualization is commonplace these days, every

hoster has offers.

● Virtual machine.

● CPU & memory. ● Storage.

● Network.

● Administrator access.

● Text mode (ssh, serial line). ● Low end graphics (vnc).

(5)

SPICE and desktop virtualization | Gerd Hoffmann

5

Wanted: better graphics

● Powerful graphics

● ideally 3D which is good enough for desktop effects.

● gnome shell ● windows aero

(6)

SPICE: QXL graphics adapter

● Virtual PCI Device.

● Two variants, with and

without VGA

compatibility, for multihead.

● 3D support not yet

available.

VGA framebuffer (8M)

cmd rings, control fields (8k) bar 0

ram rendering commands, command data bar 1 vram surfaces: offscreen pixmaps (textures) bar 2

rom qxl device info (8k) bar 3

(7)

SPICE and desktop virtualization | Gerd Hoffmann 7

SPICE: QXL rendering

QEMU VM Guest spice client QXL spice server display cursor lfb renderer renderer vnc / sdl

(8)
(9)

SPICE and desktop virtualization | Gerd Hoffmann

9

SPICE: sound + video

● Sound forwarding.

● Video stream support.

● Recognized by screen update patterns.

(10)

QEMU: audio devices

● Intel HDA support (merged in 0.14).

● Fix Win7 64bit sound issue.

(11)

SPICE and desktop virtualization | Gerd Hoffmann

11

Wanted: Desktop Integration.

● Resize guest display.

● Cut+paste.

(12)

SPICE: vm channel & guest agent

● Channel between guest and spice client.

● Nowdays a virtio-serial port. ● Used to be a PCI device.

● Provides additional features when the agent is installed

and active in the guest.

● Guest Display configuration (including multihead). ● Cut+paste support.

(13)

SPICE and desktop virtualization | Gerd Hoffmann

13

(14)

SPICE: USB forwarding

● Remote USB protocol (currently in development).

(15)

SPICE and desktop virtualization | Gerd Hoffmann

15

QEMU: USB needs some love

● Add physical port handling (started in 0.14).

● savevm / migration support (started in 0.14).

● Remote wake-up support (merged in 0.14).

● Fix CPU burning. ● Needs guest help.

● Get ready for USB 2.0 and 3.0 (started in 0.14).

● Fix, improve and cleanup the USB subsystem. ● Finally merge EHCI support.

(16)

Wanted: printing

● Print to the printer next to you, not the one in the

(17)

SPICE and desktop virtualization | Gerd Hoffmann

17

SPICE: network tunneling

● Allow guests to access network ressources (i.e.

printers) in the client network.

● Experimental, off by default.

● Configuration & Security issues.

● Need to check out other options.

● USB Printer? ● Cloud printing?

(18)

Big picture: Network protocol & Guest devices

QEMU VM spice client QXL (cirrus) virtio-serial ES1370 AC97 HDA Keyboard Mouse Tablet USB Devices vmc Guest

vdagent qxl driver standard guest drivers

display

cursor inputs playbackrecord usb forwardsmartcard

spice server

(19)

SPICE and desktop virtualization | Gerd Hoffmann

19

Integrate SPICE

● New spice-gtk client project.

● libraries with glib objects and gtk widgets. ● gtk-based client application “spicy”.

● virt-manager supports spice (0.8.7+).

(20)

Getting started

● Easy way: Fedora 15 & virt-manager.

● Starting qemu + client manually:

● qemu command line:

qemu -vga qxl -usbdevice tablet \

-spice port=1234,disable-ticketing

● classic spice client command line:

spicec -h localhost -p 1234

● spicy: Just start it, comes up with a dialog.

(21)

SPICE and desktop virtualization | Gerd Hoffmann

21

Enable TLS, server side

● qemu -readconfig spice.cfg

[spice] port = "5920" # disable-ticketing = "on" password = "secret" tls-port = "5921" x509-cacert-file = "/home/kraxel/mini-ca/data/ca.crt" x509-cert-file = "/home/kraxel/mini-ca/rincewind.crt" x509-key-file = "/home/kraxel/mini-ca/rincewind.key" tls-channel = "main" tls-channel = "inputs" plaintext-channel = "display"

(22)

Enable TLS, client side

● spicy -h rincewind.home.kraxel.org \

-p 5920 -s 5921 -w secret \

--ca-file /home/kraxel/mini-ca/data/ca.crt

● CA certificate can also be copyed / symlinked to

(23)

SPICE and desktop virtualization | Gerd Hoffmann

23

Enable agent, qemu config

● qemu -readconfig vmchannel.cfg

[chardev "vmchannel"] backend = "spicevmc" name = "vdagent" [device] driver = "virtio-serial" [device] driver = "virtserialport" name = "com.redhat.spice.0" chardev = "vmchannel"

(24)

Enable agent, guest setup

● Windows

● Fetch vdagent.zip from spice-space.org, unpack

somewhere.

● Run vdservice install

● Fedora 14+15, RHEL 6.1

● yum install spice-vdagent

● Other Linux guests:

● Get the bits from

(25)

SPICE and desktop virtualization | Gerd Hoffmann

25

Ressources

● http://www.kraxel.org/slides/2011-linuxtag-spice.pdf

● www.spice-space.org

● Wiki, docs, downloads.

[email protected]

● cgit.freedesktop.org

● Most git repositories are in the spice section.

● The X11 qxl driver is in the x.org drivers section.

References

Related documents

HCCD = RSMeans Heavy Construction Cost Data 2006, adjusted for inflation BCCD = RSMeans Building Construction Cost Data 2005, adjusted for inflation ERCD = RSMeans

Customer relationship has a broader context than classical customers, not only it represents the customer model, it also represents multiple organizations and multiple

The net results will then be that the hazard function decreases with the duration of unemployment, which means that the longer an individual is unemployed the lower is the

• Neonatal Encephalopathy and Cerebral Palsy: Defining the Pathogenesis and Pathophysiology.. • Large Panel

'nthon&#34;, ho as himself a pederast ho as tried for his relationship ith a page and narrol&#34; escaped punishment at the hands of the French legal s&#34;stem)

– SPICE adds analysis commands on top of SPICE file allowing a SPICE simulation to extract information out of circuit (Transient, AC, Monte Carlo etc…).. • Variety of native

Every variable is conditionally independent of all other variables given its

The data used in this paper are from the National Economic Consensuses and compiled by National Bureau of Statistics of China (NBS). The general industry statistics and