Now open source: virtual desktop protocol SPICE

EddieC 0 Tallied Votes 390 Views Share

If you've ever remotely operated one computer from another, you've used desktop virtualization. It's been built into Linux, Mac OS X and Windows for years, but recent moves by Red Hat could signal that it's about to go mainstream. The Linux company late last week announced that it was opening the source code for SPICE, the Simple Protocol forIndependent Computing Environment it inherited along with its acquisition of virtualization tools maker Qumranet in 2008.

Once proprietary, SPICE is the transport protocol used by Qumranet's Kernel-based Virtual Machine (KVM), the open-source hypervisor for Linux that has been part the kernel since version 2.6.20. In a statement announcing the move, Red Hat said that opening the protocol's source code to partners and the open source community is intended to "expand the development of the protocol in an effort to help break down barriers to virtualization adoption."

Indeed, for compute-intensive applications that require powerful hardware, deployment options can be somewhat limited. But with a tool that enables computations to take place on a powerful, remote system, deployment of the app's user interface can provide adequate performance even on the thinnest of clients. To learn more, take a look at , a 12-page PDF that does a pretty good job of explaining the technology in layman's terms.

Dani AI

Generated

Practical, up-to-date checklist and quick how‑to for running SPICE with modern libvirt/QEMU stacks. This adds hands‑on setup, a minimal config example, common pitfalls and basic security notes that complement ’s original announcement.

Install and prerequisites: ensure the host’s QEMU/libvirt packages include SPICE support and install a client such as virt‑viewer/remote‑viewer. Linux guests get best results with the QXL display driver plus spice‑vdagent; Windows guests normally use the SPICE Guest Tools bundle plus the virtio serial drivers. Most distributions publish these packages (or sensible equivalents) in their repos; virt‑viewer/remote‑viewer is the recommended viewer for SPICE sessions. (wiki.archlinux.org)

Minimal examples — libvirt XML and a QEMU command line:

<graphics type='spice' autoport='yes'>
  <listen type='address' address='127.0.0.1'/>
</graphics>

<channel type='spicevmc'>
  <target type='virtio' name='com.redhat.spice.0'/>
</channel>

Or with QEMU CLI (simplified):

qemu-system-x86_64 -m 4G -vga qxl \
  -device virtio-serial-pci \
  -chardev spicevmc,id=vdagent,name=vdagent \
  -device virtserialport,chardev=vdagent,name=com.redhat.spice.0 \
  -spice port=5930,addr=127.0.0.1,disable-ticketing=on

Connect with remote-viewer spice://host:5930 or use libvirt/virt‑manager to launch the viewer. (libvirt.org)

Troubleshooting and hardening: if clipboard/resizing fails, verify the guest runs spice‑vdagent and that a virtio‑serial channel exists; Windows often needs the signed virtio‑serial driver installed before the SPICE agent will attach. SELinux or socket permissions can block local UNIX socket listeners; check host logs. Never expose SPICE TCP ports directly to the Internet — use TLS or SSH port‑forwarding, and prefer authentication (do not use disable‑ticketing in hostile networks). Browser launch of .vv files requires associating that mime type with remote‑viewer. (qemu.org)

Further reading: libvirt domain XML, QEMU invocation / -spice options, virt‑manager / virt‑viewer, ArchWiki: QEMU/SPICE notes, SPICE sources & Windows guest tools (GitLab).

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.