spice and desktop virtualization
play

SPICE and desktop virtualization Gerd Hoffmann - PowerPoint PPT Presentation

SPICE and desktop virtualization Gerd Hoffmann <kraxel@redhat.com> Red Hat LinuxTag, May 11th 1 SPICE and desktop virtualization | Gerd Hoffmann What is SPICE S imple P rotocol for I ndependent C omputing E nvironments Virtual


  1. SPICE and desktop virtualization Gerd Hoffmann <kraxel@redhat.com> Red Hat LinuxTag, May 11th 1 SPICE and desktop virtualization | Gerd Hoffmann

  2. What is SPICE ● S imple P rotocol for I ndependent C omputing E nvironments ● Virtual desktop infrastructure ● SPICE network protocol. ● Virtual hardware (QXL). ● Server and client implementations. 2 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 development cycle. 3 SPICE and desktop virtualization | Gerd Hoffmann

  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). ● For desktop virtualization you need more ... 4 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 ● Multihead support. 5 SPICE and desktop virtualization | Gerd Hoffmann

  6. SPICE: QXL graphics adapter ● Virtual PCI Device. VGA framebuffer (8M) ● Two variants, with and bar 0 rendering commands, ram command data without VGA compatibility, for cmd rings, control fields (8k) multihead. surfaces: ● 3D support not yet bar 1 vram offscreen pixmaps available. (textures) bar 2 qxl device info (8k) rom bar 3 initialization + reset io 6 SPICE and desktop virtualization | Gerd Hoffmann

  7. SPICE: QXL rendering QEMU VM QXL spice spice server client display Guest cursor lfb renderer renderer vnc / sdl 7 SPICE and desktop virtualization | Gerd Hoffmann

  8. Wanted: multimedia 8 SPICE and desktop virtualization | Gerd Hoffmann

  9. SPICE: sound + video ● Sound forwarding. ● Video stream support. ● Recognized by screen update patterns. ● Time stamps for synchronization. 9 SPICE and desktop virtualization | Gerd Hoffmann

  10. QEMU: audio devices ● Intel HDA support (merged in 0.14). ● Fix Win7 64bit sound issue. ● Experimental USB audio bits (not merged). 10 SPICE and desktop virtualization | Gerd Hoffmann

  11. Wanted: Desktop Integration. ● Resize guest display. ● Cut+paste. ● Needs guest cooperation. 11 SPICE and desktop virtualization | Gerd Hoffmann

  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. ● Absolute mouse events without USB tablet. 12 SPICE and desktop virtualization | Gerd Hoffmann

  13. Wanted: USB support 13 SPICE and desktop virtualization | Gerd Hoffmann

  14. SPICE: USB forwarding ● Remote USB protocol (currently in development). ● Will also be usable without SPICE. 14 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. ● Improve isochronous xfers support (started in master). 15 SPICE and desktop virtualization | Gerd Hoffmann

  16. Wanted: printing ● Print to the printer next to you, not the one in the server room or data center. 16 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? 17 SPICE and desktop virtualization | Gerd Hoffmann

  18. Big picture: Network protocol & Guest devices QEMU VM Guest vdagent qxl driver standard guest drivers vmc Keyboard ES1370 QXL USB Mouse AC97 (cirrus) Devices virtio-serial Tablet HDA spice server display record smartcard main inputs cursor playback usb forward spice client user's machine 18 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+). ● vinagre supports spice (3.0). 19 SPICE and desktop virtualization | Gerd Hoffmann

  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. Command line options work too. 20 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" 21 SPICE and desktop virtualization | Gerd Hoffmann

  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 $HOME/.spicec/spice_truststore.pem 22 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" 23 SPICE and desktop virtualization | Gerd Hoffmann

  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 http://cgit.freedesktop.org/spice/linux/vd_agent/ 24 SPICE and desktop virtualization | Gerd Hoffmann

  25. Ressources ● http://www.kraxel.org/slides/2011-linuxtag-spice.pdf ● www.spice-space.org ● Wiki, docs, downloads. ● spice-devel@lists.freedesktop.org ● cgit.freedesktop.org ● Most git repositories are in the spice section. ● The X11 qxl driver is in the x.org drivers section. ● http://gitorious.org/spice-gtk 25 SPICE and desktop virtualization | Gerd Hoffmann

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend